From 6b09c270a0c1696e3767e23b20851431e3bebd23 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 29 Nov 2022 11:56:21 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=201.7.12=20-Dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/util/funcoesApl.php | 6 +- include/util/funcoesInternas.php | 1 + master.css | 128 +- .../callcenter/metas/metricasMensal.php | 4 +- scriptApl/chart.js/LICENSE.md | 9 + scriptApl/chart.js/README.md | 38 + scriptApl/chart.js/auto/auto.js | 1 + scriptApl/chart.js/auto/auto.mjs | 5 + scriptApl/chart.js/auto/auto.mts | 4 + scriptApl/chart.js/auto/package.json | 8 + scriptApl/chart.js/dist/chart.esm.js | 10761 ++++++++++++ scriptApl/chart.js/dist/chart.js | 13525 ++++++++++++++++ scriptApl/chart.js/dist/chart.min.js | 13 + scriptApl/chart.js/dist/chart.mjs | 10761 ++++++++++++ .../chart.js/dist/chunks/helpers.segment.js | 2619 +++ .../chart.js/dist/chunks/helpers.segment.mjs | 2619 +++ scriptApl/chart.js/dist/docs/404.html | 17 + .../dist/docs/api/classes/Animation.html | 53 + .../dist/docs/api/classes/Animations.html | 53 + .../dist/docs/api/classes/Animator.html | 53 + .../dist/docs/api/classes/BasePlatform.html | 55 + .../dist/docs/api/classes/BasicPlatform.html | 55 + .../chart.js/dist/docs/api/classes/Chart.html | 53 + .../docs/api/classes/DatasetController.html | 53 + .../dist/docs/api/classes/DomPlatform.html | 55 + .../chart.js/dist/docs/api/classes/Scale.html | 58 + .../docs/api/enums/DecimationAlgorithm.html | 53 + .../dist/docs/api/enums/UpdateModeEnum.html | 53 + scriptApl/chart.js/dist/docs/api/index.html | 49 + .../docs/api/interfaces/ActiveDataPoint.html | 53 + .../docs/api/interfaces/ActiveElement.html | 53 + .../docs/api/interfaces/AnimationEvent.html | 53 + .../docs/api/interfaces/ArcBorderRadius.html | 53 + .../dist/docs/api/interfaces/ArcElement.html | 53 + .../docs/api/interfaces/ArcHoverOptions.html | 53 + .../dist/docs/api/interfaces/ArcOptions.html | 53 + .../dist/docs/api/interfaces/ArcProps.html | 53 + .../interfaces/BarControllerChartOptions.html | 53 + .../BarControllerDatasetOptions.html | 54 + .../dist/docs/api/interfaces/BarElement.html | 53 + .../docs/api/interfaces/BarHoverOptions.html | 53 + .../dist/docs/api/interfaces/BarOptions.html | 54 + .../dist/docs/api/interfaces/BarProps.html | 53 + .../docs/api/interfaces/BorderRadius.html | 53 + .../BubbleControllerDatasetOptions.html | 53 + .../docs/api/interfaces/BubbleDataPoint.html | 53 + .../api/interfaces/CartesianScaleOptions.html | 53 + .../CartesianScaleTypeRegistry.html | 53 + .../dist/docs/api/interfaces/ChartArea.html | 53 + .../docs/api/interfaces/ChartComponent.html | 53 + .../api/interfaces/ChartConfiguration.html | 53 + ...artConfigurationCustomTypesPerDataset.html | 53 + .../dist/docs/api/interfaces/ChartData.html | 55 + .../ChartDataCustomTypesPerDataset.html | 53 + .../interfaces/ChartDatasetProperties.html | 53 + ...atasetPropertiesCustomTypesPerDataset.html | 53 + .../dist/docs/api/interfaces/ChartEvent.html | 53 + .../api/interfaces/ChartTypeRegistry.html | 53 + .../api/interfaces/CommonElementOptions.html | 53 + .../api/interfaces/CommonHoverOptions.html | 53 + .../api/interfaces/ComplexFillTarget.html | 53 + .../interfaces/ControllerDatasetOptions.html | 53 + .../docs/api/interfaces/CoreChartOptions.html | 53 + .../interfaces/CoreInteractionOptions.html | 53 + .../docs/api/interfaces/CoreScaleOptions.html | 53 + .../DatasetControllerChartComponent.html | 53 + .../dist/docs/api/interfaces/DateAdapter.html | 54 + .../dist/docs/api/interfaces/Defaults.html | 56 + .../interfaces/DoughnutAnimationOptions.html | 53 + .../api/interfaces/DoughnutController.html | 53 + .../DoughnutControllerChartOptions.html | 54 + .../DoughnutControllerDatasetOptions.html | 54 + .../interfaces/DoughnutMetaExtensions.html | 53 + .../dist/docs/api/interfaces/Element.html | 53 + .../api/interfaces/ElementOptionsByType.html | 53 + .../docs/api/interfaces/ExtendedPlugin.html | 55 + .../FillerControllerDatasetOptions.html | 53 + .../docs/api/interfaces/FillerOptions.html | 53 + .../dist/docs/api/interfaces/FontSpec.html | 53 + .../docs/api/interfaces/GridLineOptions.html | 53 + .../docs/api/interfaces/InteractionItem.html | 53 + .../api/interfaces/InteractionModeMap.html | 56 + .../api/interfaces/InteractionOptions.html | 53 + .../dist/docs/api/interfaces/LayoutItem.html | 53 + .../docs/api/interfaces/LegendElement.html | 53 + .../dist/docs/api/interfaces/LegendItem.html | 54 + .../docs/api/interfaces/LegendOptions.html | 53 + .../LineControllerChartOptions.html | 53 + .../LineControllerDatasetOptions.html | 53 + .../dist/docs/api/interfaces/LineElement.html | 53 + .../docs/api/interfaces/LineHoverOptions.html | 53 + .../dist/docs/api/interfaces/LineOptions.html | 53 + .../dist/docs/api/interfaces/LineProps.html | 53 + .../docs/api/interfaces/ParsingOptions.html | 53 + .../dist/docs/api/interfaces/Plugin.html | 76 + .../api/interfaces/PluginChartOptions.html | 53 + .../api/interfaces/PluginOptionsByType.html | 53 + .../dist/docs/api/interfaces/Point.html | 53 + .../docs/api/interfaces/PointElement.html | 53 + .../api/interfaces/PointHoverOptions.html | 53 + .../docs/api/interfaces/PointOptions.html | 53 + .../interfaces/PointPrefixedHoverOptions.html | 53 + .../api/interfaces/PointPrefixedOptions.html | 53 + .../dist/docs/api/interfaces/PointProps.html | 53 + .../api/interfaces/PolarAreaController.html | 53 + .../PolarAreaControllerChartOptions.html | 53 + .../PolarAreaControllerDatasetOptions.html | 54 + .../RadarControllerDatasetOptions.html | 53 + .../api/interfaces/RadialLinearScale.html | 58 + .../interfaces/RadialScaleTypeRegistry.html | 53 + .../dist/docs/api/interfaces/Registry.html | 54 + .../api/interfaces/ScaleTypeRegistry.html | 53 + .../docs/api/interfaces/ScatterDataPoint.html | 53 + .../ScriptableCartesianScaleContext.html | 53 + .../interfaces/ScriptableChartContext.html | 53 + .../api/interfaces/ScriptableContext.html | 53 + .../ScriptableLineSegmentContext.html | 53 + .../interfaces/ScriptableScaleContext.html | 53 + .../ScriptableScalePointLabelContext.html | 53 + .../interfaces/ScriptableTooltipContext.html | 53 + .../dist/docs/api/interfaces/Segment.html | 53 + .../dist/docs/api/interfaces/Tick.html | 53 + .../dist/docs/api/interfaces/TickOptions.html | 53 + .../dist/docs/api/interfaces/TimeScale.html | 58 + .../docs/api/interfaces/TitleOptions.html | 54 + .../dist/docs/api/interfaces/Tooltip.html | 76 + .../docs/api/interfaces/TooltipCallbacks.html | 53 + .../dist/docs/api/interfaces/TooltipItem.html | 53 + .../api/interfaces/TooltipLabelStyle.html | 53 + .../docs/api/interfaces/TooltipModel.html | 53 + .../docs/api/interfaces/TooltipOptions.html | 53 + .../docs/api/interfaces/TooltipPosition.html | 53 + .../api/interfaces/TooltipPositionerMap.html | 53 + .../docs/api/interfaces/TypedRegistry.html | 53 + .../docs/api/interfaces/VisualElement.html | 49 + .../docs/assets/css/0.styles.7d07a4d1.css | 1 + .../assets/img/destroy_flowchart.10814816.png | Bin 0 -> 18626 bytes .../assets/img/event_flowchart.83015c7a.png | Bin 0 -> 38182 bytes .../assets/img/init_flowchart.ee5be600.png | Bin 0 -> 25160 bytes .../assets/img/render_flowchart.41a98316.png | Bin 0 -> 102359 bytes .../assets/img/scale_flowchart.fa1ab63e.png | Bin 0 -> 58555 bytes .../dist/docs/assets/img/search.83621669.svg | 1 + .../assets/img/update_flowchart.0556691d.png | Bin 0 -> 97217 bytes .../dist/docs/assets/js/10.edbecfa9.js | 1 + .../dist/docs/assets/js/100.f7a12d8b.js | 1 + .../dist/docs/assets/js/101.15c56dbb.js | 1 + .../dist/docs/assets/js/102.33b746ea.js | 1 + .../dist/docs/assets/js/103.850a4486.js | 1 + .../dist/docs/assets/js/104.8b4f368b.js | 1 + .../dist/docs/assets/js/105.1a3d6c41.js | 1 + .../dist/docs/assets/js/106.d8f8b4c1.js | 1 + .../dist/docs/assets/js/107.38cf9b4f.js | 1 + .../dist/docs/assets/js/108.a30da8c9.js | 1 + .../dist/docs/assets/js/109.6d56b7d1.js | 1 + .../dist/docs/assets/js/11.b98e8151.js | 1 + .../dist/docs/assets/js/110.c44e533c.js | 1 + .../dist/docs/assets/js/111.ccb9a835.js | 1 + .../dist/docs/assets/js/112.2d2a2890.js | 1 + .../dist/docs/assets/js/113.5ac0921f.js | 1 + .../dist/docs/assets/js/114.90ef8814.js | 1 + .../dist/docs/assets/js/115.12a72d27.js | 1 + .../dist/docs/assets/js/116.6b780970.js | 1 + .../dist/docs/assets/js/117.79604442.js | 1 + .../dist/docs/assets/js/118.7752bc89.js | 1 + .../dist/docs/assets/js/119.d8e76ef0.js | 1 + .../dist/docs/assets/js/12.433f0c7e.js | 1 + .../dist/docs/assets/js/120.ed76595e.js | 1 + .../dist/docs/assets/js/121.cc3d56f2.js | 1 + .../dist/docs/assets/js/122.c8651871.js | 1 + .../dist/docs/assets/js/123.f7d5f223.js | 1 + .../dist/docs/assets/js/124.88ce07a4.js | 1 + .../dist/docs/assets/js/125.a9572036.js | 1 + .../dist/docs/assets/js/126.879447b3.js | 1 + .../dist/docs/assets/js/127.3b8478f3.js | 1 + .../dist/docs/assets/js/128.87d67ad7.js | 1 + .../dist/docs/assets/js/129.f6241700.js | 1 + .../dist/docs/assets/js/13.b6743084.js | 1 + .../dist/docs/assets/js/130.a9cb856a.js | 1 + .../dist/docs/assets/js/131.45e904c9.js | 1 + .../dist/docs/assets/js/132.abd9e4c2.js | 1 + .../dist/docs/assets/js/133.d5aa1db6.js | 1 + .../dist/docs/assets/js/134.4bfa3b5a.js | 1 + .../dist/docs/assets/js/135.8c7630ad.js | 1 + .../dist/docs/assets/js/136.f813e062.js | 1 + .../dist/docs/assets/js/137.6cab2863.js | 1 + .../dist/docs/assets/js/138.03ec5265.js | 1 + .../dist/docs/assets/js/139.924812c0.js | 1 + .../dist/docs/assets/js/14.422fec10.js | 1 + .../dist/docs/assets/js/140.a7967a5d.js | 1 + .../dist/docs/assets/js/141.34a018bb.js | 1 + .../dist/docs/assets/js/142.c5bfcdd4.js | 1 + .../dist/docs/assets/js/143.05e388ba.js | 1 + .../dist/docs/assets/js/144.a98bdbcc.js | 1 + .../dist/docs/assets/js/145.826b73e0.js | 1 + .../dist/docs/assets/js/146.001afadf.js | 1 + .../dist/docs/assets/js/147.fcadaef3.js | 1 + .../dist/docs/assets/js/148.604863a4.js | 1 + .../dist/docs/assets/js/149.6509ed9f.js | 1 + .../dist/docs/assets/js/15.09a69fc3.js | 1 + .../dist/docs/assets/js/150.fd8575ca.js | 1 + .../dist/docs/assets/js/151.67ecd4a3.js | 1 + .../dist/docs/assets/js/152.481a7bd4.js | 1 + .../dist/docs/assets/js/153.dbf3f3aa.js | 1 + .../dist/docs/assets/js/154.2aa9c67d.js | 1 + .../dist/docs/assets/js/155.e3367ebc.js | 1 + .../dist/docs/assets/js/156.a5bb942d.js | 1 + .../dist/docs/assets/js/157.09caef4e.js | 1 + .../dist/docs/assets/js/158.1f82587f.js | 1 + .../dist/docs/assets/js/159.4cebd9d3.js | 1 + .../dist/docs/assets/js/16.0414f390.js | 1 + .../dist/docs/assets/js/160.47df8215.js | 1 + .../dist/docs/assets/js/161.fac79692.js | 1 + .../dist/docs/assets/js/162.9f2f870f.js | 1 + .../dist/docs/assets/js/163.4f1604f9.js | 1 + .../dist/docs/assets/js/164.7f8d8643.js | 1 + .../dist/docs/assets/js/165.fe2baa69.js | 1 + .../dist/docs/assets/js/166.c82b3c76.js | 1 + .../dist/docs/assets/js/167.3c3f2ff1.js | 1 + .../dist/docs/assets/js/168.8d2e8e83.js | 1 + .../dist/docs/assets/js/169.b10c84bd.js | 1 + .../dist/docs/assets/js/17.8dfcb176.js | 1 + .../dist/docs/assets/js/170.b9db8312.js | 1 + .../dist/docs/assets/js/171.2480fc36.js | 1 + .../dist/docs/assets/js/172.81c5206a.js | 1 + .../dist/docs/assets/js/173.477dcbae.js | 1 + .../dist/docs/assets/js/174.05398ca3.js | 1 + .../dist/docs/assets/js/175.84ab69d0.js | 1 + .../dist/docs/assets/js/176.f48183c3.js | 1 + .../dist/docs/assets/js/177.d0d35403.js | 1 + .../dist/docs/assets/js/178.55d433fd.js | 1 + .../dist/docs/assets/js/179.9442c138.js | 1 + .../dist/docs/assets/js/18.c331029e.js | 1 + .../dist/docs/assets/js/180.5c15d5d4.js | 1 + .../dist/docs/assets/js/181.911f367b.js | 1 + .../dist/docs/assets/js/182.72f663e8.js | 1 + .../dist/docs/assets/js/183.22b2258c.js | 1 + .../dist/docs/assets/js/184.15b21065.js | 1 + .../dist/docs/assets/js/185.894ea40b.js | 1 + .../dist/docs/assets/js/186.f6394459.js | 1 + .../dist/docs/assets/js/187.7bd9b3fe.js | 1 + .../dist/docs/assets/js/188.3baa9bcd.js | 1 + .../dist/docs/assets/js/189.18e63b11.js | 1 + .../dist/docs/assets/js/19.13bdd658.js | 1 + .../dist/docs/assets/js/190.b7ffb54a.js | 1 + .../dist/docs/assets/js/191.13061aba.js | 1 + .../dist/docs/assets/js/192.1bf9bd61.js | 1 + .../dist/docs/assets/js/193.8fa44455.js | 1 + .../dist/docs/assets/js/194.49c9a3c0.js | 1 + .../dist/docs/assets/js/195.eb1e8802.js | 1 + .../dist/docs/assets/js/196.9b925823.js | 1 + .../dist/docs/assets/js/197.adca6c8c.js | 1 + .../dist/docs/assets/js/198.2ae0961a.js | 1 + .../dist/docs/assets/js/199.cd9dca80.js | 1 + .../dist/docs/assets/js/2.3e2307f3.js | 1 + .../dist/docs/assets/js/20.5d11c294.js | 1 + .../dist/docs/assets/js/200.2eb9437f.js | 1 + .../dist/docs/assets/js/201.6dba10c3.js | 1 + .../dist/docs/assets/js/202.9c5057c6.js | 1 + .../dist/docs/assets/js/203.98a3c2b8.js | 1 + .../dist/docs/assets/js/204.50d5cf2e.js | 1 + .../dist/docs/assets/js/205.e56e820b.js | 1 + .../dist/docs/assets/js/206.6ce5c41e.js | 1 + .../dist/docs/assets/js/207.8aa83d91.js | 1 + .../dist/docs/assets/js/208.296ee160.js | 1 + .../dist/docs/assets/js/209.13279349.js | 1 + .../dist/docs/assets/js/21.7b54d7d8.js | 1 + .../dist/docs/assets/js/210.63e30420.js | 1 + .../dist/docs/assets/js/211.0b325f23.js | 1 + .../dist/docs/assets/js/212.be671e2e.js | 1 + .../dist/docs/assets/js/213.81d2e607.js | 1 + .../dist/docs/assets/js/214.ba403b5c.js | 1 + .../dist/docs/assets/js/215.2efcec5f.js | 1 + .../dist/docs/assets/js/216.e01d3100.js | 1 + .../dist/docs/assets/js/217.906c8d54.js | 1 + .../dist/docs/assets/js/218.94e33827.js | 1 + .../dist/docs/assets/js/219.21c5e01f.js | 1 + .../dist/docs/assets/js/22.c2daedd0.js | 1 + .../dist/docs/assets/js/220.3ba160e4.js | 1 + .../dist/docs/assets/js/221.5c17138c.js | 1 + .../dist/docs/assets/js/222.aea004ce.js | 1 + .../dist/docs/assets/js/223.cbb7b883.js | 1 + .../dist/docs/assets/js/224.b130b37f.js | 1 + .../dist/docs/assets/js/225.32f90319.js | 1 + .../dist/docs/assets/js/226.8c102c21.js | 1 + .../dist/docs/assets/js/227.b3d60339.js | 1 + .../dist/docs/assets/js/228.72f0ad18.js | 1 + .../dist/docs/assets/js/229.3daa3b7e.js | 1 + .../dist/docs/assets/js/23.2c668e20.js | 1 + .../dist/docs/assets/js/230.7e5a85b1.js | 1 + .../dist/docs/assets/js/231.b83d12f1.js | 1 + .../dist/docs/assets/js/232.e902f42d.js | 1 + .../dist/docs/assets/js/233.b4f254c0.js | 1 + .../dist/docs/assets/js/234.d975df48.js | 1 + .../dist/docs/assets/js/235.71a7be7d.js | 1 + .../dist/docs/assets/js/236.05d87a5e.js | 1 + .../dist/docs/assets/js/237.d518e28b.js | 1 + .../dist/docs/assets/js/238.eb60e397.js | 1 + .../dist/docs/assets/js/239.81fecfed.js | 1 + .../dist/docs/assets/js/24.af200d5b.js | 1 + .../dist/docs/assets/js/240.c0869bc2.js | 1 + .../dist/docs/assets/js/241.59dc896f.js | 1 + .../dist/docs/assets/js/242.6d423d39.js | 1 + .../dist/docs/assets/js/243.a355eaa8.js | 1 + .../dist/docs/assets/js/244.ad729cf8.js | 1 + .../dist/docs/assets/js/245.c3cd6bbe.js | 1 + .../dist/docs/assets/js/246.d0708528.js | 1 + .../dist/docs/assets/js/247.13d65d78.js | 1 + .../dist/docs/assets/js/248.1d222543.js | 1 + .../dist/docs/assets/js/249.2d7a9bf1.js | 1 + .../dist/docs/assets/js/25.4f97f63f.js | 1 + .../dist/docs/assets/js/250.09ef38e2.js | 1 + .../dist/docs/assets/js/251.0cb90e8a.js | 1 + .../dist/docs/assets/js/252.2ff0def4.js | 1 + .../dist/docs/assets/js/253.61c7c505.js | 1 + .../dist/docs/assets/js/254.20137eeb.js | 1 + .../dist/docs/assets/js/255.49c937e9.js | 1 + .../dist/docs/assets/js/256.8d709dae.js | 1 + .../dist/docs/assets/js/257.b3ebdce7.js | 1 + .../dist/docs/assets/js/258.792f66d1.js | 1 + .../dist/docs/assets/js/259.98c809e9.js | 1 + .../dist/docs/assets/js/26.d1bb645c.js | 1 + .../dist/docs/assets/js/260.54ff10d2.js | 1 + .../dist/docs/assets/js/261.928afea4.js | 1 + .../dist/docs/assets/js/27.2d5c4a6b.js | 1 + .../dist/docs/assets/js/28.72dee0f1.js | 1 + .../dist/docs/assets/js/29.8820be26.js | 1 + .../dist/docs/assets/js/3.947b8d98.js | 14 + .../dist/docs/assets/js/30.343676b8.js | 1 + .../dist/docs/assets/js/31.cff089f1.js | 1 + .../dist/docs/assets/js/32.56d8546e.js | 1 + .../dist/docs/assets/js/33.6b642a06.js | 1 + .../dist/docs/assets/js/34.360a9ea9.js | 1 + .../dist/docs/assets/js/35.205d7fac.js | 1 + .../dist/docs/assets/js/36.f2765bae.js | 1 + .../dist/docs/assets/js/37.6c33435e.js | 1 + .../dist/docs/assets/js/38.a778a6a2.js | 1 + .../dist/docs/assets/js/39.7dda160f.js | 1 + .../dist/docs/assets/js/4.ee88d25a.js | 1 + .../dist/docs/assets/js/40.bd778eac.js | 1 + .../dist/docs/assets/js/41.b79220f6.js | 1 + .../dist/docs/assets/js/42.c3157beb.js | 1 + .../dist/docs/assets/js/43.097368d1.js | 1 + .../dist/docs/assets/js/44.2515f16e.js | 1 + .../dist/docs/assets/js/45.d5b4b7c3.js | 1 + .../dist/docs/assets/js/46.bbab8d6e.js | 1 + .../dist/docs/assets/js/47.79aa575e.js | 1 + .../dist/docs/assets/js/48.45785af9.js | 1 + .../dist/docs/assets/js/49.0569a6eb.js | 1 + .../dist/docs/assets/js/5.00f814ac.js | 1 + .../dist/docs/assets/js/50.14bd3ba2.js | 1 + .../dist/docs/assets/js/51.e0968711.js | 1 + .../dist/docs/assets/js/52.fe65ddf8.js | 1 + .../dist/docs/assets/js/53.faa1ff3f.js | 1 + .../dist/docs/assets/js/54.fcfed2c5.js | 1 + .../dist/docs/assets/js/55.7db1d28a.js | 1 + .../dist/docs/assets/js/56.8b0e82b7.js | 1 + .../dist/docs/assets/js/57.9de2d983.js | 1 + .../dist/docs/assets/js/58.b0f8ad0c.js | 1 + .../dist/docs/assets/js/59.f1ff4935.js | 1 + .../dist/docs/assets/js/6.2bc86161.js | 1 + .../dist/docs/assets/js/60.ac08de9a.js | 1 + .../dist/docs/assets/js/61.ea4fad75.js | 1 + .../dist/docs/assets/js/62.5c85853b.js | 1 + .../dist/docs/assets/js/63.5ac99656.js | 1 + .../dist/docs/assets/js/64.c6838e95.js | 1 + .../dist/docs/assets/js/65.4c1b089e.js | 1 + .../dist/docs/assets/js/66.379a6b45.js | 1 + .../dist/docs/assets/js/67.15703e17.js | 1 + .../dist/docs/assets/js/68.ffdefd7d.js | 1 + .../dist/docs/assets/js/69.bdeb7b9b.js | 1 + .../dist/docs/assets/js/7.74f2ce90.js | 1 + .../dist/docs/assets/js/70.3dadb5ed.js | 1 + .../dist/docs/assets/js/71.2c97fe38.js | 1 + .../dist/docs/assets/js/72.dc778e17.js | 1 + .../dist/docs/assets/js/73.d88fcb57.js | 1 + .../dist/docs/assets/js/74.bba2165e.js | 1 + .../dist/docs/assets/js/75.15562a81.js | 1 + .../dist/docs/assets/js/76.21f5a94e.js | 1 + .../dist/docs/assets/js/77.0725268e.js | 1 + .../dist/docs/assets/js/78.d6f610d1.js | 1 + .../dist/docs/assets/js/79.60d67faa.js | 1 + .../dist/docs/assets/js/8.8928eb8b.js | 1 + .../dist/docs/assets/js/80.99d71ee0.js | 1 + .../dist/docs/assets/js/81.f1500469.js | 1 + .../dist/docs/assets/js/82.69f363a6.js | 1 + .../dist/docs/assets/js/83.f1fbcb2c.js | 1 + .../dist/docs/assets/js/84.b76e3156.js | 1 + .../dist/docs/assets/js/85.efc4bd54.js | 1 + .../dist/docs/assets/js/86.85011b24.js | 1 + .../dist/docs/assets/js/87.6a88d571.js | 1 + .../dist/docs/assets/js/88.0f45cfe0.js | 1 + .../dist/docs/assets/js/89.e67ddb59.js | 1 + .../dist/docs/assets/js/9.63ebb16b.js | 1 + .../dist/docs/assets/js/90.96ebfa9b.js | 1 + .../dist/docs/assets/js/91.cdde4d3f.js | 1 + .../dist/docs/assets/js/92.dc3f06d2.js | 1 + .../dist/docs/assets/js/93.aaa04d52.js | 1 + .../dist/docs/assets/js/94.2af5650c.js | 1 + .../dist/docs/assets/js/95.1d44ec16.js | 1 + .../dist/docs/assets/js/96.9545127d.js | 1 + .../dist/docs/assets/js/97.8b18f487.js | 1 + .../dist/docs/assets/js/98.cb259cd0.js | 1 + .../dist/docs/assets/js/99.6251650a.js | 1 + .../dist/docs/assets/js/app.7e0dc8c8.js | 54 + .../chart.js/dist/docs/axes/_common.html | 45 + .../dist/docs/axes/_common_ticks.html | 45 + .../dist/docs/axes/cartesian/_common.html | 45 + .../docs/axes/cartesian/_common_ticks.html | 45 + .../dist/docs/axes/cartesian/category.html | 88 + .../dist/docs/axes/cartesian/index.html | 398 + .../dist/docs/axes/cartesian/linear.html | 111 + .../dist/docs/axes/cartesian/logarithmic.html | 53 + .../dist/docs/axes/cartesian/time.html | 123 + .../dist/docs/axes/cartesian/timeseries.html | 64 + scriptApl/chart.js/dist/docs/axes/index.html | 124 + .../chart.js/dist/docs/axes/labelling.html | 72 + .../chart.js/dist/docs/axes/radial/index.html | 245 + .../dist/docs/axes/radial/linear.html | 86 + .../chart.js/dist/docs/axes/styling.html | 53 + scriptApl/chart.js/dist/docs/charts/area.html | 99 + scriptApl/chart.js/dist/docs/charts/bar.html | 255 + .../chart.js/dist/docs/charts/bubble.html | 101 + .../chart.js/dist/docs/charts/doughnut.html | 148 + .../chart.js/dist/docs/charts/index.html | 38 + scriptApl/chart.js/dist/docs/charts/line.html | 179 + .../chart.js/dist/docs/charts/mixed.html | 151 + .../chart.js/dist/docs/charts/polar.html | 115 + .../chart.js/dist/docs/charts/radar.html | 157 + .../chart.js/dist/docs/charts/scatter.html | 123 + .../dist/docs/configuration/animations.html | 216 + .../docs/configuration/canvas-background.html | 200 + .../dist/docs/configuration/decimation.html | 53 + .../configuration/device-pixel-ratio.html | 53 + .../dist/docs/configuration/elements.html | 54 + .../dist/docs/configuration/index.html | 96 + .../dist/docs/configuration/interactions.html | 206 + .../dist/docs/configuration/layout.html | 53 + .../dist/docs/configuration/legend.html | 143 + .../dist/docs/configuration/locale.html | 53 + .../dist/docs/configuration/responsive.html | 69 + .../dist/docs/configuration/subtitle.html | 65 + .../dist/docs/configuration/title.html | 81 + .../dist/docs/configuration/tooltip.html | 282 + .../chart.js/dist/docs/developers/api.html | 104 + .../chart.js/dist/docs/developers/axes.html | 134 + .../chart.js/dist/docs/developers/charts.html | 128 + .../dist/docs/developers/contributing.html | 60 + .../chart.js/dist/docs/developers/index.html | 56 + .../dist/docs/developers/plugins.html | 119 + .../dist/docs/developers/publishing.html | 64 + .../dist/docs/developers/updates.html | 112 + scriptApl/chart.js/dist/docs/favicon.ico | Bin 0 -> 32988 bytes .../dist/docs/general/accessibility.html | 59 + .../chart.js/dist/docs/general/colors.html | 80 + .../dist/docs/general/data-structures.html | 149 + .../chart.js/dist/docs/general/fonts.html | 70 + .../chart.js/dist/docs/general/index.html | 38 + .../chart.js/dist/docs/general/options.html | 73 + .../chart.js/dist/docs/general/padding.html | 89 + .../dist/docs/general/performance.html | 135 + .../dist/docs/getting-started/index.html | 131 + .../docs/getting-started/installation.html | 54 + .../docs/getting-started/integration.html | 140 + .../dist/docs/getting-started/usage.html | 97 + .../docs/getting-started/v3-migration.html | 144 + scriptApl/chart.js/dist/docs/index.html | 87 + scriptApl/chart.js/dist/docs/logo.png | Bin 0 -> 4895 bytes scriptApl/chart.js/dist/docs/logo.svg | 14 + .../samples/advanced/data-decimation.html | 227 + .../samples/advanced/derived-axis-type.html | 168 + .../samples/advanced/derived-chart-type.html | 136 + .../samples/advanced/linear-gradient.html | 219 + .../samples/advanced/programmatic-events.html | 209 + .../docs/samples/advanced/progress-bar.html | 277 + .../samples/advanced/radial-gradient.html | 233 + .../dist/docs/samples/animations/delay.html | 175 + .../dist/docs/samples/animations/drop.html | 259 + .../dist/docs/samples/animations/loop.html | 259 + .../animations/progressive-line-easing.html | 351 + .../samples/animations/progressive-line.html | 197 + .../docs/samples/area/line-boundaries.html | 247 + .../dist/docs/samples/area/line-datasets.html | 333 + .../dist/docs/samples/area/line-drawtime.html | 237 + .../dist/docs/samples/area/line-stacked.html | 353 + .../dist/docs/samples/area/radar.html | 287 + .../dist/docs/samples/bar/border-radius.html | 159 + .../dist/docs/samples/bar/floating.html | 155 + .../dist/docs/samples/bar/horizontal.html | 255 + .../dist/docs/samples/bar/stacked-groups.html | 175 + .../dist/docs/samples/bar/stacked.html | 163 + .../dist/docs/samples/bar/vertical.html | 239 + .../chart.js/dist/docs/samples/index.html | 38 + .../dist/docs/samples/information.html | 50 + .../dist/docs/samples/legend/events.html | 123 + .../dist/docs/samples/legend/html.html | 253 + .../dist/docs/samples/legend/point-style.html | 133 + .../dist/docs/samples/legend/position.html | 149 + .../dist/docs/samples/legend/title.html | 161 + .../dist/docs/samples/line/interpolation.html | 179 + .../chart.js/dist/docs/samples/line/line.html | 237 + .../dist/docs/samples/line/multi-axis.html | 187 + .../dist/docs/samples/line/point-styling.html | 291 + .../dist/docs/samples/line/segments.html | 105 + .../dist/docs/samples/line/stepped.html | 205 + .../dist/docs/samples/line/styling.html | 175 + .../docs/samples/other-charts/bubble.html | 235 + .../samples/other-charts/combo-bar-line.html | 245 + .../docs/samples/other-charts/doughnut.html | 275 + .../other-charts/multi-series-pie.html | 197 + .../dist/docs/samples/other-charts/pie.html | 227 + .../polar-area-center-labels.html | 213 + .../docs/samples/other-charts/polar-area.html | 191 + .../other-charts/radar-skip-points.html | 181 + .../dist/docs/samples/other-charts/radar.html | 231 + .../other-charts/scatter-multi-axis.html | 279 + .../docs/samples/other-charts/scatter.html | 235 + .../other-charts/stacked-bar-line.html | 249 + .../samples/plugins/chart-area-border.html | 149 + .../samples/plugins/doughnut-empty-state.html | 145 + .../dist/docs/samples/plugins/quadrants.html | 155 + .../docs/samples/scale-options/center.html | 191 + .../dist/docs/samples/scale-options/grid.html | 199 + .../docs/samples/scale-options/ticks.html | 191 + .../docs/samples/scale-options/titles.html | 173 + .../scales/linear-min-max-suggested.html | 135 + .../docs/samples/scales/linear-min-max.html | 131 + .../docs/samples/scales/linear-step-size.html | 287 + .../dist/docs/samples/scales/log.html | 163 + .../dist/docs/samples/scales/stacked.html | 167 + .../dist/docs/samples/scales/time-combo.html | 177 + .../dist/docs/samples/scales/time-line.html | 239 + .../docs/samples/scales/time-max-span.html | 269 + .../dist/docs/samples/scriptable/bar.html | 157 + .../dist/docs/samples/scriptable/bubble.html | 211 + .../dist/docs/samples/scriptable/line.html | 189 + .../dist/docs/samples/scriptable/pie.html | 181 + .../dist/docs/samples/scriptable/polar.html | 161 + .../dist/docs/samples/scriptable/radar.html | 193 + .../dist/docs/samples/subtitle/basic.html | 133 + .../dist/docs/samples/title/alignment.html | 151 + .../dist/docs/samples/tooltip/content.html | 143 + .../dist/docs/samples/tooltip/html.html | 301 + .../docs/samples/tooltip/interactions.html | 275 + .../docs/samples/tooltip/point-style.html | 175 + .../dist/docs/samples/tooltip/position.html | 203 + .../chart.js/dist/docs/samples/utils.html | 190 + scriptApl/chart.js/dist/helpers.esm.js | 7 + scriptApl/chart.js/dist/helpers.mjs | 7 + scriptApl/chart.js/helpers/helpers.js | 1 + scriptApl/chart.js/helpers/helpers.mjs | 1 + scriptApl/chart.js/helpers/helpers.mts | 1 + scriptApl/chart.js/helpers/package.json | 8 + scriptApl/chart.js/package.json | 108 + scriptApl/chart.js/types/.eslintrc.yml | 25 + scriptApl/chart.js/types/adapters.d.ts | 70 + scriptApl/chart.js/types/animation.d.ts | 33 + scriptApl/chart.js/types/basic.d.ts | 3 + scriptApl/chart.js/types/color.d.ts | 1 + scriptApl/chart.js/types/element.d.ts | 17 + scriptApl/chart.js/types/geometric.d.ts | 37 + .../types/helpers/helpers.canvas.d.ts | 103 + .../types/helpers/helpers.collection.d.ts | 20 + .../chart.js/types/helpers/helpers.color.d.ts | 37 + .../chart.js/types/helpers/helpers.core.d.ts | 157 + .../chart.js/types/helpers/helpers.curve.d.ts | 34 + .../chart.js/types/helpers/helpers.dom.d.ts | 20 + .../types/helpers/helpers.easing.d.ts | 5 + .../types/helpers/helpers.extras.d.ts | 23 + .../types/helpers/helpers.interpolation.d.ts | 1 + .../chart.js/types/helpers/helpers.intl.d.ts | 7 + .../chart.js/types/helpers/helpers.math.d.ts | 17 + .../types/helpers/helpers.options.d.ts | 61 + .../chart.js/types/helpers/helpers.rtl.d.ts | 12 + .../types/helpers/helpers.segment.d.ts | 1 + scriptApl/chart.js/types/helpers/index.d.ts | 15 + scriptApl/chart.js/types/index.esm.d.ts | 3715 +++++ scriptApl/chart.js/types/layout.d.ts | 65 + scriptApl/chart.js/types/tests/.eslintrc.yml | 2 + scriptApl/chart.js/types/tests/animation.ts | 70 + scriptApl/chart.js/types/tests/autogen.js | 22 + scriptApl/chart.js/types/tests/chart_types.ts | 69 + .../tests/controllers/bubble_chart_options.ts | 22 + .../tests/controllers/doughnut_meta_total.ts | 16 + .../tests/controllers/doughnut_offset.ts | 15 + .../controllers/doughnut_outer_radius.ts | 14 + .../line_scriptable_parsed_data.ts | 14 + .../types/tests/controllers/line_segments.ts | 16 + .../types/tests/controllers/line_span_gaps.ts | 32 + .../tests/controllers/line_styling_array.ts | 13 + .../radar_dataset_indexable_options.ts | 26 + scriptApl/chart.js/types/tests/data_types.ts | 20 + .../chart.js/types/tests/dataset_null_data.ts | 16 + scriptApl/chart.js/types/tests/defaults.ts | 30 + .../elements/scriptable_element_options.ts | 50 + .../chart.js/types/tests/extensions/plugin.ts | 28 + .../chart.js/types/tests/extensions/scale.ts | 48 + .../chart.js/types/tests/helpers/options.ts | 10 + scriptApl/chart.js/types/tests/interaction.ts | 17 + .../chart.js/types/tests/layout/position.ts | 11 + scriptApl/chart.js/types/tests/options.ts | 33 + scriptApl/chart.js/types/tests/overrides.ts | 10 + .../chart.js/types/tests/parsed.data.type.ts | 18 + .../chart.js/types/tests/plugins/defaults.ts | 11 + .../plugin.decimation/decimation_algorithm.ts | 72 + .../plugins/plugin.filler/fill_target_true.ts | 6 + .../plugins/plugin.tooltip/chart.tooltip.ts | 15 + .../plugin.tooltip/tooltip_dataset_type.ts | 22 + .../plugin.tooltip/tooltip_parsed_data.ts | 22 + .../tooltip_parsed_data_chart_defaults.ts | 16 + .../tooltip_scriptable_background_color.ts | 18 + scriptApl/chart.js/types/tests/register.ts | 54 + .../types/tests/scales/chart_options.ts | 12 + .../chart.js/types/tests/scales/options.ts | 66 + .../types/tests/scales/time_string_max.ts | 30 + scriptApl/chart.js/types/tests/scriptable.ts | 22 + .../tests/scriptable_core_chart_options.ts | 14 + .../types/tests/test_instance_assignment.ts | 23 + scriptApl/chart.js/types/tests/tsconfig.json | 13 + scriptApl/chart.js/types/utils.d.ts | 21 + scriptApl/dashboard.js | 142 + supervisao/dashboard.php | 301 + templates/supervisao/dashboard.tpl | 76 + 622 files changed, 75868 insertions(+), 17 deletions(-) create mode 100644 scriptApl/chart.js/LICENSE.md create mode 100644 scriptApl/chart.js/README.md create mode 100644 scriptApl/chart.js/auto/auto.js create mode 100644 scriptApl/chart.js/auto/auto.mjs create mode 100644 scriptApl/chart.js/auto/auto.mts create mode 100644 scriptApl/chart.js/auto/package.json create mode 100644 scriptApl/chart.js/dist/chart.esm.js create mode 100644 scriptApl/chart.js/dist/chart.js create mode 100644 scriptApl/chart.js/dist/chart.min.js create mode 100644 scriptApl/chart.js/dist/chart.mjs create mode 100644 scriptApl/chart.js/dist/chunks/helpers.segment.js create mode 100644 scriptApl/chart.js/dist/chunks/helpers.segment.mjs create mode 100644 scriptApl/chart.js/dist/docs/404.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/Animation.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/Animations.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/Animator.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/BasePlatform.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/BasicPlatform.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/Chart.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/DatasetController.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/DomPlatform.html create mode 100644 scriptApl/chart.js/dist/docs/api/classes/Scale.html create mode 100644 scriptApl/chart.js/dist/docs/api/enums/DecimationAlgorithm.html create mode 100644 scriptApl/chart.js/dist/docs/api/enums/UpdateModeEnum.html create mode 100644 scriptApl/chart.js/dist/docs/api/index.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ActiveDataPoint.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ActiveElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/AnimationEvent.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ArcBorderRadius.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ArcElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ArcHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ArcOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ArcProps.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarControllerChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BarProps.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BorderRadius.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BubbleControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/BubbleDataPoint.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleTypeRegistry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartArea.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartComponent.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartConfiguration.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartConfigurationCustomTypesPerDataset.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartData.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartDataCustomTypesPerDataset.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetProperties.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartEvent.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ChartTypeRegistry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CommonElementOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CommonHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ComplexFillTarget.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CoreChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CoreInteractionOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/CoreScaleOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DatasetControllerChartComponent.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DateAdapter.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Defaults.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DoughnutAnimationOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DoughnutController.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/DoughnutMetaExtensions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Element.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ElementOptionsByType.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ExtendedPlugin.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/FillerControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/FillerOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/FontSpec.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/GridLineOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/InteractionItem.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/InteractionModeMap.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/InteractionOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LayoutItem.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LegendElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LegendItem.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LegendOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineControllerChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/LineProps.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ParsingOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Plugin.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PluginChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PluginOptionsByType.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Point.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointElement.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedHoverOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PointProps.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaController.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerChartOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/RadarControllerDatasetOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/RadialLinearScale.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/RadialScaleTypeRegistry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Registry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScaleTypeRegistry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScatterDataPoint.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableCartesianScaleContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableChartContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableLineSegmentContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScaleContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScalePointLabelContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/ScriptableTooltipContext.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Segment.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Tick.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TickOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TimeScale.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TitleOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/Tooltip.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipCallbacks.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipItem.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipLabelStyle.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipModel.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipOptions.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipPosition.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TooltipPositionerMap.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/TypedRegistry.html create mode 100644 scriptApl/chart.js/dist/docs/api/interfaces/VisualElement.html create mode 100644 scriptApl/chart.js/dist/docs/assets/css/0.styles.7d07a4d1.css create mode 100644 scriptApl/chart.js/dist/docs/assets/img/destroy_flowchart.10814816.png create mode 100644 scriptApl/chart.js/dist/docs/assets/img/event_flowchart.83015c7a.png create mode 100644 scriptApl/chart.js/dist/docs/assets/img/init_flowchart.ee5be600.png create mode 100644 scriptApl/chart.js/dist/docs/assets/img/render_flowchart.41a98316.png create mode 100644 scriptApl/chart.js/dist/docs/assets/img/scale_flowchart.fa1ab63e.png create mode 100644 scriptApl/chart.js/dist/docs/assets/img/search.83621669.svg create mode 100644 scriptApl/chart.js/dist/docs/assets/img/update_flowchart.0556691d.png create mode 100644 scriptApl/chart.js/dist/docs/assets/js/10.edbecfa9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/100.f7a12d8b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/101.15c56dbb.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/102.33b746ea.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/103.850a4486.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/104.8b4f368b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/105.1a3d6c41.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/106.d8f8b4c1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/107.38cf9b4f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/108.a30da8c9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/109.6d56b7d1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/11.b98e8151.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/110.c44e533c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/111.ccb9a835.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/112.2d2a2890.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/113.5ac0921f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/114.90ef8814.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/115.12a72d27.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/116.6b780970.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/117.79604442.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/118.7752bc89.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/119.d8e76ef0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/12.433f0c7e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/120.ed76595e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/121.cc3d56f2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/122.c8651871.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/123.f7d5f223.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/124.88ce07a4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/125.a9572036.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/126.879447b3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/127.3b8478f3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/128.87d67ad7.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/129.f6241700.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/13.b6743084.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/130.a9cb856a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/131.45e904c9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/132.abd9e4c2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/133.d5aa1db6.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/134.4bfa3b5a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/135.8c7630ad.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/136.f813e062.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/137.6cab2863.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/138.03ec5265.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/139.924812c0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/14.422fec10.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/140.a7967a5d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/141.34a018bb.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/142.c5bfcdd4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/143.05e388ba.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/144.a98bdbcc.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/145.826b73e0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/146.001afadf.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/147.fcadaef3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/148.604863a4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/149.6509ed9f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/15.09a69fc3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/150.fd8575ca.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/151.67ecd4a3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/152.481a7bd4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/153.dbf3f3aa.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/154.2aa9c67d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/155.e3367ebc.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/156.a5bb942d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/157.09caef4e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/158.1f82587f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/159.4cebd9d3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/16.0414f390.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/160.47df8215.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/161.fac79692.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/162.9f2f870f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/163.4f1604f9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/164.7f8d8643.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/165.fe2baa69.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/166.c82b3c76.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/167.3c3f2ff1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/168.8d2e8e83.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/169.b10c84bd.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/17.8dfcb176.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/170.b9db8312.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/171.2480fc36.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/172.81c5206a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/173.477dcbae.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/174.05398ca3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/175.84ab69d0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/176.f48183c3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/177.d0d35403.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/178.55d433fd.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/179.9442c138.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/18.c331029e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/180.5c15d5d4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/181.911f367b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/182.72f663e8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/183.22b2258c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/184.15b21065.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/185.894ea40b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/186.f6394459.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/187.7bd9b3fe.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/188.3baa9bcd.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/189.18e63b11.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/19.13bdd658.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/190.b7ffb54a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/191.13061aba.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/192.1bf9bd61.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/193.8fa44455.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/194.49c9a3c0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/195.eb1e8802.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/196.9b925823.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/197.adca6c8c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/198.2ae0961a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/199.cd9dca80.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/2.3e2307f3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/20.5d11c294.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/200.2eb9437f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/201.6dba10c3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/202.9c5057c6.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/203.98a3c2b8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/204.50d5cf2e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/205.e56e820b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/206.6ce5c41e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/207.8aa83d91.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/208.296ee160.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/209.13279349.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/21.7b54d7d8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/210.63e30420.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/211.0b325f23.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/212.be671e2e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/213.81d2e607.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/214.ba403b5c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/215.2efcec5f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/216.e01d3100.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/217.906c8d54.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/218.94e33827.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/219.21c5e01f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/22.c2daedd0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/220.3ba160e4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/221.5c17138c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/222.aea004ce.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/223.cbb7b883.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/224.b130b37f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/225.32f90319.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/226.8c102c21.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/227.b3d60339.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/228.72f0ad18.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/229.3daa3b7e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/23.2c668e20.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/230.7e5a85b1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/231.b83d12f1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/232.e902f42d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/233.b4f254c0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/234.d975df48.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/235.71a7be7d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/236.05d87a5e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/237.d518e28b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/238.eb60e397.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/239.81fecfed.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/24.af200d5b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/240.c0869bc2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/241.59dc896f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/242.6d423d39.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/243.a355eaa8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/244.ad729cf8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/245.c3cd6bbe.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/246.d0708528.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/247.13d65d78.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/248.1d222543.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/249.2d7a9bf1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/25.4f97f63f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/250.09ef38e2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/251.0cb90e8a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/252.2ff0def4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/253.61c7c505.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/254.20137eeb.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/255.49c937e9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/256.8d709dae.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/257.b3ebdce7.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/258.792f66d1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/259.98c809e9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/26.d1bb645c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/260.54ff10d2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/261.928afea4.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/27.2d5c4a6b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/28.72dee0f1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/29.8820be26.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/3.947b8d98.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/30.343676b8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/31.cff089f1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/32.56d8546e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/33.6b642a06.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/34.360a9ea9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/35.205d7fac.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/36.f2765bae.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/37.6c33435e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/38.a778a6a2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/39.7dda160f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/4.ee88d25a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/40.bd778eac.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/41.b79220f6.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/42.c3157beb.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/43.097368d1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/44.2515f16e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/45.d5b4b7c3.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/46.bbab8d6e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/47.79aa575e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/48.45785af9.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/49.0569a6eb.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/5.00f814ac.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/50.14bd3ba2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/51.e0968711.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/52.fe65ddf8.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/53.faa1ff3f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/54.fcfed2c5.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/55.7db1d28a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/56.8b0e82b7.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/57.9de2d983.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/58.b0f8ad0c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/59.f1ff4935.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/6.2bc86161.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/60.ac08de9a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/61.ea4fad75.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/62.5c85853b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/63.5ac99656.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/64.c6838e95.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/65.4c1b089e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/66.379a6b45.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/67.15703e17.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/68.ffdefd7d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/69.bdeb7b9b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/7.74f2ce90.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/70.3dadb5ed.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/71.2c97fe38.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/72.dc778e17.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/73.d88fcb57.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/74.bba2165e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/75.15562a81.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/76.21f5a94e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/77.0725268e.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/78.d6f610d1.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/79.60d67faa.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/8.8928eb8b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/80.99d71ee0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/81.f1500469.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/82.69f363a6.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/83.f1fbcb2c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/84.b76e3156.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/85.efc4bd54.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/86.85011b24.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/87.6a88d571.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/88.0f45cfe0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/89.e67ddb59.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/9.63ebb16b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/90.96ebfa9b.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/91.cdde4d3f.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/92.dc3f06d2.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/93.aaa04d52.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/94.2af5650c.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/95.1d44ec16.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/96.9545127d.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/97.8b18f487.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/98.cb259cd0.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/99.6251650a.js create mode 100644 scriptApl/chart.js/dist/docs/assets/js/app.7e0dc8c8.js create mode 100644 scriptApl/chart.js/dist/docs/axes/_common.html create mode 100644 scriptApl/chart.js/dist/docs/axes/_common_ticks.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/_common.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/_common_ticks.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/category.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/index.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/linear.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/logarithmic.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/time.html create mode 100644 scriptApl/chart.js/dist/docs/axes/cartesian/timeseries.html create mode 100644 scriptApl/chart.js/dist/docs/axes/index.html create mode 100644 scriptApl/chart.js/dist/docs/axes/labelling.html create mode 100644 scriptApl/chart.js/dist/docs/axes/radial/index.html create mode 100644 scriptApl/chart.js/dist/docs/axes/radial/linear.html create mode 100644 scriptApl/chart.js/dist/docs/axes/styling.html create mode 100644 scriptApl/chart.js/dist/docs/charts/area.html create mode 100644 scriptApl/chart.js/dist/docs/charts/bar.html create mode 100644 scriptApl/chart.js/dist/docs/charts/bubble.html create mode 100644 scriptApl/chart.js/dist/docs/charts/doughnut.html create mode 100644 scriptApl/chart.js/dist/docs/charts/index.html create mode 100644 scriptApl/chart.js/dist/docs/charts/line.html create mode 100644 scriptApl/chart.js/dist/docs/charts/mixed.html create mode 100644 scriptApl/chart.js/dist/docs/charts/polar.html create mode 100644 scriptApl/chart.js/dist/docs/charts/radar.html create mode 100644 scriptApl/chart.js/dist/docs/charts/scatter.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/animations.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/canvas-background.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/decimation.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/device-pixel-ratio.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/elements.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/index.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/interactions.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/layout.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/legend.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/locale.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/responsive.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/subtitle.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/title.html create mode 100644 scriptApl/chart.js/dist/docs/configuration/tooltip.html create mode 100644 scriptApl/chart.js/dist/docs/developers/api.html create mode 100644 scriptApl/chart.js/dist/docs/developers/axes.html create mode 100644 scriptApl/chart.js/dist/docs/developers/charts.html create mode 100644 scriptApl/chart.js/dist/docs/developers/contributing.html create mode 100644 scriptApl/chart.js/dist/docs/developers/index.html create mode 100644 scriptApl/chart.js/dist/docs/developers/plugins.html create mode 100644 scriptApl/chart.js/dist/docs/developers/publishing.html create mode 100644 scriptApl/chart.js/dist/docs/developers/updates.html create mode 100644 scriptApl/chart.js/dist/docs/favicon.ico create mode 100644 scriptApl/chart.js/dist/docs/general/accessibility.html create mode 100644 scriptApl/chart.js/dist/docs/general/colors.html create mode 100644 scriptApl/chart.js/dist/docs/general/data-structures.html create mode 100644 scriptApl/chart.js/dist/docs/general/fonts.html create mode 100644 scriptApl/chart.js/dist/docs/general/index.html create mode 100644 scriptApl/chart.js/dist/docs/general/options.html create mode 100644 scriptApl/chart.js/dist/docs/general/padding.html create mode 100644 scriptApl/chart.js/dist/docs/general/performance.html create mode 100644 scriptApl/chart.js/dist/docs/getting-started/index.html create mode 100644 scriptApl/chart.js/dist/docs/getting-started/installation.html create mode 100644 scriptApl/chart.js/dist/docs/getting-started/integration.html create mode 100644 scriptApl/chart.js/dist/docs/getting-started/usage.html create mode 100644 scriptApl/chart.js/dist/docs/getting-started/v3-migration.html create mode 100644 scriptApl/chart.js/dist/docs/index.html create mode 100644 scriptApl/chart.js/dist/docs/logo.png create mode 100644 scriptApl/chart.js/dist/docs/logo.svg create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/data-decimation.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/derived-axis-type.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/derived-chart-type.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/linear-gradient.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/programmatic-events.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/progress-bar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/advanced/radial-gradient.html create mode 100644 scriptApl/chart.js/dist/docs/samples/animations/delay.html create mode 100644 scriptApl/chart.js/dist/docs/samples/animations/drop.html create mode 100644 scriptApl/chart.js/dist/docs/samples/animations/loop.html create mode 100644 scriptApl/chart.js/dist/docs/samples/animations/progressive-line-easing.html create mode 100644 scriptApl/chart.js/dist/docs/samples/animations/progressive-line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/area/line-boundaries.html create mode 100644 scriptApl/chart.js/dist/docs/samples/area/line-datasets.html create mode 100644 scriptApl/chart.js/dist/docs/samples/area/line-drawtime.html create mode 100644 scriptApl/chart.js/dist/docs/samples/area/line-stacked.html create mode 100644 scriptApl/chart.js/dist/docs/samples/area/radar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/border-radius.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/floating.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/horizontal.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/stacked-groups.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/stacked.html create mode 100644 scriptApl/chart.js/dist/docs/samples/bar/vertical.html create mode 100644 scriptApl/chart.js/dist/docs/samples/index.html create mode 100644 scriptApl/chart.js/dist/docs/samples/information.html create mode 100644 scriptApl/chart.js/dist/docs/samples/legend/events.html create mode 100644 scriptApl/chart.js/dist/docs/samples/legend/html.html create mode 100644 scriptApl/chart.js/dist/docs/samples/legend/point-style.html create mode 100644 scriptApl/chart.js/dist/docs/samples/legend/position.html create mode 100644 scriptApl/chart.js/dist/docs/samples/legend/title.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/interpolation.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/multi-axis.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/point-styling.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/segments.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/stepped.html create mode 100644 scriptApl/chart.js/dist/docs/samples/line/styling.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/bubble.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/combo-bar-line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/doughnut.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/multi-series-pie.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/pie.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/polar-area-center-labels.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/polar-area.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/radar-skip-points.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/radar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/scatter-multi-axis.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/scatter.html create mode 100644 scriptApl/chart.js/dist/docs/samples/other-charts/stacked-bar-line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/plugins/chart-area-border.html create mode 100644 scriptApl/chart.js/dist/docs/samples/plugins/doughnut-empty-state.html create mode 100644 scriptApl/chart.js/dist/docs/samples/plugins/quadrants.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scale-options/center.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scale-options/grid.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scale-options/ticks.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scale-options/titles.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/linear-min-max-suggested.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/linear-min-max.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/linear-step-size.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/log.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/stacked.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/time-combo.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/time-line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scales/time-max-span.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/bar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/bubble.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/line.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/pie.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/polar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/scriptable/radar.html create mode 100644 scriptApl/chart.js/dist/docs/samples/subtitle/basic.html create mode 100644 scriptApl/chart.js/dist/docs/samples/title/alignment.html create mode 100644 scriptApl/chart.js/dist/docs/samples/tooltip/content.html create mode 100644 scriptApl/chart.js/dist/docs/samples/tooltip/html.html create mode 100644 scriptApl/chart.js/dist/docs/samples/tooltip/interactions.html create mode 100644 scriptApl/chart.js/dist/docs/samples/tooltip/point-style.html create mode 100644 scriptApl/chart.js/dist/docs/samples/tooltip/position.html create mode 100644 scriptApl/chart.js/dist/docs/samples/utils.html create mode 100644 scriptApl/chart.js/dist/helpers.esm.js create mode 100644 scriptApl/chart.js/dist/helpers.mjs create mode 100644 scriptApl/chart.js/helpers/helpers.js create mode 100644 scriptApl/chart.js/helpers/helpers.mjs create mode 100644 scriptApl/chart.js/helpers/helpers.mts create mode 100644 scriptApl/chart.js/helpers/package.json create mode 100644 scriptApl/chart.js/package.json create mode 100644 scriptApl/chart.js/types/.eslintrc.yml create mode 100644 scriptApl/chart.js/types/adapters.d.ts create mode 100644 scriptApl/chart.js/types/animation.d.ts create mode 100644 scriptApl/chart.js/types/basic.d.ts create mode 100644 scriptApl/chart.js/types/color.d.ts create mode 100644 scriptApl/chart.js/types/element.d.ts create mode 100644 scriptApl/chart.js/types/geometric.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.canvas.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.collection.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.color.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.core.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.curve.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.dom.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.easing.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.extras.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.interpolation.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.intl.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.math.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.options.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.rtl.d.ts create mode 100644 scriptApl/chart.js/types/helpers/helpers.segment.d.ts create mode 100644 scriptApl/chart.js/types/helpers/index.d.ts create mode 100644 scriptApl/chart.js/types/index.esm.d.ts create mode 100644 scriptApl/chart.js/types/layout.d.ts create mode 100644 scriptApl/chart.js/types/tests/.eslintrc.yml create mode 100644 scriptApl/chart.js/types/tests/animation.ts create mode 100644 scriptApl/chart.js/types/tests/autogen.js create mode 100644 scriptApl/chart.js/types/tests/chart_types.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/bubble_chart_options.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/doughnut_meta_total.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/doughnut_offset.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/doughnut_outer_radius.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/line_scriptable_parsed_data.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/line_segments.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/line_span_gaps.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/line_styling_array.ts create mode 100644 scriptApl/chart.js/types/tests/controllers/radar_dataset_indexable_options.ts create mode 100644 scriptApl/chart.js/types/tests/data_types.ts create mode 100644 scriptApl/chart.js/types/tests/dataset_null_data.ts create mode 100644 scriptApl/chart.js/types/tests/defaults.ts create mode 100644 scriptApl/chart.js/types/tests/elements/scriptable_element_options.ts create mode 100644 scriptApl/chart.js/types/tests/extensions/plugin.ts create mode 100644 scriptApl/chart.js/types/tests/extensions/scale.ts create mode 100644 scriptApl/chart.js/types/tests/helpers/options.ts create mode 100644 scriptApl/chart.js/types/tests/interaction.ts create mode 100644 scriptApl/chart.js/types/tests/layout/position.ts create mode 100644 scriptApl/chart.js/types/tests/options.ts create mode 100644 scriptApl/chart.js/types/tests/overrides.ts create mode 100644 scriptApl/chart.js/types/tests/parsed.data.type.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/defaults.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.decimation/decimation_algorithm.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.filler/fill_target_true.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.tooltip/chart.tooltip.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_dataset_type.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts create mode 100644 scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_scriptable_background_color.ts create mode 100644 scriptApl/chart.js/types/tests/register.ts create mode 100644 scriptApl/chart.js/types/tests/scales/chart_options.ts create mode 100644 scriptApl/chart.js/types/tests/scales/options.ts create mode 100644 scriptApl/chart.js/types/tests/scales/time_string_max.ts create mode 100644 scriptApl/chart.js/types/tests/scriptable.ts create mode 100644 scriptApl/chart.js/types/tests/scriptable_core_chart_options.ts create mode 100644 scriptApl/chart.js/types/tests/test_instance_assignment.ts create mode 100644 scriptApl/chart.js/types/tests/tsconfig.json create mode 100644 scriptApl/chart.js/types/utils.d.ts create mode 100644 scriptApl/dashboard.js create mode 100644 supervisao/dashboard.php create mode 100644 templates/supervisao/dashboard.tpl diff --git a/include/util/funcoesApl.php b/include/util/funcoesApl.php index 9232394f..ee7f640d 100644 --- a/include/util/funcoesApl.php +++ b/include/util/funcoesApl.php @@ -404,7 +404,9 @@ function VerificaCadastroMenu($conn) { $menuUsuario[] = array('218', 'mnSimplesChatSup', '0', 'Supervisor SimplesChat', 'index.php?idProg=360', '', '1', '1', '0', '', '360'); $menuUsuario[] = array('219', 'mnSimplesChatAgt', '0', 'Agente SimplesChat', 'index.php?idProg=361', '', '1', '1', '0', '', '361'); $menuUsuario[] = array('220', 'mnLgpdAdm', '0', 'Administra LGPD', 'index.php?idProg=364', '', '1', '1', '0', '', '364'); - + + $menuUsuario[] = array('221', 'mnDashboardSimples', '1', 'Dashboard', 'index.php?idProg=365', '', '1', '1', '0', '', '365'); + $menuUsuario[] = array('112', 'mnSair', '1', 'Sair', 'index.php?idProg=-1&DEBUG=0', '', '', '1', '1', '10', '-1'); @@ -1121,7 +1123,7 @@ function GetDispProgSel($idProg) { $dispProgSel[356] = 'SimplesChat'; $dispProgSel[358] = 'Dashboard'; - $dispProgSel[365] = 'Recebidas Agente/Serviços'; + $dispProgSel[365] = 'Dashboard'; $dispProgSel[10001] = "Cadastro de Agentes PBX"; $dispProgSel[10002] = "Cadastro de Filas"; diff --git a/include/util/funcoesInternas.php b/include/util/funcoesInternas.php index e6874da6..19df2e02 100644 --- a/include/util/funcoesInternas.php +++ b/include/util/funcoesInternas.php @@ -334,6 +334,7 @@ $funcosInternas[] = "insert into pbx_funcoes_internas(id_prog, arquivo, id_prog_ $funcosInternas[] = "insert into pbx_funcoes_internas(id_prog, arquivo, id_prog_pai, status, exit)values(362,'seguranca/licencaUsuarioFixo.php',21,0,0)"; $funcosInternas[] = "insert into pbx_funcoes_internas(id_prog, arquivo, id_prog_pai, status, exit)values(363,'agente/complementoCampanha.php',14,0,0)"; $funcosInternas[] = "insert into pbx_funcoes_internas(id_prog, arquivo, id_prog_pai, status, exit)values(364,'admLgpd.php',364,0,0)"; +$funcosInternas[] = "insert into pbx_funcoes_internas(id_prog, arquivo, id_prog_pai, status, exit)values(365,'supervisao/dashboard.php',365,0,0)"; diff --git a/master.css b/master.css index d8455ea2..0c68481b 100644 --- a/master.css +++ b/master.css @@ -156,7 +156,7 @@ a:active background: #f09f47; height: 30px; color: #FFFFFF; - + } #nav_login @@ -982,22 +982,124 @@ table.gridClean td { } .textPrivate { - background-color: lightblue; - width: 110px; - height: 110px; - overflow: scroll; + background-color: lightblue; + width: 110px; + height: 110px; + overflow: scroll; } .textPrivate p { - text-align: justify; + text-align: justify; +} + +:root { + --purple: hsl(256, 55%, 55%); + --red: hsl(0, 78%, 62%); + --cyan: hsl(180, 62%, 55%); + --orange: hsl(34, 97%, 64%); + --blue: hsl(212, 86%, 64%); + --varyDarkBlue: hsl(234, 12%, 34%); + --grayishBlue: hsl(229, 6%, 66%); + --veryLightGray: hsl(0, 0%, 98%); + --weight1: 200; + --weight2: 400; + --weight3: 600; } -#agrupamentoTable th !important { - font-weight: bold; - padding: 0; - margin: 0; - padding-left: 6px; - padding-right: 6px; - background-color: #4F71C0; +.attribution { + font-size: 11px; text-align: center; +} +.attribution a { + color: hsl(228, 45%, 44%); +} + +h1:first-of-type { + font-weight: var(--weight1); + color: var(--varyDarkBlue); + +} + +h1:last-of-type { + color: var(--varyDarkBlue); +} + +.header{ + font-size: 15px; + color: var(--varyDarkBlue); + padding: 15px 15px 15px; + font-weight: bold; +} + +.box p { + color: var(--grayishBlue); +} + +.box { + border-top: #0000ff; + border-radius: 10px; + box-shadow: 0px 30px 40px -20px var(--grayishBlue); + padding: 30px; + margin: 10px; +} + +.container { + margin-left: auto; + margin-right: auto; + text-align: center; +} + +@media (max-width: 450px) { + .box { + height: 200px; + } +} + +@media (max-width: 950px) and (min-width: 450px) { + .box { + text-align: center; + height: 180px; + } +} + +.purple { + border-top: 3px solid var(--purple); +} +.cyan { + border-top: 3px solid var(--cyan); +} +.red { + border-top: 3px solid var(--red); +} +.blue { + border-top: 3px solid var(--blue); +} +.orange { + border-top: 3px solid var(--orange); +} + +h2 { + color: var(--varyDarkBlue); + font-weight: var(--weight3); +} + +@media (min-width: 950px) { + .row1-container { + display: flex; + justify-content: center; + } + + .row2-container { + display: flex; + justify-content: center; + } + + .box-down { + position: relative; + } + + .header p { + width: 30%; + } + } \ No newline at end of file diff --git a/relatorios/callcenter/metas/metricasMensal.php b/relatorios/callcenter/metas/metricasMensal.php index 227ba6be..1608e78e 100644 --- a/relatorios/callcenter/metas/metricasMensal.php +++ b/relatorios/callcenter/metas/metricasMensal.php @@ -89,8 +89,8 @@ class RelMetricasMensal extends Relatorios { if ($this->GetIncDac()) { $fltCsv[] = 'Fila:' . GetDacDesc($this->GetDbCon(), $this->___dac); } -// $fltCsv[] = "Ano:" . $this->___ano; -//$fltCsv[] = "Mês:" . $this->___mes; + // $fltCsv[] = "Ano:" . $this->___ano; + //$fltCsv[] = "Mês:" . $this->___mes; $fltCsv[] = "Data Emissao:" . date('d/m/Y H:i:s'); $fltCsv[] = "Emitido Por:" . GetLogin(); return $fltCsv; diff --git a/scriptApl/chart.js/LICENSE.md b/scriptApl/chart.js/LICENSE.md new file mode 100644 index 00000000..9182b8e8 --- /dev/null +++ b/scriptApl/chart.js/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2014-2022 Chart.js Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/scriptApl/chart.js/README.md b/scriptApl/chart.js/README.md new file mode 100644 index 00000000..09f27e08 --- /dev/null +++ b/scriptApl/chart.js/README.md @@ -0,0 +1,38 @@ +

+ + https://www.chartjs.org/
+
+ Simple yet flexible JavaScript charting for designers & developers +

+ +

+ Downloads + GitHub Workflow Status + Coverage + Awesome + Slack +

+ +## Documentation + +All the links point to the new version 3 of the lib. + +* [Introduction](https://www.chartjs.org/docs/latest/) +* [Getting Started](https://www.chartjs.org/docs/latest/getting-started/index) +* [General](https://www.chartjs.org/docs/latest/general/data-structures) +* [Configuration](https://www.chartjs.org/docs/latest/configuration/index) +* [Charts](https://www.chartjs.org/docs/latest/charts/line) +* [Axes](https://www.chartjs.org/docs/latest/axes/index) +* [Developers](https://www.chartjs.org/docs/latest/developers/index) +* [Popular Extensions](https://github.com/chartjs/awesome) +* [Samples](https://www.chartjs.org/samples/) + +In case you are looking for the docs of version 2, you will have to specify the specific version in the url like this: [https://www.chartjs.org/docs/2.9.4/](https://www.chartjs.org/docs/2.9.4/) + +## Contributing + +Instructions on building and testing Chart.js can be found in [the documentation](https://www.chartjs.org/docs/master/developers/contributing.html#building-and-testing). Before submitting an issue or a pull request, please take a moment to look over the [contributing guidelines](https://www.chartjs.org/docs/master/developers/contributing) first. For support, please post questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) with the `chart.js` tag. + +## License + +Chart.js is available under the [MIT license](LICENSE.md). diff --git a/scriptApl/chart.js/auto/auto.js b/scriptApl/chart.js/auto/auto.js new file mode 100644 index 00000000..235580fe --- /dev/null +++ b/scriptApl/chart.js/auto/auto.js @@ -0,0 +1 @@ +module.exports = require('../dist/chart'); diff --git a/scriptApl/chart.js/auto/auto.mjs b/scriptApl/chart.js/auto/auto.mjs new file mode 100644 index 00000000..95d0a9a9 --- /dev/null +++ b/scriptApl/chart.js/auto/auto.mjs @@ -0,0 +1,5 @@ +import {Chart, registerables} from '../dist/chart.mjs'; + +Chart.register(...registerables); + +export default Chart; diff --git a/scriptApl/chart.js/auto/auto.mts b/scriptApl/chart.js/auto/auto.mts new file mode 100644 index 00000000..f0bc3805 --- /dev/null +++ b/scriptApl/chart.js/auto/auto.mts @@ -0,0 +1,4 @@ +import { Chart } from '../types/index.esm'; + +export * from '../types/index.esm'; +export default Chart; diff --git a/scriptApl/chart.js/auto/package.json b/scriptApl/chart.js/auto/package.json new file mode 100644 index 00000000..5f89c8f9 --- /dev/null +++ b/scriptApl/chart.js/auto/package.json @@ -0,0 +1,8 @@ +{ + "name": "chart.js-auto", + "private": true, + "description": "auto registering package", + "main": "auto.js", + "module": "auto.mjs", + "types": "auto.mts" +} diff --git a/scriptApl/chart.js/dist/chart.esm.js b/scriptApl/chart.js/dist/chart.esm.js new file mode 100644 index 00000000..20729e36 --- /dev/null +++ b/scriptApl/chart.js/dist/chart.esm.js @@ -0,0 +1,10761 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +import { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.js'; +export { d as defaults } from './chunks/helpers.segment.js'; + +class Animator { + constructor() { + this._request = null; + this._charts = new Map(); + this._running = false; + this._lastDate = undefined; + } + _notify(chart, anims, date, type) { + const callbacks = anims.listeners[type]; + const numSteps = anims.duration; + callbacks.forEach(fn => fn({ + chart, + initial: anims.initial, + numSteps, + currentStep: Math.min(date - anims.start, numSteps) + })); + } + _refresh() { + if (this._request) { + return; + } + this._running = true; + this._request = requestAnimFrame.call(window, () => { + this._update(); + this._request = null; + if (this._running) { + this._refresh(); + } + }); + } + _update(date = Date.now()) { + let remaining = 0; + this._charts.forEach((anims, chart) => { + if (!anims.running || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + let draw = false; + let item; + for (; i >= 0; --i) { + item = items[i]; + if (item._active) { + if (item._total > anims.duration) { + anims.duration = item._total; + } + item.tick(date); + draw = true; + } else { + items[i] = items[items.length - 1]; + items.pop(); + } + } + if (draw) { + chart.draw(); + this._notify(chart, anims, date, 'progress'); + } + if (!items.length) { + anims.running = false; + this._notify(chart, anims, date, 'complete'); + anims.initial = false; + } + remaining += items.length; + }); + this._lastDate = date; + if (remaining === 0) { + this._running = false; + } + } + _getAnims(chart) { + const charts = this._charts; + let anims = charts.get(chart); + if (!anims) { + anims = { + running: false, + initial: true, + items: [], + listeners: { + complete: [], + progress: [] + } + }; + charts.set(chart, anims); + } + return anims; + } + listen(chart, event, cb) { + this._getAnims(chart).listeners[event].push(cb); + } + add(chart, items) { + if (!items || !items.length) { + return; + } + this._getAnims(chart).items.push(...items); + } + has(chart) { + return this._getAnims(chart).items.length > 0; + } + start(chart) { + const anims = this._charts.get(chart); + if (!anims) { + return; + } + anims.running = true; + anims.start = Date.now(); + anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0); + this._refresh(); + } + running(chart) { + if (!this._running) { + return false; + } + const anims = this._charts.get(chart); + if (!anims || !anims.running || !anims.items.length) { + return false; + } + return true; + } + stop(chart) { + const anims = this._charts.get(chart); + if (!anims || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + for (; i >= 0; --i) { + items[i].cancel(); + } + anims.items = []; + this._notify(chart, anims, Date.now(), 'complete'); + } + remove(chart) { + return this._charts.delete(chart); + } +} +var animator = new Animator(); + +const transparent = 'transparent'; +const interpolators = { + boolean(from, to, factor) { + return factor > 0.5 ? to : from; + }, + color(from, to, factor) { + const c0 = color(from || transparent); + const c1 = c0.valid && color(to || transparent); + return c1 && c1.valid + ? c1.mix(c0, factor).hexString() + : to; + }, + number(from, to, factor) { + return from + (to - from) * factor; + } +}; +class Animation { + constructor(cfg, target, prop, to) { + const currentValue = target[prop]; + to = resolve([cfg.to, to, currentValue, cfg.from]); + const from = resolve([cfg.from, currentValue, to]); + this._active = true; + this._fn = cfg.fn || interpolators[cfg.type || typeof from]; + this._easing = effects[cfg.easing] || effects.linear; + this._start = Math.floor(Date.now() + (cfg.delay || 0)); + this._duration = this._total = Math.floor(cfg.duration); + this._loop = !!cfg.loop; + this._target = target; + this._prop = prop; + this._from = from; + this._to = to; + this._promises = undefined; + } + active() { + return this._active; + } + update(cfg, to, date) { + if (this._active) { + this._notify(false); + const currentValue = this._target[this._prop]; + const elapsed = date - this._start; + const remain = this._duration - elapsed; + this._start = date; + this._duration = Math.floor(Math.max(remain, cfg.duration)); + this._total += elapsed; + this._loop = !!cfg.loop; + this._to = resolve([cfg.to, to, currentValue, cfg.from]); + this._from = resolve([cfg.from, currentValue, to]); + } + } + cancel() { + if (this._active) { + this.tick(Date.now()); + this._active = false; + this._notify(false); + } + } + tick(date) { + const elapsed = date - this._start; + const duration = this._duration; + const prop = this._prop; + const from = this._from; + const loop = this._loop; + const to = this._to; + let factor; + this._active = from !== to && (loop || (elapsed < duration)); + if (!this._active) { + this._target[prop] = to; + this._notify(true); + return; + } + if (elapsed < 0) { + this._target[prop] = from; + return; + } + factor = (elapsed / duration) % 2; + factor = loop && factor > 1 ? 2 - factor : factor; + factor = this._easing(Math.min(1, Math.max(0, factor))); + this._target[prop] = this._fn(from, to, factor); + } + wait() { + const promises = this._promises || (this._promises = []); + return new Promise((res, rej) => { + promises.push({res, rej}); + }); + } + _notify(resolved) { + const method = resolved ? 'res' : 'rej'; + const promises = this._promises || []; + for (let i = 0; i < promises.length; i++) { + promises[i][method](); + } + } +} + +const numbers = ['x', 'y', 'borderWidth', 'radius', 'tension']; +const colors = ['color', 'borderColor', 'backgroundColor']; +defaults.set('animation', { + delay: undefined, + duration: 1000, + easing: 'easeOutQuart', + fn: undefined, + from: undefined, + loop: undefined, + to: undefined, + type: undefined, +}); +const animationOptions = Object.keys(defaults.animation); +defaults.describe('animation', { + _fallback: false, + _indexable: false, + _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn', +}); +defaults.set('animations', { + colors: { + type: 'color', + properties: colors + }, + numbers: { + type: 'number', + properties: numbers + }, +}); +defaults.describe('animations', { + _fallback: 'animation', +}); +defaults.set('transitions', { + active: { + animation: { + duration: 400 + } + }, + resize: { + animation: { + duration: 0 + } + }, + show: { + animations: { + colors: { + from: 'transparent' + }, + visible: { + type: 'boolean', + duration: 0 + }, + } + }, + hide: { + animations: { + colors: { + to: 'transparent' + }, + visible: { + type: 'boolean', + easing: 'linear', + fn: v => v | 0 + }, + } + } +}); +class Animations { + constructor(chart, config) { + this._chart = chart; + this._properties = new Map(); + this.configure(config); + } + configure(config) { + if (!isObject(config)) { + return; + } + const animatedProps = this._properties; + Object.getOwnPropertyNames(config).forEach(key => { + const cfg = config[key]; + if (!isObject(cfg)) { + return; + } + const resolved = {}; + for (const option of animationOptions) { + resolved[option] = cfg[option]; + } + (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => { + if (prop === key || !animatedProps.has(prop)) { + animatedProps.set(prop, resolved); + } + }); + }); + } + _animateOptions(target, values) { + const newOptions = values.options; + const options = resolveTargetOptions(target, newOptions); + if (!options) { + return []; + } + const animations = this._createAnimations(options, newOptions); + if (newOptions.$shared) { + awaitAll(target.options.$animations, newOptions).then(() => { + target.options = newOptions; + }, () => { + }); + } + return animations; + } + _createAnimations(target, values) { + const animatedProps = this._properties; + const animations = []; + const running = target.$animations || (target.$animations = {}); + const props = Object.keys(values); + const date = Date.now(); + let i; + for (i = props.length - 1; i >= 0; --i) { + const prop = props[i]; + if (prop.charAt(0) === '$') { + continue; + } + if (prop === 'options') { + animations.push(...this._animateOptions(target, values)); + continue; + } + const value = values[prop]; + let animation = running[prop]; + const cfg = animatedProps.get(prop); + if (animation) { + if (cfg && animation.active()) { + animation.update(cfg, value, date); + continue; + } else { + animation.cancel(); + } + } + if (!cfg || !cfg.duration) { + target[prop] = value; + continue; + } + running[prop] = animation = new Animation(cfg, target, prop, value); + animations.push(animation); + } + return animations; + } + update(target, values) { + if (this._properties.size === 0) { + Object.assign(target, values); + return; + } + const animations = this._createAnimations(target, values); + if (animations.length) { + animator.add(this._chart, animations); + return true; + } + } +} +function awaitAll(animations, properties) { + const running = []; + const keys = Object.keys(properties); + for (let i = 0; i < keys.length; i++) { + const anim = animations[keys[i]]; + if (anim && anim.active()) { + running.push(anim.wait()); + } + } + return Promise.all(running); +} +function resolveTargetOptions(target, newOptions) { + if (!newOptions) { + return; + } + let options = target.options; + if (!options) { + target.options = newOptions; + return; + } + if (options.$shared) { + target.options = options = Object.assign({}, options, {$shared: false, $animations: {}}); + } + return options; +} + +function scaleClip(scale, allowedOverflow) { + const opts = scale && scale.options || {}; + const reverse = opts.reverse; + const min = opts.min === undefined ? allowedOverflow : 0; + const max = opts.max === undefined ? allowedOverflow : 0; + return { + start: reverse ? max : min, + end: reverse ? min : max + }; +} +function defaultClip(xScale, yScale, allowedOverflow) { + if (allowedOverflow === false) { + return false; + } + const x = scaleClip(xScale, allowedOverflow); + const y = scaleClip(yScale, allowedOverflow); + return { + top: y.end, + right: x.end, + bottom: y.start, + left: x.start + }; +} +function toClip(value) { + let t, r, b, l; + if (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, + disabled: value === false + }; +} +function getSortedDatasetIndices(chart, filterVisible) { + const keys = []; + const metasets = chart._getSortedDatasetMetas(filterVisible); + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + keys.push(metasets[i].index); + } + return keys; +} +function applyStack(stack, value, dsIndex, options = {}) { + const keys = stack.keys; + const singleMode = options.mode === 'single'; + let i, ilen, datasetIndex, otherValue; + if (value === null) { + return; + } + for (i = 0, ilen = keys.length; i < ilen; ++i) { + datasetIndex = +keys[i]; + if (datasetIndex === dsIndex) { + if (options.all) { + continue; + } + break; + } + otherValue = stack.values[datasetIndex]; + if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) { + value += otherValue; + } + } + return value; +} +function convertObjectDataToArray(data) { + const keys = Object.keys(data); + const adata = new Array(keys.length); + let i, ilen, key; + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + adata[i] = { + x: key, + y: data[key] + }; + } + return adata; +} +function isStacked(scale, meta) { + const stacked = scale && scale.options.stacked; + return stacked || (stacked === undefined && meta.stack !== undefined); +} +function getStackKey(indexScale, valueScale, meta) { + return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`; +} +function getUserBounds(scale) { + const {min, max, minDefined, maxDefined} = scale.getUserBounds(); + return { + min: minDefined ? min : Number.NEGATIVE_INFINITY, + max: maxDefined ? max : Number.POSITIVE_INFINITY + }; +} +function getOrCreateStack(stacks, stackKey, indexValue) { + const subStack = stacks[stackKey] || (stacks[stackKey] = {}); + return subStack[indexValue] || (subStack[indexValue] = {}); +} +function getLastIndexInStack(stack, vScale, positive, type) { + for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) { + const value = stack[meta.index]; + if ((positive && value > 0) || (!positive && value < 0)) { + return meta.index; + } + } + return null; +} +function updateStacks(controller, parsed) { + const {chart, _cachedMeta: meta} = controller; + const stacks = chart._stacks || (chart._stacks = {}); + const {iScale, vScale, index: datasetIndex} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const key = getStackKey(iScale, vScale, meta); + const ilen = parsed.length; + let stack; + for (let i = 0; i < ilen; ++i) { + const item = parsed[i]; + const {[iAxis]: index, [vAxis]: value} = item; + const itemStacks = item._stacks || (item._stacks = {}); + stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index); + stack[datasetIndex] = value; + stack._top = getLastIndexInStack(stack, vScale, true, meta.type); + stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type); + } +} +function getFirstScaleId(chart, axis) { + const scales = chart.scales; + return Object.keys(scales).filter(key => scales[key].axis === axis).shift(); +} +function createDatasetContext(parent, index) { + return createContext(parent, + { + active: false, + dataset: undefined, + datasetIndex: index, + index, + mode: 'default', + type: 'dataset' + } + ); +} +function createDataContext(parent, index, element) { + return createContext(parent, { + active: false, + dataIndex: index, + parsed: undefined, + raw: undefined, + element, + index, + mode: 'default', + type: 'data' + }); +} +function clearStacks(meta, items) { + const datasetIndex = meta.controller.index; + const axis = meta.vScale && meta.vScale.axis; + if (!axis) { + return; + } + items = items || meta._parsed; + for (const parsed of items) { + const stacks = parsed._stacks; + if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) { + return; + } + delete stacks[axis][datasetIndex]; + } +} +const isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none'; +const cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached); +const createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked + && {keys: getSortedDatasetIndices(chart, true), values: null}; +class DatasetController { + constructor(chart, datasetIndex) { + this.chart = chart; + this._ctx = chart.ctx; + this.index = datasetIndex; + this._cachedDataOpts = {}; + this._cachedMeta = this.getMeta(); + this._type = this._cachedMeta.type; + this.options = undefined; + this._parsing = false; + this._data = undefined; + this._objectData = undefined; + this._sharedOptions = undefined; + this._drawStart = undefined; + this._drawCount = undefined; + this.enableOptionSharing = false; + this.supportsDecimation = false; + this.$context = undefined; + this._syncList = []; + this.initialize(); + } + initialize() { + const meta = this._cachedMeta; + this.configure(); + this.linkScales(); + meta._stacked = isStacked(meta.vScale, meta); + this.addElements(); + } + updateIndex(datasetIndex) { + if (this.index !== datasetIndex) { + clearStacks(this._cachedMeta); + } + this.index = datasetIndex; + } + linkScales() { + const chart = this.chart; + const meta = this._cachedMeta; + const dataset = this.getDataset(); + const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y; + const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x')); + const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y')); + const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r')); + const indexAxis = meta.indexAxis; + const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid); + const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid); + meta.xScale = this.getScaleForId(xid); + meta.yScale = this.getScaleForId(yid); + meta.rScale = this.getScaleForId(rid); + meta.iScale = this.getScaleForId(iid); + meta.vScale = this.getScaleForId(vid); + } + getDataset() { + return this.chart.data.datasets[this.index]; + } + getMeta() { + return this.chart.getDatasetMeta(this.index); + } + getScaleForId(scaleID) { + return this.chart.scales[scaleID]; + } + _getOtherScale(scale) { + const meta = this._cachedMeta; + return scale === meta.iScale + ? meta.vScale + : meta.iScale; + } + reset() { + this._update('reset'); + } + _destroy() { + const meta = this._cachedMeta; + if (this._data) { + unlistenArrayEvents(this._data, this); + } + if (meta._stacked) { + clearStacks(meta); + } + } + _dataCheck() { + const dataset = this.getDataset(); + const data = dataset.data || (dataset.data = []); + const _data = this._data; + if (isObject(data)) { + this._data = convertObjectDataToArray(data); + } else if (_data !== data) { + if (_data) { + unlistenArrayEvents(_data, this); + const meta = this._cachedMeta; + clearStacks(meta); + meta._parsed = []; + } + if (data && Object.isExtensible(data)) { + listenArrayEvents(data, this); + } + this._syncList = []; + this._data = data; + } + } + addElements() { + const meta = this._cachedMeta; + this._dataCheck(); + if (this.datasetElementType) { + meta.dataset = new this.datasetElementType(); + } + } + buildOrUpdateElements(resetNewElements) { + const meta = this._cachedMeta; + const dataset = this.getDataset(); + let stackChanged = false; + this._dataCheck(); + const oldStacked = meta._stacked; + meta._stacked = isStacked(meta.vScale, meta); + if (meta.stack !== dataset.stack) { + stackChanged = true; + clearStacks(meta); + meta.stack = dataset.stack; + } + this._resyncElements(resetNewElements); + if (stackChanged || oldStacked !== meta._stacked) { + updateStacks(this, meta._parsed); + } + } + configure() { + const config = this.chart.config; + const scopeKeys = config.datasetScopeKeys(this._type); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true); + this.options = config.createResolver(scopes, this.getContext()); + this._parsing = this.options.parsing; + this._cachedDataOpts = {}; + } + parse(start, count) { + const {_cachedMeta: meta, _data: data} = this; + const {iScale, _stacked} = meta; + const iAxis = iScale.axis; + let sorted = start === 0 && count === data.length ? true : meta._sorted; + let prev = start > 0 && meta._parsed[start - 1]; + let i, cur, parsed; + if (this._parsing === false) { + meta._parsed = data; + meta._sorted = true; + parsed = data; + } else { + if (isArray(data[start])) { + parsed = this.parseArrayData(meta, data, start, count); + } else if (isObject(data[start])) { + parsed = this.parseObjectData(meta, data, start, count); + } else { + parsed = this.parsePrimitiveData(meta, data, start, count); + } + const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]); + for (i = 0; i < count; ++i) { + meta._parsed[i + start] = cur = parsed[i]; + if (sorted) { + if (isNotInOrderComparedToPrev()) { + sorted = false; + } + prev = cur; + } + } + meta._sorted = sorted; + } + if (_stacked) { + updateStacks(this, parsed); + } + } + parsePrimitiveData(meta, data, start, count) { + const {iScale, vScale} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = new Array(count); + let i, ilen, index; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + parsed[i] = { + [iAxis]: singleScale || iScale.parse(labels[index], index), + [vAxis]: vScale.parse(data[index], index) + }; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const {xScale, yScale} = meta; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(item[0], index), + y: yScale.parse(item[1], index) + }; + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const {xScale, yScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(resolveObjectKey(item, xAxisKey), index), + y: yScale.parse(resolveObjectKey(item, yAxisKey), index) + }; + } + return parsed; + } + getParsed(index) { + return this._cachedMeta._parsed[index]; + } + getDataElement(index) { + return this._cachedMeta.data[index]; + } + applyStack(scale, parsed, mode) { + const chart = this.chart; + const meta = this._cachedMeta; + const value = parsed[scale.axis]; + const stack = { + keys: getSortedDatasetIndices(chart, true), + values: parsed._stacks[scale.axis] + }; + return applyStack(stack, value, meta.index, {mode}); + } + updateRangeFromParsed(range, scale, parsed, stack) { + const parsedValue = parsed[scale.axis]; + let value = parsedValue === null ? NaN : parsedValue; + const values = stack && parsed._stacks[scale.axis]; + if (stack && values) { + stack.values = values; + value = applyStack(stack, parsedValue, this._cachedMeta.index); + } + range.min = Math.min(range.min, value); + range.max = Math.max(range.max, value); + } + getMinMax(scale, canStack) { + const meta = this._cachedMeta; + const _parsed = meta._parsed; + const sorted = meta._sorted && scale === meta.iScale; + const ilen = _parsed.length; + const otherScale = this._getOtherScale(scale); + const stack = createStack(canStack, meta, this.chart); + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + const {min: otherMin, max: otherMax} = getUserBounds(otherScale); + let i, parsed; + function _skip() { + parsed = _parsed[i]; + const otherValue = parsed[otherScale.axis]; + return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue; + } + for (i = 0; i < ilen; ++i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + if (sorted) { + break; + } + } + if (sorted) { + for (i = ilen - 1; i >= 0; --i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + break; + } + } + return range; + } + getAllParsedValues(scale) { + const parsed = this._cachedMeta._parsed; + const values = []; + let i, ilen, value; + for (i = 0, ilen = parsed.length; i < ilen; ++i) { + value = parsed[i][scale.axis]; + if (isNumberFinite(value)) { + values.push(value); + } + } + return values; + } + getMaxOverflow() { + return false; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const iScale = meta.iScale; + const vScale = meta.vScale; + const parsed = this.getParsed(index); + return { + label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '', + value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : '' + }; + } + _update(mode) { + const meta = this._cachedMeta; + this.update(mode || 'default'); + meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow()))); + } + update(mode) {} + draw() { + const ctx = this._ctx; + const chart = this.chart; + const meta = this._cachedMeta; + const elements = meta.data || []; + const area = chart.chartArea; + const active = []; + const start = this._drawStart || 0; + const count = this._drawCount || (elements.length - start); + const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop; + let i; + if (meta.dataset) { + meta.dataset.draw(ctx, area, start, count); + } + for (i = start; i < start + count; ++i) { + const element = elements[i]; + if (element.hidden) { + continue; + } + if (element.active && drawActiveElementsOnTop) { + active.push(element); + } else { + element.draw(ctx, area); + } + } + for (i = 0; i < active.length; ++i) { + active[i].draw(ctx, area); + } + } + getStyle(index, active) { + const mode = active ? 'active' : 'default'; + return index === undefined && this._cachedMeta.dataset + ? this.resolveDatasetElementOptions(mode) + : this.resolveDataElementOptions(index || 0, mode); + } + getContext(index, active, mode) { + const dataset = this.getDataset(); + let context; + if (index >= 0 && index < this._cachedMeta.data.length) { + const element = this._cachedMeta.data[index]; + context = element.$context || + (element.$context = createDataContext(this.getContext(), index, element)); + context.parsed = this.getParsed(index); + context.raw = dataset.data[index]; + context.index = context.dataIndex = index; + } else { + context = this.$context || + (this.$context = createDatasetContext(this.chart.getContext(), this.index)); + context.dataset = dataset; + context.index = context.datasetIndex = this.index; + } + context.active = !!active; + context.mode = mode; + return context; + } + resolveDatasetElementOptions(mode) { + return this._resolveElementOptions(this.datasetElementType.id, mode); + } + resolveDataElementOptions(index, mode) { + return this._resolveElementOptions(this.dataElementType.id, mode, index); + } + _resolveElementOptions(elementType, mode = 'default', index) { + const active = mode === 'active'; + const cache = this._cachedDataOpts; + const cacheKey = elementType + '-' + mode; + const cached = cache[cacheKey]; + const sharing = this.enableOptionSharing && defined(index); + if (cached) { + return cloneIfNotShared(cached, sharing); + } + const config = this.chart.config; + const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); + const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, '']; + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + const names = Object.keys(defaults.elements[elementType]); + const context = () => this.getContext(index, active); + const values = config.resolveNamedOptions(scopes, names, context, prefixes); + if (values.$shared) { + values.$shared = sharing; + cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing)); + } + return values; + } + _resolveAnimations(index, transition, active) { + const chart = this.chart; + const cache = this._cachedDataOpts; + const cacheKey = `animation-${transition}`; + const cached = cache[cacheKey]; + if (cached) { + return cached; + } + let options; + if (chart.options.animation !== false) { + const config = this.chart.config; + const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + options = config.createResolver(scopes, this.getContext(index, active, transition)); + } + const animations = new Animations(chart, options && options.animations); + if (options && options._cacheable) { + cache[cacheKey] = Object.freeze(animations); + } + return animations; + } + getSharedOptions(options) { + if (!options.$shared) { + return; + } + return this._sharedOptions || (this._sharedOptions = Object.assign({}, options)); + } + includeOptions(mode, sharedOptions) { + return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; + } + _getSharedOptions(start, mode) { + const firstOpts = this.resolveDataElementOptions(start, mode); + const previouslySharedOptions = this._sharedOptions; + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions); + this.updateSharedOptions(sharedOptions, mode, firstOpts); + return {sharedOptions, includeOptions}; + } + updateElement(element, index, properties, mode) { + if (isDirectUpdateMode(mode)) { + Object.assign(element, properties); + } else { + this._resolveAnimations(index, mode).update(element, properties); + } + } + updateSharedOptions(sharedOptions, mode, newOptions) { + if (sharedOptions && !isDirectUpdateMode(mode)) { + this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions); + } + } + _setStyle(element, index, mode, active) { + element.active = active; + const options = this.getStyle(index, active); + this._resolveAnimations(index, mode, active).update(element, { + options: (!active && this.getSharedOptions(options)) || options + }); + } + removeHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', false); + } + setHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', true); + } + _removeDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', false); + } + } + _setDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', true); + } + } + _resyncElements(resetNewElements) { + const data = this._data; + const elements = this._cachedMeta.data; + for (const [method, arg1, arg2] of this._syncList) { + this[method](arg1, arg2); + } + this._syncList = []; + const numMeta = elements.length; + const numData = data.length; + const count = Math.min(numData, numMeta); + if (count) { + this.parse(0, count); + } + if (numData > numMeta) { + this._insertElements(numMeta, numData - numMeta, resetNewElements); + } else if (numData < numMeta) { + this._removeElements(numData, numMeta - numData); + } + } + _insertElements(start, count, resetNewElements = true) { + const meta = this._cachedMeta; + const data = meta.data; + const end = start + count; + let i; + const move = (arr) => { + arr.length += count; + for (i = arr.length - 1; i >= end; i--) { + arr[i] = arr[i - count]; + } + }; + move(data); + for (i = start; i < end; ++i) { + data[i] = new this.dataElementType(); + } + if (this._parsing) { + move(meta._parsed); + } + this.parse(start, count); + if (resetNewElements) { + this.updateElements(data, start, count, 'reset'); + } + } + updateElements(element, start, count, mode) {} + _removeElements(start, count) { + const meta = this._cachedMeta; + if (this._parsing) { + const removed = meta._parsed.splice(start, count); + if (meta._stacked) { + clearStacks(meta, removed); + } + } + meta.data.splice(start, count); + } + _sync(args) { + if (this._parsing) { + this._syncList.push(args); + } else { + const [method, arg1, arg2] = args; + this[method](arg1, arg2); + } + this.chart._dataChanges.push([this.index, ...args]); + } + _onDataPush() { + const count = arguments.length; + this._sync(['_insertElements', this.getDataset().data.length - count, count]); + } + _onDataPop() { + this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]); + } + _onDataShift() { + this._sync(['_removeElements', 0, 1]); + } + _onDataSplice(start, count) { + if (count) { + this._sync(['_removeElements', start, count]); + } + const newCount = arguments.length - 2; + if (newCount) { + this._sync(['_insertElements', start, newCount]); + } + } + _onDataUnshift() { + this._sync(['_insertElements', 0, arguments.length]); + } +} +DatasetController.defaults = {}; +DatasetController.prototype.datasetElementType = null; +DatasetController.prototype.dataElementType = null; + +function getAllScaleValues(scale, type) { + if (!scale._cache.$bar) { + const visibleMetas = scale.getMatchingVisibleMetas(type); + let values = []; + for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) { + values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale)); + } + scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b)); + } + return scale._cache.$bar; +} +function computeMinSampleSize(meta) { + const scale = meta.iScale; + const values = getAllScaleValues(scale, meta.type); + let min = scale._length; + let i, ilen, curr, prev; + const updateMinAndPrev = () => { + if (curr === 32767 || curr === -32768) { + return; + } + if (defined(prev)) { + min = Math.min(min, Math.abs(curr - prev) || min); + } + prev = curr; + }; + for (i = 0, ilen = values.length; i < ilen; ++i) { + curr = scale.getPixelForValue(values[i]); + updateMinAndPrev(); + } + prev = undefined; + for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) { + curr = scale.getPixelForTick(i); + updateMinAndPrev(); + } + return min; +} +function computeFitCategoryTraits(index, ruler, options, stackCount) { + const thickness = options.barThickness; + let size, ratio; + if (isNullOrUndef(thickness)) { + size = ruler.min * options.categoryPercentage; + ratio = options.barPercentage; + } else { + size = thickness * stackCount; + ratio = 1; + } + return { + chunk: size / stackCount, + ratio, + start: ruler.pixels[index] - (size / 2) + }; +} +function computeFlexCategoryTraits(index, ruler, options, stackCount) { + const pixels = ruler.pixels; + const curr = pixels[index]; + let prev = index > 0 ? pixels[index - 1] : null; + let next = index < pixels.length - 1 ? pixels[index + 1] : null; + const percent = options.categoryPercentage; + if (prev === null) { + prev = curr - (next === null ? ruler.end - ruler.start : next - curr); + } + if (next === null) { + next = curr + curr - prev; + } + const start = curr - (curr - Math.min(prev, next)) / 2 * percent; + const size = Math.abs(next - prev) / 2 * percent; + return { + chunk: size / stackCount, + ratio: options.barPercentage, + start + }; +} +function parseFloatBar(entry, item, vScale, i) { + const startValue = vScale.parse(entry[0], i); + const endValue = vScale.parse(entry[1], i); + const min = Math.min(startValue, endValue); + const max = Math.max(startValue, endValue); + let barStart = min; + let barEnd = max; + if (Math.abs(min) > Math.abs(max)) { + barStart = max; + barEnd = min; + } + item[vScale.axis] = barEnd; + item._custom = { + barStart, + barEnd, + start: startValue, + end: endValue, + min, + max + }; +} +function parseValue(entry, item, vScale, i) { + if (isArray(entry)) { + parseFloatBar(entry, item, vScale, i); + } else { + item[vScale.axis] = vScale.parse(entry, i); + } + return item; +} +function parseArrayOrPrimitive(meta, data, start, count) { + const iScale = meta.iScale; + const vScale = meta.vScale; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = []; + let i, ilen, item, entry; + for (i = start, ilen = start + count; i < ilen; ++i) { + entry = data[i]; + item = {}; + item[iScale.axis] = singleScale || iScale.parse(labels[i], i); + parsed.push(parseValue(entry, item, vScale, i)); + } + return parsed; +} +function isFloatBar(custom) { + return custom && custom.barStart !== undefined && custom.barEnd !== undefined; +} +function barSign(size, vScale, actualBase) { + if (size !== 0) { + return sign(size); + } + return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1); +} +function borderProps(properties) { + let reverse, start, end, top, bottom; + if (properties.horizontal) { + reverse = properties.base > properties.x; + start = 'left'; + end = 'right'; + } else { + reverse = properties.base < properties.y; + start = 'bottom'; + end = 'top'; + } + if (reverse) { + top = 'end'; + bottom = 'start'; + } else { + top = 'start'; + bottom = 'end'; + } + return {start, end, reverse, top, bottom}; +} +function setBorderSkipped(properties, options, stack, index) { + let edge = options.borderSkipped; + const res = {}; + if (!edge) { + properties.borderSkipped = res; + return; + } + if (edge === true) { + properties.borderSkipped = {top: true, right: true, bottom: true, left: true}; + return; + } + const {start, end, reverse, top, bottom} = borderProps(properties); + if (edge === 'middle' && stack) { + properties.enableBorderRadius = true; + if ((stack._top || 0) === index) { + edge = top; + } else if ((stack._bottom || 0) === index) { + edge = bottom; + } else { + res[parseEdge(bottom, start, end, reverse)] = true; + edge = top; + } + } + res[parseEdge(edge, start, end, reverse)] = true; + properties.borderSkipped = res; +} +function parseEdge(edge, a, b, reverse) { + if (reverse) { + edge = swap(edge, a, b); + edge = startEnd(edge, b, a); + } else { + edge = startEnd(edge, a, b); + } + return edge; +} +function swap(orig, v1, v2) { + return orig === v1 ? v2 : orig === v2 ? v1 : orig; +} +function startEnd(v, start, end) { + return v === 'start' ? start : v === 'end' ? end : v; +} +function setInflateAmount(properties, {inflateAmount}, ratio) { + properties.inflateAmount = inflateAmount === 'auto' + ? ratio === 1 ? 0.33 : 0 + : inflateAmount; +} +class BarController extends DatasetController { + parsePrimitiveData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseArrayData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseObjectData(meta, data, start, count) { + const {iScale, vScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey; + const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey; + const parsed = []; + let i, ilen, item, obj; + for (i = start, ilen = start + count; i < ilen; ++i) { + obj = data[i]; + item = {}; + item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i); + parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i)); + } + return parsed; + } + updateRangeFromParsed(range, scale, parsed, stack) { + super.updateRangeFromParsed(range, scale, parsed, stack); + const custom = parsed._custom; + if (custom && scale === this._cachedMeta.vScale) { + range.min = Math.min(range.min, custom.min); + range.max = Math.max(range.max, custom.max); + } + } + getMaxOverflow() { + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {iScale, vScale} = meta; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const value = isFloatBar(custom) + ? '[' + custom.start + ', ' + custom.end + ']' + : '' + vScale.getLabelForValue(parsed[vScale.axis]); + return { + label: '' + iScale.getLabelForValue(parsed[iScale.axis]), + value + }; + } + initialize() { + this.enableOptionSharing = true; + super.initialize(); + const meta = this._cachedMeta; + meta.stack = this.getDataset().stack; + } + update(mode) { + const meta = this._cachedMeta; + this.updateElements(meta.data, 0, meta.data.length, mode); + } + updateElements(bars, start, count, mode) { + const reset = mode === 'reset'; + const {index, _cachedMeta: {vScale}} = this; + const base = vScale.getBasePixel(); + const horizontal = vScale.isHorizontal(); + const ruler = this._getRuler(); + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + for (let i = start; i < start + count; i++) { + const parsed = this.getParsed(i); + const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i); + const ipixels = this._calculateBarIndexPixels(i, ruler); + const stack = (parsed._stacks || {})[vScale.axis]; + const properties = { + horizontal, + base: vpixels.base, + enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom), + x: horizontal ? vpixels.head : ipixels.center, + y: horizontal ? ipixels.center : vpixels.head, + height: horizontal ? ipixels.size : Math.abs(vpixels.size), + width: horizontal ? Math.abs(vpixels.size) : ipixels.size + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode); + } + const options = properties.options || bars[i].options; + setBorderSkipped(properties, options, stack, index); + setInflateAmount(properties, options, ruler.ratio); + this.updateElement(bars[i], i, properties, mode); + } + } + _getStacks(last, dataIndex) { + const {iScale} = this._cachedMeta; + const metasets = iScale.getMatchingVisibleMetas(this._type) + .filter(meta => meta.controller.options.grouped); + const stacked = iScale.options.stacked; + const stacks = []; + const skipNull = (meta) => { + const parsed = meta.controller.getParsed(dataIndex); + const val = parsed && parsed[meta.vScale.axis]; + if (isNullOrUndef(val) || isNaN(val)) { + return true; + } + }; + for (const meta of metasets) { + if (dataIndex !== undefined && skipNull(meta)) { + continue; + } + if (stacked === false || stacks.indexOf(meta.stack) === -1 || + (stacked === undefined && meta.stack === undefined)) { + stacks.push(meta.stack); + } + if (meta.index === last) { + break; + } + } + if (!stacks.length) { + stacks.push(undefined); + } + return stacks; + } + _getStackCount(index) { + return this._getStacks(undefined, index).length; + } + _getStackIndex(datasetIndex, name, dataIndex) { + const stacks = this._getStacks(datasetIndex, dataIndex); + const index = (name !== undefined) + ? stacks.indexOf(name) + : -1; + return (index === -1) + ? stacks.length - 1 + : index; + } + _getRuler() { + const opts = this.options; + const meta = this._cachedMeta; + const iScale = meta.iScale; + const pixels = []; + let i, ilen; + for (i = 0, ilen = meta.data.length; i < ilen; ++i) { + pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i)); + } + const barThickness = opts.barThickness; + const min = barThickness || computeMinSampleSize(meta); + return { + min, + pixels, + start: iScale._startPixel, + end: iScale._endPixel, + stackCount: this._getStackCount(), + scale: iScale, + grouped: opts.grouped, + ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage + }; + } + _calculateBarValuePixels(index) { + const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this; + const actualBase = baseValue || 0; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const floating = isFloatBar(custom); + let value = parsed[vScale.axis]; + let start = 0; + let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value; + let head, size; + if (length !== value) { + start = length - value; + length = value; + } + if (floating) { + value = custom.barStart; + length = custom.barEnd - custom.barStart; + if (value !== 0 && sign(value) !== sign(custom.barEnd)) { + start = 0; + } + start += value; + } + const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start; + let base = vScale.getPixelForValue(startValue); + if (this.chart.getDataVisibility(index)) { + head = vScale.getPixelForValue(start + length); + } else { + head = base; + } + size = head - base; + if (Math.abs(size) < minBarLength) { + size = barSign(size, vScale, actualBase) * minBarLength; + if (value === actualBase) { + base -= size / 2; + } + const startPixel = vScale.getPixelForDecimal(0); + const endPixel = vScale.getPixelForDecimal(1); + const min = Math.min(startPixel, endPixel); + const max = Math.max(startPixel, endPixel); + base = Math.max(Math.min(base, max), min); + head = base + size; + } + if (base === vScale.getPixelForValue(actualBase)) { + const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2; + base += halfGrid; + size -= halfGrid; + } + return { + size, + base, + head, + center: head + size / 2 + }; + } + _calculateBarIndexPixels(index, ruler) { + const scale = ruler.scale; + const options = this.options; + const skipNull = options.skipNull; + const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); + let center, size; + if (ruler.grouped) { + const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; + const range = options.barThickness === 'flex' + ? computeFlexCategoryTraits(index, ruler, options, stackCount) + : computeFitCategoryTraits(index, ruler, options, stackCount); + const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined); + center = range.start + (range.chunk * stackIndex) + (range.chunk / 2); + size = Math.min(maxBarThickness, range.chunk * range.ratio); + } else { + center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index); + size = Math.min(maxBarThickness, ruler.min * ruler.ratio); + } + return { + base: center - size / 2, + head: center + size / 2, + center, + size + }; + } + draw() { + const meta = this._cachedMeta; + const vScale = meta.vScale; + const rects = meta.data; + const ilen = rects.length; + let i = 0; + for (; i < ilen; ++i) { + if (this.getParsed(i)[vScale.axis] !== null) { + rects[i].draw(this._ctx); + } + } + } +} +BarController.id = 'bar'; +BarController.defaults = { + datasetElementType: false, + dataElementType: 'bar', + categoryPercentage: 0.8, + barPercentage: 0.9, + grouped: true, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'base', 'width', 'height'] + } + } +}; +BarController.overrides = { + scales: { + _index_: { + type: 'category', + offset: true, + grid: { + offset: true + } + }, + _value_: { + type: 'linear', + beginAtZero: true, + } + } +}; + +class BubbleController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + super.initialize(); + } + parsePrimitiveData(meta, data, start, count) { + const parsed = super.parsePrimitiveData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const parsed = super.parseArrayData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const parsed = super.parseObjectData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + getMaxOverflow() { + const data = this._cachedMeta.data; + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {xScale, yScale} = meta; + const parsed = this.getParsed(index); + const x = xScale.getLabelForValue(parsed.x); + const y = yScale.getLabelForValue(parsed.y); + const r = parsed._custom; + return { + label: meta.label, + value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')' + }; + } + update(mode) { + const points = this._cachedMeta.data; + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const parsed = !reset && this.getParsed(i); + const properties = {}; + const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); + const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); + properties.skip = isNaN(iPixel) || isNaN(vPixel); + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + if (reset) { + properties.options.radius = 0; + } + } + this.updateElement(point, i, properties, mode); + } + } + resolveDataElementOptions(index, mode) { + const parsed = this.getParsed(index); + let values = super.resolveDataElementOptions(index, mode); + if (values.$shared) { + values = Object.assign({}, values, {$shared: false}); + } + const radius = values.radius; + if (mode !== 'active') { + values.radius = 0; + } + values.radius += valueOrDefault(parsed && parsed._custom, radius); + return values; + } +} +BubbleController.id = 'bubble'; +BubbleController.defaults = { + datasetElementType: false, + dataElementType: 'point', + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'borderWidth', 'radius'] + } + } +}; +BubbleController.overrides = { + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + } + } + } + } +}; + +function getRatioAndOffset(rotation, circumference, cutout) { + let ratioX = 1; + let ratioY = 1; + let offsetX = 0; + let offsetY = 0; + if (circumference < TAU) { + const startAngle = rotation; + const endAngle = startAngle + circumference; + const startX = Math.cos(startAngle); + const startY = Math.sin(startAngle); + const endX = Math.cos(endAngle); + const endY = Math.sin(endAngle); + const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout); + const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout); + const maxX = calcMax(0, startX, endX); + const maxY = calcMax(HALF_PI, startY, endY); + const minX = calcMin(PI, startX, endX); + const minY = calcMin(PI + HALF_PI, startY, endY); + ratioX = (maxX - minX) / 2; + ratioY = (maxY - minY) / 2; + offsetX = -(maxX + minX) / 2; + offsetY = -(maxY + minY) / 2; + } + return {ratioX, ratioY, offsetX, offsetY}; +} +class DoughnutController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.enableOptionSharing = true; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.offsetX = undefined; + this.offsetY = undefined; + } + linkScales() {} + parse(start, count) { + const data = this.getDataset().data; + const meta = this._cachedMeta; + if (this._parsing === false) { + meta._parsed = data; + } else { + let getter = (i) => +data[i]; + if (isObject(data[start])) { + const {key = 'value'} = this._parsing; + getter = (i) => +resolveObjectKey(data[i], key); + } + let i, ilen; + for (i = start, ilen = start + count; i < ilen; ++i) { + meta._parsed[i] = getter(i); + } + } + } + _getRotation() { + return toRadians(this.options.rotation - 90); + } + _getCircumference() { + return toRadians(this.options.circumference); + } + _getRotationExtents() { + let min = TAU; + let max = -TAU; + for (let i = 0; i < this.chart.data.datasets.length; ++i) { + if (this.chart.isDatasetVisible(i)) { + const controller = this.chart.getDatasetMeta(i).controller; + const rotation = controller._getRotation(); + const circumference = controller._getCircumference(); + min = Math.min(min, rotation); + max = Math.max(max, rotation + circumference); + } + } + return { + rotation: min, + circumference: max - min, + }; + } + update(mode) { + const chart = this.chart; + const {chartArea} = chart; + const meta = this._cachedMeta; + const arcs = meta.data; + const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing; + const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0); + const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1); + const chartWeight = this._getRingWeight(this.index); + const {circumference, rotation} = this._getRotationExtents(); + const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout); + const maxWidth = (chartArea.width - spacing) / ratioX; + const maxHeight = (chartArea.height - spacing) / ratioY; + const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); + const outerRadius = toDimension(this.options.radius, maxRadius); + const innerRadius = Math.max(outerRadius * cutout, 0); + const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal(); + this.offsetX = offsetX * outerRadius; + this.offsetY = offsetY * outerRadius; + meta.total = this.calculateTotal(); + this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index); + this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0); + this.updateElements(arcs, 0, arcs.length, mode); + } + _circumference(i, reset) { + const opts = this.options; + const meta = this._cachedMeta; + const circumference = this._getCircumference(); + if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) { + return 0; + } + return this.calculateCircumference(meta._parsed[i] * circumference / TAU); + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const animationOpts = opts.animation; + const centerX = (chartArea.left + chartArea.right) / 2; + const centerY = (chartArea.top + chartArea.bottom) / 2; + const animateScale = reset && animationOpts.animateScale; + const innerRadius = animateScale ? 0 : this.innerRadius; + const outerRadius = animateScale ? 0 : this.outerRadius; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + let startAngle = this._getRotation(); + let i; + for (i = 0; i < start; ++i) { + startAngle += this._circumference(i, reset); + } + for (i = start; i < start + count; ++i) { + const circumference = this._circumference(i, reset); + const arc = arcs[i]; + const properties = { + x: centerX + this.offsetX, + y: centerY + this.offsetY, + startAngle, + endAngle: startAngle + circumference, + circumference, + outerRadius, + innerRadius + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode); + } + startAngle += circumference; + this.updateElement(arc, i, properties, mode); + } + } + calculateTotal() { + const meta = this._cachedMeta; + const metaData = meta.data; + let total = 0; + let i; + for (i = 0; i < metaData.length; i++) { + const value = meta._parsed[i]; + if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) { + total += Math.abs(value); + } + } + return total; + } + calculateCircumference(value) { + const total = this._cachedMeta.total; + if (total > 0 && !isNaN(value)) { + return TAU * (Math.abs(value) / total); + } + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index], chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + getMaxBorderWidth(arcs) { + let max = 0; + const chart = this.chart; + let i, ilen, meta, controller, options; + if (!arcs) { + for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) { + if (chart.isDatasetVisible(i)) { + meta = chart.getDatasetMeta(i); + arcs = meta.data; + controller = meta.controller; + break; + } + } + } + if (!arcs) { + return 0; + } + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + options = controller.resolveDataElementOptions(i); + if (options.borderAlign !== 'inner') { + max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0); + } + } + return max; + } + getMaxOffset(arcs) { + let max = 0; + for (let i = 0, ilen = arcs.length; i < ilen; ++i) { + const options = this.resolveDataElementOptions(i); + max = Math.max(max, options.offset || 0, options.hoverOffset || 0); + } + return max; + } + _getRingWeightOffset(datasetIndex) { + let ringWeightOffset = 0; + for (let i = 0; i < datasetIndex; ++i) { + if (this.chart.isDatasetVisible(i)) { + ringWeightOffset += this._getRingWeight(i); + } + } + return ringWeightOffset; + } + _getRingWeight(datasetIndex) { + return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0); + } + _getVisibleDatasetWeightTotal() { + return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; + } +} +DoughnutController.id = 'doughnut'; +DoughnutController.defaults = { + datasetElementType: false, + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: false + }, + animations: { + numbers: { + type: 'number', + properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing'] + }, + }, + cutout: '50%', + rotation: 0, + circumference: 360, + radius: '100%', + spacing: 0, + indexAxis: 'r', +}; +DoughnutController.descriptors = { + _scriptable: (name) => name !== 'spacing', + _indexable: (name) => name !== 'spacing', +}; +DoughnutController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(tooltipItem) { + let dataLabel = tooltipItem.label; + const value = ': ' + tooltipItem.formattedValue; + if (isArray(dataLabel)) { + dataLabel = dataLabel.slice(); + dataLabel[0] += value; + } else { + dataLabel += value; + } + return dataLabel; + } + } + } + } +}; + +class LineController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + this.supportsDecimation = true; + super.initialize(); + } + update(mode) { + const meta = this._cachedMeta; + const {dataset: line, data: points = [], _dataset} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + this.updateElements(points, start, count, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + } + getMaxOverflow() { + const meta = this._cachedMeta; + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + const data = meta.data || []; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } + draw() { + const meta = this._cachedMeta; + meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); + super.draw(); + } +} +LineController.id = 'line'; +LineController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + showLine: true, + spanGaps: false, +}; +LineController.overrides = { + scales: { + _index_: { + type: 'category', + }, + _value_: { + type: 'linear', + }, + } +}; + +class PolarAreaController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.innerRadius = undefined; + this.outerRadius = undefined; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index].r, chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const arcs = this._cachedMeta.data; + this._updateRadius(); + this.updateElements(arcs, 0, arcs.length, mode); + } + getMinMax() { + const meta = this._cachedMeta; + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + meta.data.forEach((element, index) => { + const parsed = this.getParsed(index).r; + if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { + if (parsed < range.min) { + range.min = parsed; + } + if (parsed > range.max) { + range.max = parsed; + } + } + }); + return range; + } + _updateRadius() { + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); + const outerRadius = Math.max(minSize / 2, 0); + const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0); + const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); + this.outerRadius = outerRadius - (radiusLength * this.index); + this.innerRadius = this.outerRadius - radiusLength; + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const opts = chart.options; + const animationOpts = opts.animation; + const scale = this._cachedMeta.rScale; + const centerX = scale.xCenter; + const centerY = scale.yCenter; + const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; + let angle = datasetStartAngle; + let i; + const defaultAngle = 360 / this.countVisibleElements(); + for (i = 0; i < start; ++i) { + angle += this._computeAngle(i, mode, defaultAngle); + } + for (i = start; i < start + count; i++) { + const arc = arcs[i]; + let startAngle = angle; + let endAngle = angle + this._computeAngle(i, mode, defaultAngle); + let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; + angle = endAngle; + if (reset) { + if (animationOpts.animateScale) { + outerRadius = 0; + } + if (animationOpts.animateRotate) { + startAngle = endAngle = datasetStartAngle; + } + } + const properties = { + x: centerX, + y: centerY, + innerRadius: 0, + outerRadius, + startAngle, + endAngle, + options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode) + }; + this.updateElement(arc, i, properties, mode); + } + } + countVisibleElements() { + const meta = this._cachedMeta; + let count = 0; + meta.data.forEach((element, index) => { + if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { + count++; + } + }); + return count; + } + _computeAngle(index, mode, defaultAngle) { + return this.chart.getDataVisibility(index) + ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) + : 0; + } +} +PolarAreaController.id = 'polarArea'; +PolarAreaController.defaults = { + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: true + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius'] + }, + }, + indexAxis: 'r', + startAngle: 0, +}; +PolarAreaController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(context) { + return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue; + } + } + } + }, + scales: { + r: { + type: 'radialLinear', + angleLines: { + display: false + }, + beginAtZero: true, + grid: { + circular: true + }, + pointLabels: { + display: false + }, + startAngle: 0 + } + } +}; + +class PieController extends DoughnutController { +} +PieController.id = 'pie'; +PieController.defaults = { + cutout: 0, + rotation: 0, + circumference: 360, + radius: '100%' +}; + +class RadarController extends DatasetController { + getLabelAndValue(index) { + const vScale = this._cachedMeta.vScale; + const parsed = this.getParsed(index); + return { + label: vScale.getLabels()[index], + value: '' + vScale.getLabelForValue(parsed[vScale.axis]) + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const meta = this._cachedMeta; + const line = meta.dataset; + const points = meta.data || []; + const labels = meta.iScale.getLabels(); + line.points = points; + if (mode !== 'resize') { + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + const properties = { + _loop: true, + _fullLoop: labels.length === points.length, + options + }; + this.updateElement(line, undefined, properties, mode); + } + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const scale = this._cachedMeta.rScale; + const reset = mode === 'reset'; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode); + const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); + const x = reset ? scale.xCenter : pointPosition.x; + const y = reset ? scale.yCenter : pointPosition.y; + const properties = { + x, + y, + angle: pointPosition.angle, + skip: isNaN(x) || isNaN(y), + options + }; + this.updateElement(point, i, properties, mode); + } + } +} +RadarController.id = 'radar'; +RadarController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + indexAxis: 'r', + showLine: true, + elements: { + line: { + fill: 'start' + } + }, +}; +RadarController.overrides = { + aspectRatio: 1, + scales: { + r: { + type: 'radialLinear', + } + } +}; + +class Element { + constructor() { + this.x = undefined; + this.y = undefined; + this.active = false; + this.options = undefined; + this.$animations = undefined; + } + tooltipPosition(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + hasValue() { + return isNumber(this.x) && isNumber(this.y); + } + getProps(props, final) { + const anims = this.$animations; + if (!final || !anims) { + return this; + } + const ret = {}; + props.forEach(prop => { + ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop]; + }); + return ret; + } +} +Element.defaults = {}; +Element.defaultRoutes = undefined; + +const formatters = { + values(value) { + return isArray(value) ? value : '' + value; + }, + numeric(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const locale = this.chart.options.locale; + let notation; + let delta = tickValue; + if (ticks.length > 1) { + const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); + if (maxTick < 1e-4 || maxTick > 1e+15) { + notation = 'scientific'; + } + delta = calculateDelta(tickValue, ticks); + } + const logDelta = log10(Math.abs(delta)); + const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); + const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal}; + Object.assign(options, this.options.ticks.format); + return formatNumber(tickValue, locale, options); + }, + logarithmic(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue)))); + if (remain === 1 || remain === 2 || remain === 5) { + return formatters.numeric.call(this, tickValue, index, ticks); + } + return ''; + } +}; +function calculateDelta(tickValue, ticks) { + let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; + if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { + delta = tickValue - Math.floor(tickValue); + } + return delta; +} +var Ticks = {formatters}; + +defaults.set('scale', { + display: true, + offset: false, + reverse: false, + beginAtZero: false, + bounds: 'ticks', + grace: 0, + grid: { + display: true, + lineWidth: 1, + drawBorder: true, + drawOnChartArea: true, + drawTicks: true, + tickLength: 8, + tickWidth: (_ctx, options) => options.lineWidth, + tickColor: (_ctx, options) => options.color, + offset: false, + borderDash: [], + borderDashOffset: 0.0, + borderWidth: 1 + }, + title: { + display: false, + text: '', + padding: { + top: 4, + bottom: 4 + } + }, + ticks: { + minRotation: 0, + maxRotation: 50, + mirror: false, + textStrokeWidth: 0, + textStrokeColor: '', + padding: 3, + display: true, + autoSkip: true, + autoSkipPadding: 3, + labelOffset: 0, + callback: Ticks.formatters.values, + minor: {}, + major: {}, + align: 'center', + crossAlign: 'near', + showLabelBackdrop: false, + backdropColor: 'rgba(255, 255, 255, 0.75)', + backdropPadding: 2, + } +}); +defaults.route('scale.ticks', 'color', '', 'color'); +defaults.route('scale.grid', 'color', '', 'borderColor'); +defaults.route('scale.grid', 'borderColor', '', 'borderColor'); +defaults.route('scale.title', 'color', '', 'color'); +defaults.describe('scale', { + _fallback: false, + _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser', + _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash', +}); +defaults.describe('scales', { + _fallback: 'scale', +}); +defaults.describe('scale.ticks', { + _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback', + _indexable: (name) => name !== 'backdropPadding', +}); + +function autoSkip(scale, ticks) { + const tickOpts = scale.options.ticks; + const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale); + const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; + const numMajorIndices = majorIndices.length; + const first = majorIndices[0]; + const last = majorIndices[numMajorIndices - 1]; + const newTicks = []; + if (numMajorIndices > ticksLimit) { + skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit); + return newTicks; + } + const spacing = calculateSpacing(majorIndices, ticks, ticksLimit); + if (numMajorIndices > 0) { + let i, ilen; + const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null; + skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first); + for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) { + skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]); + } + skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing); + return newTicks; + } + skip(ticks, newTicks, spacing); + return newTicks; +} +function determineMaxTicks(scale) { + const offset = scale.options.offset; + const tickLength = scale._tickSize(); + const maxScale = scale._length / tickLength + (offset ? 0 : 1); + const maxChart = scale._maxLength / tickLength; + return Math.floor(Math.min(maxScale, maxChart)); +} +function calculateSpacing(majorIndices, ticks, ticksLimit) { + const evenMajorSpacing = getEvenSpacing(majorIndices); + const spacing = ticks.length / ticksLimit; + if (!evenMajorSpacing) { + return Math.max(spacing, 1); + } + const factors = _factorize(evenMajorSpacing); + for (let i = 0, ilen = factors.length - 1; i < ilen; i++) { + const factor = factors[i]; + if (factor > spacing) { + return factor; + } + } + return Math.max(spacing, 1); +} +function getMajorIndices(ticks) { + const result = []; + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (ticks[i].major) { + result.push(i); + } + } + return result; +} +function skipMajors(ticks, newTicks, majorIndices, spacing) { + let count = 0; + let next = majorIndices[0]; + let i; + spacing = Math.ceil(spacing); + for (i = 0; i < ticks.length; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = majorIndices[count * spacing]; + } + } +} +function skip(ticks, newTicks, spacing, majorStart, majorEnd) { + const start = valueOrDefault(majorStart, 0); + const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length); + let count = 0; + let length, i, next; + spacing = Math.ceil(spacing); + if (majorEnd) { + length = majorEnd - majorStart; + spacing = length / Math.floor(length / spacing); + } + next = start; + while (next < 0) { + count++; + next = Math.round(start + count * spacing); + } + for (i = Math.max(start, 0); i < end; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = Math.round(start + count * spacing); + } + } +} +function getEvenSpacing(arr) { + const len = arr.length; + let i, diff; + if (len < 2) { + return false; + } + for (diff = arr[0], i = 1; i < len; ++i) { + if (arr[i] - arr[i - 1] !== diff) { + return false; + } + } + return diff; +} + +const reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align; +const offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset; +function sample(arr, numItems) { + const result = []; + const increment = arr.length / numItems; + const len = arr.length; + let i = 0; + for (; i < len; i += increment) { + result.push(arr[Math.floor(i)]); + } + return result; +} +function getPixelForGridLine(scale, index, offsetGridLines) { + const length = scale.ticks.length; + const validIndex = Math.min(index, length - 1); + const start = scale._startPixel; + const end = scale._endPixel; + const epsilon = 1e-6; + let lineValue = scale.getPixelForTick(validIndex); + let offset; + if (offsetGridLines) { + if (length === 1) { + offset = Math.max(lineValue - start, end - lineValue); + } else if (index === 0) { + offset = (scale.getPixelForTick(1) - lineValue) / 2; + } else { + offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2; + } + lineValue += validIndex < index ? offset : -offset; + if (lineValue < start - epsilon || lineValue > end + epsilon) { + return; + } + } + return lineValue; +} +function garbageCollect(caches, length) { + each(caches, (cache) => { + const gc = cache.gc; + const gcLen = gc.length / 2; + let i; + if (gcLen > length) { + for (i = 0; i < gcLen; ++i) { + delete cache.data[gc[i]]; + } + gc.splice(0, gcLen); + } + }); +} +function getTickMarkLength(options) { + return options.drawTicks ? options.tickLength : 0; +} +function getTitleHeight(options, fallback) { + if (!options.display) { + return 0; + } + const font = toFont(options.font, fallback); + const padding = toPadding(options.padding); + const lines = isArray(options.text) ? options.text.length : 1; + return (lines * font.lineHeight) + padding.height; +} +function createScaleContext(parent, scale) { + return createContext(parent, { + scale, + type: 'scale' + }); +} +function createTickContext(parent, index, tick) { + return createContext(parent, { + tick, + index, + type: 'tick' + }); +} +function titleAlign(align, position, reverse) { + let ret = _toLeftRightCenter(align); + if ((reverse && position !== 'right') || (!reverse && position === 'right')) { + ret = reverseAlign(ret); + } + return ret; +} +function titleArgs(scale, offset, position, align) { + const {top, left, bottom, right, chart} = scale; + const {chartArea, scales} = chart; + let rotation = 0; + let maxWidth, titleX, titleY; + const height = bottom - top; + const width = right - left; + if (scale.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleY = scales[positionAxisID].getPixelForValue(value) + height - offset; + } else if (position === 'center') { + titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset; + } else { + titleY = offsetFromEdge(scale, position, offset); + } + maxWidth = right - left; + } else { + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; + } else if (position === 'center') { + titleX = (chartArea.left + chartArea.right) / 2 - width + offset; + } else { + titleX = offsetFromEdge(scale, position, offset); + } + titleY = _alignStartEnd(align, bottom, top); + rotation = position === 'left' ? -HALF_PI : HALF_PI; + } + return {titleX, titleY, maxWidth, rotation}; +} +class Scale extends Element { + constructor(cfg) { + super(); + this.id = cfg.id; + this.type = cfg.type; + this.options = undefined; + this.ctx = cfg.ctx; + this.chart = cfg.chart; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this._margins = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + this.maxWidth = undefined; + this.maxHeight = undefined; + this.paddingTop = undefined; + this.paddingBottom = undefined; + this.paddingLeft = undefined; + this.paddingRight = undefined; + this.axis = undefined; + this.labelRotation = undefined; + this.min = undefined; + this.max = undefined; + this._range = undefined; + this.ticks = []; + this._gridLineItems = null; + this._labelItems = null; + this._labelSizes = null; + this._length = 0; + this._maxLength = 0; + this._longestTextCache = {}; + this._startPixel = undefined; + this._endPixel = undefined; + this._reversePixels = false; + this._userMax = undefined; + this._userMin = undefined; + this._suggestedMax = undefined; + this._suggestedMin = undefined; + this._ticksLength = 0; + this._borderValue = 0; + this._cache = {}; + this._dataLimitsCached = false; + this.$context = undefined; + } + init(options) { + this.options = options.setContext(this.getContext()); + this.axis = options.axis; + this._userMin = this.parse(options.min); + this._userMax = this.parse(options.max); + this._suggestedMin = this.parse(options.suggestedMin); + this._suggestedMax = this.parse(options.suggestedMax); + } + parse(raw, index) { + return raw; + } + getUserBounds() { + let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this; + _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY); + _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY); + _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY); + _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY); + return { + min: finiteOrDefault(_userMin, _suggestedMin), + max: finiteOrDefault(_userMax, _suggestedMax), + minDefined: isNumberFinite(_userMin), + maxDefined: isNumberFinite(_userMax) + }; + } + getMinMax(canStack) { + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + let range; + if (minDefined && maxDefined) { + return {min, max}; + } + const metas = this.getMatchingVisibleMetas(); + for (let i = 0, ilen = metas.length; i < ilen; ++i) { + range = metas[i].controller.getMinMax(this, canStack); + if (!minDefined) { + min = Math.min(min, range.min); + } + if (!maxDefined) { + max = Math.max(max, range.max); + } + } + min = maxDefined && min > max ? max : min; + max = minDefined && min > max ? min : max; + return { + min: finiteOrDefault(min, finiteOrDefault(max, min)), + max: finiteOrDefault(max, finiteOrDefault(min, max)) + }; + } + getPadding() { + return { + left: this.paddingLeft || 0, + top: this.paddingTop || 0, + right: this.paddingRight || 0, + bottom: this.paddingBottom || 0 + }; + } + getTicks() { + return this.ticks; + } + getLabels() { + const data = this.chart.data; + return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || []; + } + beforeLayout() { + this._cache = {}; + this._dataLimitsCached = false; + } + beforeUpdate() { + callback(this.options.beforeUpdate, [this]); + } + update(maxWidth, maxHeight, margins) { + const {beginAtZero, grace, ticks: tickOpts} = this.options; + const sampleSize = tickOpts.sampleSize; + this.beforeUpdate(); + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins = Object.assign({ + left: 0, + right: 0, + top: 0, + bottom: 0 + }, margins); + this.ticks = null; + this._labelSizes = null; + this._gridLineItems = null; + this._labelItems = null; + this.beforeSetDimensions(); + this.setDimensions(); + this.afterSetDimensions(); + this._maxLength = this.isHorizontal() + ? this.width + margins.left + margins.right + : this.height + margins.top + margins.bottom; + if (!this._dataLimitsCached) { + this.beforeDataLimits(); + this.determineDataLimits(); + this.afterDataLimits(); + this._range = _addGrace(this, grace, beginAtZero); + this._dataLimitsCached = true; + } + this.beforeBuildTicks(); + this.ticks = this.buildTicks() || []; + this.afterBuildTicks(); + const samplingEnabled = sampleSize < this.ticks.length; + this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks); + this.configure(); + this.beforeCalculateLabelRotation(); + this.calculateLabelRotation(); + this.afterCalculateLabelRotation(); + if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) { + this.ticks = autoSkip(this, this.ticks); + this._labelSizes = null; + this.afterAutoSkip(); + } + if (samplingEnabled) { + this._convertTicksToLabels(this.ticks); + } + this.beforeFit(); + this.fit(); + this.afterFit(); + this.afterUpdate(); + } + configure() { + let reversePixels = this.options.reverse; + let startPixel, endPixel; + if (this.isHorizontal()) { + startPixel = this.left; + endPixel = this.right; + } else { + startPixel = this.top; + endPixel = this.bottom; + reversePixels = !reversePixels; + } + this._startPixel = startPixel; + this._endPixel = endPixel; + this._reversePixels = reversePixels; + this._length = endPixel - startPixel; + this._alignToPixels = this.options.alignToPixels; + } + afterUpdate() { + callback(this.options.afterUpdate, [this]); + } + beforeSetDimensions() { + callback(this.options.beforeSetDimensions, [this]); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = 0; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = 0; + this.bottom = this.height; + } + this.paddingLeft = 0; + this.paddingTop = 0; + this.paddingRight = 0; + this.paddingBottom = 0; + } + afterSetDimensions() { + callback(this.options.afterSetDimensions, [this]); + } + _callHooks(name) { + this.chart.notifyPlugins(name, this.getContext()); + callback(this.options[name], [this]); + } + beforeDataLimits() { + this._callHooks('beforeDataLimits'); + } + determineDataLimits() {} + afterDataLimits() { + this._callHooks('afterDataLimits'); + } + beforeBuildTicks() { + this._callHooks('beforeBuildTicks'); + } + buildTicks() { + return []; + } + afterBuildTicks() { + this._callHooks('afterBuildTicks'); + } + beforeTickToLabelConversion() { + callback(this.options.beforeTickToLabelConversion, [this]); + } + generateTickLabels(ticks) { + const tickOpts = this.options.ticks; + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + tick = ticks[i]; + tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this); + } + } + afterTickToLabelConversion() { + callback(this.options.afterTickToLabelConversion, [this]); + } + beforeCalculateLabelRotation() { + callback(this.options.beforeCalculateLabelRotation, [this]); + } + calculateLabelRotation() { + const options = this.options; + const tickOpts = options.ticks; + const numTicks = this.ticks.length; + const minRotation = tickOpts.minRotation || 0; + const maxRotation = tickOpts.maxRotation; + let labelRotation = minRotation; + let tickWidth, maxHeight, maxLabelDiagonal; + if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) { + this.labelRotation = minRotation; + return; + } + const labelSizes = this._getLabelSizes(); + const maxLabelWidth = labelSizes.widest.width; + const maxLabelHeight = labelSizes.highest.height; + const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth); + tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1); + if (maxLabelWidth + 6 > tickWidth) { + tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1)); + maxHeight = this.maxHeight - getTickMarkLength(options.grid) + - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font); + maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight); + labelRotation = toDegrees(Math.min( + Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), + Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1)) + )); + labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation)); + } + this.labelRotation = labelRotation; + } + afterCalculateLabelRotation() { + callback(this.options.afterCalculateLabelRotation, [this]); + } + afterAutoSkip() {} + beforeFit() { + callback(this.options.beforeFit, [this]); + } + fit() { + const minSize = { + width: 0, + height: 0 + }; + const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this; + const display = this._isVisible(); + const isHorizontal = this.isHorizontal(); + if (display) { + const titleHeight = getTitleHeight(titleOpts, chart.options.font); + if (isHorizontal) { + minSize.width = this.maxWidth; + minSize.height = getTickMarkLength(gridOpts) + titleHeight; + } else { + minSize.height = this.maxHeight; + minSize.width = getTickMarkLength(gridOpts) + titleHeight; + } + if (tickOpts.display && this.ticks.length) { + const {first, last, widest, highest} = this._getLabelSizes(); + const tickPadding = tickOpts.padding * 2; + const angleRadians = toRadians(this.labelRotation); + const cos = Math.cos(angleRadians); + const sin = Math.sin(angleRadians); + if (isHorizontal) { + const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; + minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding); + } else { + const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height; + minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding); + } + this._calculatePadding(first, last, sin, cos); + } + } + this._handleMargins(); + if (isHorizontal) { + this.width = this._length = chart.width - this._margins.left - this._margins.right; + this.height = minSize.height; + } else { + this.width = minSize.width; + this.height = this._length = chart.height - this._margins.top - this._margins.bottom; + } + } + _calculatePadding(first, last, sin, cos) { + const {ticks: {align, padding}, position} = this.options; + const isRotated = this.labelRotation !== 0; + const labelsBelowTicks = position !== 'top' && this.axis === 'x'; + if (this.isHorizontal()) { + const offsetLeft = this.getPixelForTick(0) - this.left; + const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1); + let paddingLeft = 0; + let paddingRight = 0; + if (isRotated) { + if (labelsBelowTicks) { + paddingLeft = cos * first.width; + paddingRight = sin * last.height; + } else { + paddingLeft = sin * first.height; + paddingRight = cos * last.width; + } + } else if (align === 'start') { + paddingRight = last.width; + } else if (align === 'end') { + paddingLeft = first.width; + } else if (align !== 'inner') { + paddingLeft = first.width / 2; + paddingRight = last.width / 2; + } + this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0); + this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0); + } else { + let paddingTop = last.height / 2; + let paddingBottom = first.height / 2; + if (align === 'start') { + paddingTop = 0; + paddingBottom = first.height; + } else if (align === 'end') { + paddingTop = last.height; + paddingBottom = 0; + } + this.paddingTop = paddingTop + padding; + this.paddingBottom = paddingBottom + padding; + } + } + _handleMargins() { + if (this._margins) { + this._margins.left = Math.max(this.paddingLeft, this._margins.left); + this._margins.top = Math.max(this.paddingTop, this._margins.top); + this._margins.right = Math.max(this.paddingRight, this._margins.right); + this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom); + } + } + afterFit() { + callback(this.options.afterFit, [this]); + } + isHorizontal() { + const {axis, position} = this.options; + return position === 'top' || position === 'bottom' || axis === 'x'; + } + isFullSize() { + return this.options.fullSize; + } + _convertTicksToLabels(ticks) { + this.beforeTickToLabelConversion(); + this.generateTickLabels(ticks); + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (isNullOrUndef(ticks[i].label)) { + ticks.splice(i, 1); + ilen--; + i--; + } + } + this.afterTickToLabelConversion(); + } + _getLabelSizes() { + let labelSizes = this._labelSizes; + if (!labelSizes) { + const sampleSize = this.options.ticks.sampleSize; + let ticks = this.ticks; + if (sampleSize < ticks.length) { + ticks = sample(ticks, sampleSize); + } + this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length); + } + return labelSizes; + } + _computeLabelSizes(ticks, length) { + const {ctx, _longestTextCache: caches} = this; + const widths = []; + const heights = []; + let widestLabelSize = 0; + let highestLabelSize = 0; + let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel; + for (i = 0; i < length; ++i) { + label = ticks[i].label; + tickFont = this._resolveTickFontOptions(i); + ctx.font = fontString = tickFont.string; + cache = caches[fontString] = caches[fontString] || {data: {}, gc: []}; + lineHeight = tickFont.lineHeight; + width = height = 0; + if (!isNullOrUndef(label) && !isArray(label)) { + width = _measureText(ctx, cache.data, cache.gc, width, label); + height = lineHeight; + } else if (isArray(label)) { + for (j = 0, jlen = label.length; j < jlen; ++j) { + nestedLabel = label[j]; + if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) { + width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel); + height += lineHeight; + } + } + } + widths.push(width); + heights.push(height); + widestLabelSize = Math.max(width, widestLabelSize); + highestLabelSize = Math.max(height, highestLabelSize); + } + garbageCollect(caches, length); + const widest = widths.indexOf(widestLabelSize); + const highest = heights.indexOf(highestLabelSize); + const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0}); + return { + first: valueAt(0), + last: valueAt(length - 1), + widest: valueAt(widest), + highest: valueAt(highest), + widths, + heights, + }; + } + getLabelForValue(value) { + return value; + } + getPixelForValue(value, index) { + return NaN; + } + getValueForPixel(pixel) {} + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getPixelForDecimal(decimal) { + if (this._reversePixels) { + decimal = 1 - decimal; + } + const pixel = this._startPixel + decimal * this._length; + return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel); + } + getDecimalForPixel(pixel) { + const decimal = (pixel - this._startPixel) / this._length; + return this._reversePixels ? 1 - decimal : decimal; + } + getBasePixel() { + return this.getPixelForValue(this.getBaseValue()); + } + getBaseValue() { + const {min, max} = this; + return min < 0 && max < 0 ? max : + min > 0 && max > 0 ? min : + 0; + } + getContext(index) { + const ticks = this.ticks || []; + if (index >= 0 && index < ticks.length) { + const tick = ticks[index]; + return tick.$context || + (tick.$context = createTickContext(this.getContext(), index, tick)); + } + return this.$context || + (this.$context = createScaleContext(this.chart.getContext(), this)); + } + _tickSize() { + const optionTicks = this.options.ticks; + const rot = toRadians(this.labelRotation); + const cos = Math.abs(Math.cos(rot)); + const sin = Math.abs(Math.sin(rot)); + const labelSizes = this._getLabelSizes(); + const padding = optionTicks.autoSkipPadding || 0; + const w = labelSizes ? labelSizes.widest.width + padding : 0; + const h = labelSizes ? labelSizes.highest.height + padding : 0; + return this.isHorizontal() + ? h * cos > w * sin ? w / cos : h / sin + : h * sin < w * cos ? h / cos : w / sin; + } + _isVisible() { + const display = this.options.display; + if (display !== 'auto') { + return !!display; + } + return this.getMatchingVisibleMetas().length > 0; + } + _computeGridLineItems(chartArea) { + const axis = this.axis; + const chart = this.chart; + const options = this.options; + const {grid, position} = options; + const offset = grid.offset; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const ticksLength = ticks.length + (offset ? 1 : 0); + const tl = getTickMarkLength(grid); + const items = []; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0; + const axisHalfWidth = axisWidth / 2; + const alignBorderValue = function(pixel) { + return _alignPixel(chart, pixel, axisWidth); + }; + let borderValue, i, lineValue, alignedLineValue; + let tx1, ty1, tx2, ty2, x1, y1, x2, y2; + if (position === 'top') { + borderValue = alignBorderValue(this.bottom); + ty1 = this.bottom - tl; + ty2 = borderValue - axisHalfWidth; + y1 = alignBorderValue(chartArea.top) + axisHalfWidth; + y2 = chartArea.bottom; + } else if (position === 'bottom') { + borderValue = alignBorderValue(this.top); + y1 = chartArea.top; + y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth; + ty1 = borderValue + axisHalfWidth; + ty2 = this.top + tl; + } else if (position === 'left') { + borderValue = alignBorderValue(this.right); + tx1 = this.right - tl; + tx2 = borderValue - axisHalfWidth; + x1 = alignBorderValue(chartArea.left) + axisHalfWidth; + x2 = chartArea.right; + } else if (position === 'right') { + borderValue = alignBorderValue(this.left); + x1 = chartArea.left; + x2 = alignBorderValue(chartArea.right) - axisHalfWidth; + tx1 = borderValue + axisHalfWidth; + tx2 = this.left + tl; + } else if (axis === 'x') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + y1 = chartArea.top; + y2 = chartArea.bottom; + ty1 = borderValue + axisHalfWidth; + ty2 = ty1 + tl; + } else if (axis === 'y') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + tx1 = borderValue - axisHalfWidth; + tx2 = tx1 - tl; + x1 = chartArea.left; + x2 = chartArea.right; + } + const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); + const step = Math.max(1, Math.ceil(ticksLength / limit)); + for (i = 0; i < ticksLength; i += step) { + const optsAtIndex = grid.setContext(this.getContext(i)); + const lineWidth = optsAtIndex.lineWidth; + const lineColor = optsAtIndex.color; + const borderDash = optsAtIndex.borderDash || []; + const borderDashOffset = optsAtIndex.borderDashOffset; + const tickWidth = optsAtIndex.tickWidth; + const tickColor = optsAtIndex.tickColor; + const tickBorderDash = optsAtIndex.tickBorderDash || []; + const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset; + lineValue = getPixelForGridLine(this, i, offset); + if (lineValue === undefined) { + continue; + } + alignedLineValue = _alignPixel(chart, lineValue, lineWidth); + if (isHorizontal) { + tx1 = tx2 = x1 = x2 = alignedLineValue; + } else { + ty1 = ty2 = y1 = y2 = alignedLineValue; + } + items.push({ + tx1, + ty1, + tx2, + ty2, + x1, + y1, + x2, + y2, + width: lineWidth, + color: lineColor, + borderDash, + borderDashOffset, + tickWidth, + tickColor, + tickBorderDash, + tickBorderDashOffset, + }); + } + this._ticksLength = ticksLength; + this._borderValue = borderValue; + return items; + } + _computeLabelItems(chartArea) { + const axis = this.axis; + const options = this.options; + const {position, ticks: optionTicks} = options; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const {align, crossAlign, padding, mirror} = optionTicks; + const tl = getTickMarkLength(options.grid); + const tickAndPadding = tl + padding; + const hTickAndPadding = mirror ? -padding : tickAndPadding; + const rotation = -toRadians(this.labelRotation); + const items = []; + let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; + let textBaseline = 'middle'; + if (position === 'top') { + y = this.bottom - hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'bottom') { + y = this.top + hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'left') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (position === 'right') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (axis === 'x') { + if (position === 'center') { + y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding; + } + textAlign = this._getXAxisLabelAlignment(); + } else if (axis === 'y') { + if (position === 'center') { + x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + x = this.chart.scales[positionAxisID].getPixelForValue(value); + } + textAlign = this._getYAxisLabelAlignment(tl).textAlign; + } + if (axis === 'y') { + if (align === 'start') { + textBaseline = 'top'; + } else if (align === 'end') { + textBaseline = 'bottom'; + } + } + const labelSizes = this._getLabelSizes(); + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + label = tick.label; + const optsAtIndex = optionTicks.setContext(this.getContext(i)); + pixel = this.getPixelForTick(i) + optionTicks.labelOffset; + font = this._resolveTickFontOptions(i); + lineHeight = font.lineHeight; + lineCount = isArray(label) ? label.length : 1; + const halfCount = lineCount / 2; + const color = optsAtIndex.color; + const strokeColor = optsAtIndex.textStrokeColor; + const strokeWidth = optsAtIndex.textStrokeWidth; + let tickTextAlign = textAlign; + if (isHorizontal) { + x = pixel; + if (textAlign === 'inner') { + if (i === ilen - 1) { + tickTextAlign = !this.options.reverse ? 'right' : 'left'; + } else if (i === 0) { + tickTextAlign = !this.options.reverse ? 'left' : 'right'; + } else { + tickTextAlign = 'center'; + } + } + if (position === 'top') { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = -lineCount * lineHeight + lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight; + } else { + textOffset = -labelSizes.highest.height + lineHeight / 2; + } + } else { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight; + } else { + textOffset = labelSizes.highest.height - lineCount * lineHeight; + } + } + if (mirror) { + textOffset *= -1; + } + } else { + y = pixel; + textOffset = (1 - lineCount) * lineHeight / 2; + } + let backdrop; + if (optsAtIndex.showLabelBackdrop) { + const labelPadding = toPadding(optsAtIndex.backdropPadding); + const height = labelSizes.heights[i]; + const width = labelSizes.widths[i]; + let top = y + textOffset - labelPadding.top; + let left = x - labelPadding.left; + switch (textBaseline) { + case 'middle': + top -= height / 2; + break; + case 'bottom': + top -= height; + break; + } + switch (textAlign) { + case 'center': + left -= width / 2; + break; + case 'right': + left -= width; + break; + } + backdrop = { + left, + top, + width: width + labelPadding.width, + height: height + labelPadding.height, + color: optsAtIndex.backdropColor, + }; + } + items.push({ + rotation, + label, + font, + color, + strokeColor, + strokeWidth, + textOffset, + textAlign: tickTextAlign, + textBaseline, + translation: [x, y], + backdrop, + }); + } + return items; + } + _getXAxisLabelAlignment() { + const {position, ticks} = this.options; + const rotation = -toRadians(this.labelRotation); + if (rotation) { + return position === 'top' ? 'left' : 'right'; + } + let align = 'center'; + if (ticks.align === 'start') { + align = 'left'; + } else if (ticks.align === 'end') { + align = 'right'; + } else if (ticks.align === 'inner') { + align = 'inner'; + } + return align; + } + _getYAxisLabelAlignment(tl) { + const {position, ticks: {crossAlign, mirror, padding}} = this.options; + const labelSizes = this._getLabelSizes(); + const tickAndPadding = tl + padding; + const widest = labelSizes.widest.width; + let textAlign; + let x; + if (position === 'left') { + if (mirror) { + x = this.right + padding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += (widest / 2); + } else { + textAlign = 'right'; + x += widest; + } + } else { + x = this.right - tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x = this.left; + } + } + } else if (position === 'right') { + if (mirror) { + x = this.left + padding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x -= widest; + } + } else { + x = this.left + tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += widest / 2; + } else { + textAlign = 'right'; + x = this.right; + } + } + } else { + textAlign = 'right'; + } + return {textAlign, x}; + } + _computeLabelArea() { + if (this.options.ticks.mirror) { + return; + } + const chart = this.chart; + const position = this.options.position; + if (position === 'left' || position === 'right') { + return {top: 0, left: this.left, bottom: chart.height, right: this.right}; + } if (position === 'top' || position === 'bottom') { + return {top: this.top, left: 0, bottom: this.bottom, right: chart.width}; + } + } + drawBackground() { + const {ctx, options: {backgroundColor}, left, top, width, height} = this; + if (backgroundColor) { + ctx.save(); + ctx.fillStyle = backgroundColor; + ctx.fillRect(left, top, width, height); + ctx.restore(); + } + } + getLineWidthForValue(value) { + const grid = this.options.grid; + if (!this._isVisible() || !grid.display) { + return 0; + } + const ticks = this.ticks; + const index = ticks.findIndex(t => t.value === value); + if (index >= 0) { + const opts = grid.setContext(this.getContext(index)); + return opts.lineWidth; + } + return 0; + } + drawGrid(chartArea) { + const grid = this.options.grid; + const ctx = this.ctx; + const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea)); + let i, ilen; + const drawLine = (p1, p2, style) => { + if (!style.width || !style.color) { + return; + } + ctx.save(); + ctx.lineWidth = style.width; + ctx.strokeStyle = style.color; + ctx.setLineDash(style.borderDash || []); + ctx.lineDashOffset = style.borderDashOffset; + ctx.beginPath(); + ctx.moveTo(p1.x, p1.y); + ctx.lineTo(p2.x, p2.y); + ctx.stroke(); + ctx.restore(); + }; + if (grid.display) { + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + if (grid.drawOnChartArea) { + drawLine( + {x: item.x1, y: item.y1}, + {x: item.x2, y: item.y2}, + item + ); + } + if (grid.drawTicks) { + drawLine( + {x: item.tx1, y: item.ty1}, + {x: item.tx2, y: item.ty2}, + { + color: item.tickColor, + width: item.tickWidth, + borderDash: item.tickBorderDash, + borderDashOffset: item.tickBorderDashOffset + } + ); + } + } + } + } + drawBorder() { + const {chart, ctx, options: {grid}} = this; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0; + if (!axisWidth) { + return; + } + const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth; + const borderValue = this._borderValue; + let x1, x2, y1, y2; + if (this.isHorizontal()) { + x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2; + x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2; + y1 = y2 = borderValue; + } else { + y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2; + y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2; + x1 = x2 = borderValue; + } + ctx.save(); + ctx.lineWidth = borderOpts.borderWidth; + ctx.strokeStyle = borderOpts.borderColor; + ctx.beginPath(); + ctx.moveTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.stroke(); + ctx.restore(); + } + drawLabels(chartArea) { + const optionTicks = this.options.ticks; + if (!optionTicks.display) { + return; + } + const ctx = this.ctx; + const area = this._computeLabelArea(); + if (area) { + clipArea(ctx, area); + } + const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea)); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + const tickFont = item.font; + const label = item.label; + if (item.backdrop) { + ctx.fillStyle = item.backdrop.color; + ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height); + } + let y = item.textOffset; + renderText(ctx, label, 0, y, tickFont, item); + } + if (area) { + unclipArea(ctx); + } + } + drawTitle() { + const {ctx, options: {position, title, reverse}} = this; + if (!title.display) { + return; + } + const font = toFont(title.font); + const padding = toPadding(title.padding); + const align = title.align; + let offset = font.lineHeight / 2; + if (position === 'bottom' || position === 'center' || isObject(position)) { + offset += padding.bottom; + if (isArray(title.text)) { + offset += font.lineHeight * (title.text.length - 1); + } + } else { + offset += padding.top; + } + const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align); + renderText(ctx, title.text, 0, 0, font, { + color: title.color, + maxWidth, + rotation, + textAlign: titleAlign(align, position, reverse), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } + draw(chartArea) { + if (!this._isVisible()) { + return; + } + this.drawBackground(); + this.drawGrid(chartArea); + this.drawBorder(); + this.drawTitle(); + this.drawLabels(chartArea); + } + _layers() { + const opts = this.options; + const tz = opts.ticks && opts.ticks.z || 0; + const gz = valueOrDefault(opts.grid && opts.grid.z, -1); + if (!this._isVisible() || this.draw !== Scale.prototype.draw) { + return [{ + z: tz, + draw: (chartArea) => { + this.draw(chartArea); + } + }]; + } + return [{ + z: gz, + draw: (chartArea) => { + this.drawBackground(); + this.drawGrid(chartArea); + this.drawTitle(); + } + }, { + z: gz + 1, + draw: () => { + this.drawBorder(); + } + }, { + z: tz, + draw: (chartArea) => { + this.drawLabels(chartArea); + } + }]; + } + getMatchingVisibleMetas(type) { + const metas = this.chart.getSortedVisibleDatasetMetas(); + const axisID = this.axis + 'AxisID'; + const result = []; + let i, ilen; + for (i = 0, ilen = metas.length; i < ilen; ++i) { + const meta = metas[i]; + if (meta[axisID] === this.id && (!type || meta.type === type)) { + result.push(meta); + } + } + return result; + } + _resolveTickFontOptions(index) { + const opts = this.options.ticks.setContext(this.getContext(index)); + return toFont(opts.font); + } + _maxDigits() { + const fontSize = this._resolveTickFontOptions(0).lineHeight; + return (this.isHorizontal() ? this.width : this.height) / fontSize; + } +} + +class TypedRegistry { + constructor(type, scope, override) { + this.type = type; + this.scope = scope; + this.override = override; + this.items = Object.create(null); + } + isForType(type) { + return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); + } + register(item) { + const proto = Object.getPrototypeOf(item); + let parentScope; + if (isIChartComponent(proto)) { + parentScope = this.register(proto); + } + const items = this.items; + const id = item.id; + const scope = this.scope + '.' + id; + if (!id) { + throw new Error('class does not have id: ' + item); + } + if (id in items) { + return scope; + } + items[id] = item; + registerDefaults(item, scope, parentScope); + if (this.override) { + defaults.override(item.id, item.overrides); + } + return scope; + } + get(id) { + return this.items[id]; + } + unregister(item) { + const items = this.items; + const id = item.id; + const scope = this.scope; + if (id in items) { + delete items[id]; + } + if (scope && id in defaults[scope]) { + delete defaults[scope][id]; + if (this.override) { + delete overrides[id]; + } + } + } +} +function registerDefaults(item, scope, parentScope) { + const itemDefaults = merge(Object.create(null), [ + parentScope ? defaults.get(parentScope) : {}, + defaults.get(scope), + item.defaults + ]); + defaults.set(scope, itemDefaults); + if (item.defaultRoutes) { + routeDefaults(scope, item.defaultRoutes); + } + if (item.descriptors) { + defaults.describe(scope, item.descriptors); + } +} +function routeDefaults(scope, routes) { + Object.keys(routes).forEach(property => { + const propertyParts = property.split('.'); + const sourceName = propertyParts.pop(); + const sourceScope = [scope].concat(propertyParts).join('.'); + const parts = routes[property].split('.'); + const targetName = parts.pop(); + const targetScope = parts.join('.'); + defaults.route(sourceScope, sourceName, targetScope, targetName); + }); +} +function isIChartComponent(proto) { + return 'id' in proto && 'defaults' in proto; +} + +class Registry { + constructor() { + this.controllers = new TypedRegistry(DatasetController, 'datasets', true); + this.elements = new TypedRegistry(Element, 'elements'); + this.plugins = new TypedRegistry(Object, 'plugins'); + this.scales = new TypedRegistry(Scale, 'scales'); + this._typedRegistries = [this.controllers, this.scales, this.elements]; + } + add(...args) { + this._each('register', args); + } + remove(...args) { + this._each('unregister', args); + } + addControllers(...args) { + this._each('register', args, this.controllers); + } + addElements(...args) { + this._each('register', args, this.elements); + } + addPlugins(...args) { + this._each('register', args, this.plugins); + } + addScales(...args) { + this._each('register', args, this.scales); + } + getController(id) { + return this._get(id, this.controllers, 'controller'); + } + getElement(id) { + return this._get(id, this.elements, 'element'); + } + getPlugin(id) { + return this._get(id, this.plugins, 'plugin'); + } + getScale(id) { + return this._get(id, this.scales, 'scale'); + } + removeControllers(...args) { + this._each('unregister', args, this.controllers); + } + removeElements(...args) { + this._each('unregister', args, this.elements); + } + removePlugins(...args) { + this._each('unregister', args, this.plugins); + } + removeScales(...args) { + this._each('unregister', args, this.scales); + } + _each(method, args, typedRegistry) { + [...args].forEach(arg => { + const reg = typedRegistry || this._getRegistryForType(arg); + if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) { + this._exec(method, reg, arg); + } else { + each(arg, item => { + const itemReg = typedRegistry || this._getRegistryForType(item); + this._exec(method, itemReg, item); + }); + } + }); + } + _exec(method, registry, component) { + const camelMethod = _capitalize(method); + callback(component['before' + camelMethod], [], component); + registry[method](component); + callback(component['after' + camelMethod], [], component); + } + _getRegistryForType(type) { + for (let i = 0; i < this._typedRegistries.length; i++) { + const reg = this._typedRegistries[i]; + if (reg.isForType(type)) { + return reg; + } + } + return this.plugins; + } + _get(id, typedRegistry, type) { + const item = typedRegistry.get(id); + if (item === undefined) { + throw new Error('"' + id + '" is not a registered ' + type + '.'); + } + return item; + } +} +var registry = new Registry(); + +class ScatterController extends DatasetController { + update(mode) { + const meta = this._cachedMeta; + const {data: points = []} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + if (this.options.showLine) { + const {dataset: line, _dataset} = meta; + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + } + this.updateElements(points, start, count, mode); + } + addElements() { + const {showLine} = this.options; + if (!this.datasetElementType && showLine) { + this.datasetElementType = registry.getElement('line'); + } + super.addElements(); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const firstOpts = this.resolveDataElementOptions(start, mode); + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + this.updateSharedOptions(sharedOptions, mode, firstOpts); + } + getMaxOverflow() { + const meta = this._cachedMeta; + const data = meta.data || []; + if (!this.options.showLine) { + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } +} +ScatterController.id = 'scatter'; +ScatterController.defaults = { + datasetElementType: false, + dataElementType: 'point', + showLine: false, + fill: false +}; +ScatterController.overrides = { + interaction: { + mode: 'point' + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + }, + label(item) { + return '(' + item.label + ', ' + item.formattedValue + ')'; + } + } + } + }, + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + } +}; + +var controllers = /*#__PURE__*/Object.freeze({ +__proto__: null, +BarController: BarController, +BubbleController: BubbleController, +DoughnutController: DoughnutController, +LineController: LineController, +PolarAreaController: PolarAreaController, +PieController: PieController, +RadarController: RadarController, +ScatterController: ScatterController +}); + +function abstract() { + throw new Error('This method is not implemented: Check that a complete date adapter is provided.'); +} +class DateAdapter { + constructor(options) { + this.options = options || {}; + } + init(chartOptions) {} + formats() { + return abstract(); + } + parse(value, format) { + return abstract(); + } + format(timestamp, format) { + return abstract(); + } + add(timestamp, amount, unit) { + return abstract(); + } + diff(a, b, unit) { + return abstract(); + } + startOf(timestamp, unit, weekday) { + return abstract(); + } + endOf(timestamp, unit) { + return abstract(); + } +} +DateAdapter.override = function(members) { + Object.assign(DateAdapter.prototype, members); +}; +var adapters = { + _date: DateAdapter +}; + +function binarySearch(metaset, axis, value, intersect) { + const {controller, data, _sorted} = metaset; + const iScale = controller._cachedMeta.iScale; + if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { + const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; + if (!intersect) { + return lookupMethod(data, axis, value); + } else if (controller._sharedOptions) { + const el = data[0]; + const range = typeof el.getRange === 'function' && el.getRange(axis); + if (range) { + const start = lookupMethod(data, axis, value - range); + const end = lookupMethod(data, axis, value + range); + return {lo: start.lo, hi: end.hi}; + } + } + } + return {lo: 0, hi: data.length - 1}; +} +function evaluateInteractionItems(chart, axis, position, handler, intersect) { + const metasets = chart.getSortedVisibleDatasetMetas(); + const value = position[axis]; + for (let i = 0, ilen = metasets.length; i < ilen; ++i) { + const {index, data} = metasets[i]; + const {lo, hi} = binarySearch(metasets[i], axis, value, intersect); + for (let j = lo; j <= hi; ++j) { + const element = data[j]; + if (!element.skip) { + handler(element, index, j); + } + } + } +} +function getDistanceMetricForAxis(axis) { + const useX = axis.indexOf('x') !== -1; + const useY = axis.indexOf('y') !== -1; + return function(pt1, pt2) { + const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; + const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; + return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); + }; +} +function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) { + const items = []; + if (!includeInvisible && !chart.isPointInArea(position)) { + return items; + } + const evaluationFunc = function(element, datasetIndex, index) { + if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) { + return; + } + if (element.inRange(position.x, position.y, useFinalPosition)) { + items.push({element, datasetIndex, index}); + } + }; + evaluateInteractionItems(chart, axis, position, evaluationFunc, true); + return items; +} +function getNearestRadialItems(chart, position, axis, useFinalPosition) { + let items = []; + function evaluationFunc(element, datasetIndex, index) { + const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition); + const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y}); + if (_angleBetween(angle, startAngle, endAngle)) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + let items = []; + const distanceMetric = getDistanceMetricForAxis(axis); + let minDistance = Number.POSITIVE_INFINITY; + function evaluationFunc(element, datasetIndex, index) { + const inRange = element.inRange(position.x, position.y, useFinalPosition); + if (intersect && !inRange) { + return; + } + const center = element.getCenterPoint(useFinalPosition); + const pointInArea = !!includeInvisible || chart.isPointInArea(center); + if (!pointInArea && !inRange) { + return; + } + const distance = distanceMetric(position, center); + if (distance < minDistance) { + items = [{element, datasetIndex, index}]; + minDistance = distance; + } else if (distance === minDistance) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + if (!includeInvisible && !chart.isPointInArea(position)) { + return []; + } + return axis === 'r' && !intersect + ? getNearestRadialItems(chart, position, axis, useFinalPosition) + : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible); +} +function getAxisItems(chart, position, axis, intersect, useFinalPosition) { + const items = []; + const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange'; + let intersectsItem = false; + evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => { + if (element[rangeMethod](position[axis], useFinalPosition)) { + items.push({element, datasetIndex, index}); + intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); + } + }); + if (intersect && !intersectsItem) { + return []; + } + return items; +} +var Interaction = { + evaluateInteractionItems, + modes: { + index(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'x'; + const includeInvisible = options.includeInvisible || false; + const items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) + : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + const elements = []; + if (!items.length) { + return []; + } + chart.getSortedVisibleDatasetMetas().forEach((meta) => { + const index = items[0].index; + const element = meta.data[index]; + if (element && !element.skip) { + elements.push({element, datasetIndex: meta.index, index}); + } + }); + return elements; + }, + dataset(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + let items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : + getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + if (items.length > 0) { + const datasetIndex = items[0].datasetIndex; + const data = chart.getDatasetMeta(datasetIndex).data; + items = []; + for (let i = 0; i < data.length; ++i) { + items.push({element: data[i], datasetIndex, index: i}); + } + } + return items; + }, + point(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible); + }, + nearest(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible); + }, + x(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition); + }, + y(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition); + } + } +}; + +const STATIC_POSITIONS = ['left', 'top', 'right', 'bottom']; +function filterByPosition(array, position) { + return array.filter(v => v.pos === position); +} +function filterDynamicPositionByAxis(array, axis) { + return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis); +} +function sortByWeight(array, reverse) { + return array.sort((a, b) => { + const v0 = reverse ? b : a; + const v1 = reverse ? a : b; + return v0.weight === v1.weight ? + v0.index - v1.index : + v0.weight - v1.weight; + }); +} +function wrapBoxes(boxes) { + const layoutBoxes = []; + let i, ilen, box, pos, stack, stackWeight; + for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) { + box = boxes[i]; + ({position: pos, options: {stack, stackWeight = 1}} = box); + layoutBoxes.push({ + index: i, + box, + pos, + horizontal: box.isHorizontal(), + weight: box.weight, + stack: stack && (pos + stack), + stackWeight + }); + } + return layoutBoxes; +} +function buildStacks(layouts) { + const stacks = {}; + for (const wrap of layouts) { + const {stack, pos, stackWeight} = wrap; + if (!stack || !STATIC_POSITIONS.includes(pos)) { + continue; + } + const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0}); + _stack.count++; + _stack.weight += stackWeight; + } + return stacks; +} +function setLayoutDims(layouts, params) { + const stacks = buildStacks(layouts); + const {vBoxMaxWidth, hBoxMaxHeight} = params; + let i, ilen, layout; + for (i = 0, ilen = layouts.length; i < ilen; ++i) { + layout = layouts[i]; + const {fullSize} = layout.box; + const stack = stacks[layout.stack]; + const factor = stack && layout.stackWeight / stack.weight; + if (layout.horizontal) { + layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth; + layout.height = hBoxMaxHeight; + } else { + layout.width = vBoxMaxWidth; + layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight; + } + } + return stacks; +} +function buildLayoutBoxes(boxes) { + const layoutBoxes = wrapBoxes(boxes); + const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true); + const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); + const right = sortByWeight(filterByPosition(layoutBoxes, 'right')); + const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); + const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); + const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x'); + const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y'); + return { + fullSize, + leftAndTop: left.concat(top), + rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal), + chartArea: filterByPosition(layoutBoxes, 'chartArea'), + vertical: left.concat(right).concat(centerVertical), + horizontal: top.concat(bottom).concat(centerHorizontal) + }; +} +function getCombinedMax(maxPadding, chartArea, a, b) { + return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); +} +function updateMaxPadding(maxPadding, boxPadding) { + 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); +} +function updateDims(chartArea, params, layout, stacks) { + const {pos, box} = layout; + const maxPadding = chartArea.maxPadding; + if (!isObject(pos)) { + if (layout.size) { + chartArea[pos] -= layout.size; + } + const stack = stacks[layout.stack] || {size: 0, count: 1}; + stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); + layout.size = stack.size / stack.count; + chartArea[pos] += layout.size; + } + if (box.getPadding) { + updateMaxPadding(maxPadding, box.getPadding()); + } + const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right')); + const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom')); + const widthChanged = newWidth !== chartArea.w; + const heightChanged = newHeight !== chartArea.h; + chartArea.w = newWidth; + chartArea.h = newHeight; + return layout.horizontal + ? {same: widthChanged, other: heightChanged} + : {same: heightChanged, other: widthChanged}; +} +function handleMaxPadding(chartArea) { + const maxPadding = chartArea.maxPadding; + function updatePos(pos) { + const 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) { + const maxPadding = chartArea.maxPadding; + function marginForPositions(positions) { + const margin = {left: 0, top: 0, right: 0, bottom: 0}; + positions.forEach((pos) => { + margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); + }); + return margin; + } + return horizontal + ? marginForPositions(['left', 'right']) + : marginForPositions(['top', 'bottom']); +} +function fitBoxes(boxes, chartArea, params, stacks) { + const refitBoxes = []; + let i, ilen, layout, box, refit, changed; + for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) { + layout = boxes[i]; + box = layout.box; + box.update( + layout.width || chartArea.w, + layout.height || chartArea.h, + getMargins(layout.horizontal, chartArea) + ); + const {same, other} = updateDims(chartArea, params, layout, stacks); + refit |= same && refitBoxes.length; + changed = changed || other; + if (!box.fullSize) { + refitBoxes.push(layout); + } + } + return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed; +} +function setBoxDims(box, left, top, width, height) { + box.top = top; + box.left = left; + box.right = left + width; + box.bottom = top + height; + box.width = width; + box.height = height; +} +function placeBoxes(boxes, chartArea, params, stacks) { + const userPadding = params.padding; + let {x, y} = chartArea; + for (const layout of boxes) { + const box = layout.box; + const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1}; + const weight = (layout.stackWeight / stack.weight) || 1; + if (layout.horizontal) { + const width = chartArea.w * weight; + const height = stack.size || box.height; + if (defined(stack.start)) { + y = stack.start; + } + if (box.fullSize) { + setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height); + } else { + setBoxDims(box, chartArea.left + stack.placed, y, width, height); + } + stack.start = y; + stack.placed += width; + y = box.bottom; + } else { + const height = chartArea.h * weight; + const width = stack.size || box.width; + if (defined(stack.start)) { + x = stack.start; + } + if (box.fullSize) { + setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); + } else { + setBoxDims(box, x, chartArea.top + stack.placed, width, height); + } + stack.start = x; + stack.placed += height; + x = box.right; + } + } + chartArea.x = x; + chartArea.y = y; +} +defaults.set('layout', { + autoPadding: true, + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } +}); +var layouts = { + addBox(chart, item) { + if (!chart.boxes) { + chart.boxes = []; + } + item.fullSize = item.fullSize || false; + item.position = item.position || 'top'; + item.weight = item.weight || 0; + item._layers = item._layers || function() { + return [{ + z: 0, + draw(chartArea) { + item.draw(chartArea); + } + }]; + }; + chart.boxes.push(item); + }, + removeBox(chart, layoutItem) { + const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; + if (index !== -1) { + chart.boxes.splice(index, 1); + } + }, + configure(chart, item, options) { + item.fullSize = options.fullSize; + item.position = options.position; + item.weight = options.weight; + }, + update(chart, width, height, minPadding) { + if (!chart) { + return; + } + const padding = toPadding(chart.options.layout.padding); + const availableWidth = Math.max(width - padding.width, 0); + const availableHeight = Math.max(height - padding.height, 0); + const boxes = buildLayoutBoxes(chart.boxes); + const verticalBoxes = boxes.vertical; + const horizontalBoxes = boxes.horizontal; + each(chart.boxes, box => { + if (typeof box.beforeLayout === 'function') { + box.beforeLayout(); + } + }); + const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) => + wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1; + const params = Object.freeze({ + outerWidth: width, + outerHeight: height, + padding, + availableWidth, + availableHeight, + vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, + hBoxMaxHeight: availableHeight / 2 + }); + const maxPadding = Object.assign({}, padding); + updateMaxPadding(maxPadding, toPadding(minPadding)); + const chartArea = Object.assign({ + maxPadding, + w: availableWidth, + h: availableHeight, + x: padding.left, + y: padding.top + }, padding); + const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); + fitBoxes(boxes.fullSize, chartArea, params, stacks); + fitBoxes(verticalBoxes, chartArea, params, stacks); + if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) { + fitBoxes(verticalBoxes, chartArea, params, stacks); + } + handleMaxPadding(chartArea); + placeBoxes(boxes.leftAndTop, chartArea, params, stacks); + chartArea.x += chartArea.w; + chartArea.y += chartArea.h; + placeBoxes(boxes.rightAndBottom, chartArea, params, stacks); + chart.chartArea = { + left: chartArea.left, + top: chartArea.top, + right: chartArea.left + chartArea.w, + bottom: chartArea.top + chartArea.h, + height: chartArea.h, + width: chartArea.w, + }; + each(boxes.chartArea, (layout) => { + const box = layout.box; + Object.assign(box, chart.chartArea); + box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0}); + }); + } +}; + +class BasePlatform { + acquireContext(canvas, aspectRatio) {} + releaseContext(context) { + return false; + } + addEventListener(chart, type, listener) {} + removeEventListener(chart, type, listener) {} + getDevicePixelRatio() { + return 1; + } + getMaximumSize(element, width, height, aspectRatio) { + width = Math.max(0, width || element.width); + height = height || element.height; + return { + width, + height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height) + }; + } + isAttached(canvas) { + return true; + } + updateConfig(config) { + } +} + +class BasicPlatform extends BasePlatform { + acquireContext(item) { + return item && item.getContext && item.getContext('2d') || null; + } + updateConfig(config) { + config.options.animation = false; + } +} + +const EXPANDO_KEY = '$chartjs'; +const EVENT_TYPES = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup', + pointerenter: 'mouseenter', + pointerdown: 'mousedown', + pointermove: 'mousemove', + pointerup: 'mouseup', + pointerleave: 'mouseout', + pointerout: 'mouseout' +}; +const isNullOrEmpty = value => value === null || value === ''; +function initCanvas(canvas, aspectRatio) { + const style = canvas.style; + const renderHeight = canvas.getAttribute('height'); + const renderWidth = canvas.getAttribute('width'); + canvas[EXPANDO_KEY] = { + initial: { + height: renderHeight, + width: renderWidth, + style: { + display: style.display, + height: style.height, + width: style.width + } + } + }; + style.display = style.display || 'block'; + style.boxSizing = style.boxSizing || 'border-box'; + if (isNullOrEmpty(renderWidth)) { + const displayWidth = readUsedSize(canvas, 'width'); + if (displayWidth !== undefined) { + canvas.width = displayWidth; + } + } + if (isNullOrEmpty(renderHeight)) { + if (canvas.style.height === '') { + canvas.height = canvas.width / (aspectRatio || 2); + } else { + const displayHeight = readUsedSize(canvas, 'height'); + if (displayHeight !== undefined) { + canvas.height = displayHeight; + } + } + } + return canvas; +} +const eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false; +function addListener(node, type, listener) { + node.addEventListener(type, listener, eventListenerOptions); +} +function removeListener(chart, type, listener) { + chart.canvas.removeEventListener(type, listener, eventListenerOptions); +} +function fromNativeEvent(event, chart) { + const type = EVENT_TYPES[event.type] || event.type; + const {x, y} = getRelativePosition(event, chart); + return { + type, + chart, + native: event, + x: x !== undefined ? x : null, + y: y !== undefined ? y : null, + }; +} +function nodeListContains(nodeList, canvas) { + for (const node of nodeList) { + if (node === canvas || node.contains(canvas)) { + return true; + } + } +} +function createAttachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.addedNodes, canvas); + trigger = trigger && !nodeListContains(entry.removedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +function createDetachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.removedNodes, canvas); + trigger = trigger && !nodeListContains(entry.addedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +const drpListeningCharts = new Map(); +let oldDevicePixelRatio = 0; +function onWindowResize() { + const dpr = window.devicePixelRatio; + if (dpr === oldDevicePixelRatio) { + return; + } + oldDevicePixelRatio = dpr; + drpListeningCharts.forEach((resize, chart) => { + if (chart.currentDevicePixelRatio !== dpr) { + resize(); + } + }); +} +function listenDevicePixelRatioChanges(chart, resize) { + if (!drpListeningCharts.size) { + window.addEventListener('resize', onWindowResize); + } + drpListeningCharts.set(chart, resize); +} +function unlistenDevicePixelRatioChanges(chart) { + drpListeningCharts.delete(chart); + if (!drpListeningCharts.size) { + window.removeEventListener('resize', onWindowResize); + } +} +function createResizeObserver(chart, type, listener) { + const canvas = chart.canvas; + const container = canvas && _getParentNode(canvas); + if (!container) { + return; + } + const resize = throttled((width, height) => { + const w = container.clientWidth; + listener(width, height); + if (w < container.clientWidth) { + listener(); + } + }, window); + const observer = new ResizeObserver(entries => { + const entry = entries[0]; + const width = entry.contentRect.width; + const height = entry.contentRect.height; + if (width === 0 && height === 0) { + return; + } + resize(width, height); + }); + observer.observe(container); + listenDevicePixelRatioChanges(chart, resize); + return observer; +} +function releaseObserver(chart, type, observer) { + if (observer) { + observer.disconnect(); + } + if (type === 'resize') { + unlistenDevicePixelRatioChanges(chart); + } +} +function createProxyAndListen(chart, type, listener) { + const canvas = chart.canvas; + const proxy = throttled((event) => { + if (chart.ctx !== null) { + listener(fromNativeEvent(event, chart)); + } + }, chart, (args) => { + const event = args[0]; + return [event, event.offsetX, event.offsetY]; + }); + addListener(canvas, type, proxy); + return proxy; +} +class DomPlatform extends BasePlatform { + acquireContext(canvas, aspectRatio) { + const context = canvas && canvas.getContext && canvas.getContext('2d'); + if (context && context.canvas === canvas) { + initCanvas(canvas, aspectRatio); + return context; + } + return null; + } + releaseContext(context) { + const canvas = context.canvas; + if (!canvas[EXPANDO_KEY]) { + return false; + } + const initial = canvas[EXPANDO_KEY].initial; + ['height', 'width'].forEach((prop) => { + const value = initial[prop]; + if (isNullOrUndef(value)) { + canvas.removeAttribute(prop); + } else { + canvas.setAttribute(prop, value); + } + }); + const style = initial.style || {}; + Object.keys(style).forEach((key) => { + canvas.style[key] = style[key]; + }); + canvas.width = canvas.width; + delete canvas[EXPANDO_KEY]; + return true; + } + addEventListener(chart, type, listener) { + this.removeEventListener(chart, type); + const proxies = chart.$proxies || (chart.$proxies = {}); + const handlers = { + attach: createAttachObserver, + detach: createDetachObserver, + resize: createResizeObserver + }; + const handler = handlers[type] || createProxyAndListen; + proxies[type] = handler(chart, type, listener); + } + removeEventListener(chart, type) { + const proxies = chart.$proxies || (chart.$proxies = {}); + const proxy = proxies[type]; + if (!proxy) { + return; + } + const handlers = { + attach: releaseObserver, + detach: releaseObserver, + resize: releaseObserver + }; + const handler = handlers[type] || removeListener; + handler(chart, type, proxy); + proxies[type] = undefined; + } + getDevicePixelRatio() { + return window.devicePixelRatio; + } + getMaximumSize(canvas, width, height, aspectRatio) { + return getMaximumSize(canvas, width, height, aspectRatio); + } + isAttached(canvas) { + const container = _getParentNode(canvas); + return !!(container && container.isConnected); + } +} + +function _detectPlatform(canvas) { + if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) { + return BasicPlatform; + } + return DomPlatform; +} + +class PluginService { + constructor() { + this._init = []; + } + notify(chart, hook, args, filter) { + if (hook === 'beforeInit') { + this._init = this._createDescriptors(chart, true); + this._notify(this._init, chart, 'install'); + } + const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart); + const result = this._notify(descriptors, chart, hook, args); + if (hook === 'afterDestroy') { + this._notify(descriptors, chart, 'stop'); + this._notify(this._init, chart, 'uninstall'); + } + return result; + } + _notify(descriptors, chart, hook, args) { + args = args || {}; + for (const descriptor of descriptors) { + const plugin = descriptor.plugin; + const method = plugin[hook]; + const params = [chart, args, descriptor.options]; + if (callback(method, params, plugin) === false && args.cancelable) { + return false; + } + } + return true; + } + invalidate() { + if (!isNullOrUndef(this._cache)) { + this._oldCache = this._cache; + this._cache = undefined; + } + } + _descriptors(chart) { + if (this._cache) { + return this._cache; + } + const descriptors = this._cache = this._createDescriptors(chart); + this._notifyStateChanges(chart); + return descriptors; + } + _createDescriptors(chart, all) { + const config = chart && chart.config; + const options = valueOrDefault(config.options && config.options.plugins, {}); + const plugins = allPlugins(config); + return options === false && !all ? [] : createDescriptors(chart, plugins, options, all); + } + _notifyStateChanges(chart) { + const previousDescriptors = this._oldCache || []; + const descriptors = this._cache; + const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id)); + this._notify(diff(previousDescriptors, descriptors), chart, 'stop'); + this._notify(diff(descriptors, previousDescriptors), chart, 'start'); + } +} +function allPlugins(config) { + const localIds = {}; + const plugins = []; + const keys = Object.keys(registry.plugins.items); + for (let i = 0; i < keys.length; i++) { + plugins.push(registry.getPlugin(keys[i])); + } + const local = config.plugins || []; + for (let i = 0; i < local.length; i++) { + const plugin = local[i]; + if (plugins.indexOf(plugin) === -1) { + plugins.push(plugin); + localIds[plugin.id] = true; + } + } + return {plugins, localIds}; +} +function getOpts(options, all) { + if (!all && options === false) { + return null; + } + if (options === true) { + return {}; + } + return options; +} +function createDescriptors(chart, {plugins, localIds}, options, all) { + const result = []; + const context = chart.getContext(); + for (const plugin of plugins) { + const id = plugin.id; + const opts = getOpts(options[id], all); + if (opts === null) { + continue; + } + result.push({ + plugin, + options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context) + }); + } + return result; +} +function pluginOpts(config, {plugin, local}, opts, context) { + const keys = config.pluginScopeKeys(plugin); + const scopes = config.getOptionScopes(opts, keys); + if (local && plugin.defaults) { + scopes.push(plugin.defaults); + } + return config.createResolver(scopes, context, [''], { + scriptable: false, + indexable: false, + allKeys: true + }); +} + +function getIndexAxis(type, options) { + const datasetDefaults = defaults.datasets[type] || {}; + const datasetOptions = (options.datasets || {})[type] || {}; + return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x'; +} +function getAxisFromDefaultScaleID(id, indexAxis) { + let axis = id; + if (id === '_index_') { + axis = indexAxis; + } else if (id === '_value_') { + axis = indexAxis === 'x' ? 'y' : 'x'; + } + return axis; +} +function getDefaultScaleIDFromAxis(axis, indexAxis) { + return axis === indexAxis ? '_index_' : '_value_'; +} +function axisFromPosition(position) { + if (position === 'top' || position === 'bottom') { + return 'x'; + } + if (position === 'left' || position === 'right') { + return 'y'; + } +} +function determineAxis(id, scaleOptions) { + if (id === 'x' || id === 'y') { + return id; + } + return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase(); +} +function mergeScaleConfig(config, options) { + const chartDefaults = overrides[config.type] || {scales: {}}; + const configScales = options.scales || {}; + const chartIndexAxis = getIndexAxis(config.type, options); + const firstIDs = Object.create(null); + const scales = Object.create(null); + Object.keys(configScales).forEach(id => { + const scaleConf = configScales[id]; + if (!isObject(scaleConf)) { + return console.error(`Invalid scale configuration for scale: ${id}`); + } + if (scaleConf._proxy) { + return console.warn(`Ignoring resolver passed as options for scale: ${id}`); + } + const axis = determineAxis(id, scaleConf); + const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); + const defaultScaleOptions = chartDefaults.scales || {}; + firstIDs[axis] = firstIDs[axis] || id; + scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]); + }); + config.data.datasets.forEach(dataset => { + const type = dataset.type || config.type; + const indexAxis = dataset.indexAxis || getIndexAxis(type, options); + const datasetDefaults = overrides[type] || {}; + const defaultScaleOptions = datasetDefaults.scales || {}; + Object.keys(defaultScaleOptions).forEach(defaultID => { + const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); + const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis; + scales[id] = scales[id] || Object.create(null); + mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]); + }); + }); + Object.keys(scales).forEach(key => { + const scale = scales[key]; + mergeIf(scale, [defaults.scales[scale.type], defaults.scale]); + }); + return scales; +} +function initOptions(config) { + const options = config.options || (config.options = {}); + options.plugins = valueOrDefault(options.plugins, {}); + options.scales = mergeScaleConfig(config, options); +} +function initData(data) { + data = data || {}; + data.datasets = data.datasets || []; + data.labels = data.labels || []; + return data; +} +function initConfig(config) { + config = config || {}; + config.data = initData(config.data); + initOptions(config); + return config; +} +const keyCache = new Map(); +const keysCached = new Set(); +function cachedKeys(cacheKey, generate) { + let keys = keyCache.get(cacheKey); + if (!keys) { + keys = generate(); + keyCache.set(cacheKey, keys); + keysCached.add(keys); + } + return keys; +} +const addIfFound = (set, obj, key) => { + const opts = resolveObjectKey(obj, key); + if (opts !== undefined) { + set.add(opts); + } +}; +class Config { + constructor(config) { + this._config = initConfig(config); + this._scopeCache = new Map(); + this._resolverCache = new Map(); + } + get platform() { + return this._config.platform; + } + get type() { + return this._config.type; + } + set type(type) { + this._config.type = type; + } + get data() { + return this._config.data; + } + set data(data) { + this._config.data = initData(data); + } + get options() { + return this._config.options; + } + set options(options) { + this._config.options = options; + } + get plugins() { + return this._config.plugins; + } + update() { + const config = this._config; + this.clearCache(); + initOptions(config); + } + clearCache() { + this._scopeCache.clear(); + this._resolverCache.clear(); + } + datasetScopeKeys(datasetType) { + return cachedKeys(datasetType, + () => [[ + `datasets.${datasetType}`, + '' + ]]); + } + datasetAnimationScopeKeys(datasetType, transition) { + return cachedKeys(`${datasetType}.transition.${transition}`, + () => [ + [ + `datasets.${datasetType}.transitions.${transition}`, + `transitions.${transition}`, + ], + [ + `datasets.${datasetType}`, + '' + ] + ]); + } + datasetElementScopeKeys(datasetType, elementType) { + return cachedKeys(`${datasetType}-${elementType}`, + () => [[ + `datasets.${datasetType}.elements.${elementType}`, + `datasets.${datasetType}`, + `elements.${elementType}`, + '' + ]]); + } + pluginScopeKeys(plugin) { + const id = plugin.id; + const type = this.type; + return cachedKeys(`${type}-plugin-${id}`, + () => [[ + `plugins.${id}`, + ...plugin.additionalOptionScopes || [], + ]]); + } + _cachedScopes(mainScope, resetCache) { + const _scopeCache = this._scopeCache; + let cache = _scopeCache.get(mainScope); + if (!cache || resetCache) { + cache = new Map(); + _scopeCache.set(mainScope, cache); + } + return cache; + } + getOptionScopes(mainScope, keyLists, resetCache) { + const {options, type} = this; + const cache = this._cachedScopes(mainScope, resetCache); + const cached = cache.get(keyLists); + if (cached) { + return cached; + } + const scopes = new Set(); + keyLists.forEach(keys => { + if (mainScope) { + scopes.add(mainScope); + keys.forEach(key => addIfFound(scopes, mainScope, key)); + } + keys.forEach(key => addIfFound(scopes, options, key)); + keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key)); + keys.forEach(key => addIfFound(scopes, defaults, key)); + keys.forEach(key => addIfFound(scopes, descriptors, key)); + }); + const array = Array.from(scopes); + if (array.length === 0) { + array.push(Object.create(null)); + } + if (keysCached.has(keyLists)) { + cache.set(keyLists, array); + } + return array; + } + chartOptionScopes() { + const {options, type} = this; + return [ + options, + overrides[type] || {}, + defaults.datasets[type] || {}, + {type}, + defaults, + descriptors + ]; + } + resolveNamedOptions(scopes, names, context, prefixes = ['']) { + const result = {$shared: true}; + const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes); + let options = resolver; + if (needContext(resolver, names)) { + result.$shared = false; + context = isFunction(context) ? context() : context; + const subResolver = this.createResolver(scopes, context, subPrefixes); + options = _attachContext(resolver, context, subResolver); + } + for (const prop of names) { + result[prop] = options[prop]; + } + return result; + } + createResolver(scopes, context, prefixes = [''], descriptorDefaults) { + const {resolver} = getResolver(this._resolverCache, scopes, prefixes); + return isObject(context) + ? _attachContext(resolver, context, undefined, descriptorDefaults) + : resolver; + } +} +function getResolver(resolverCache, scopes, prefixes) { + let cache = resolverCache.get(scopes); + if (!cache) { + cache = new Map(); + resolverCache.set(scopes, cache); + } + const cacheKey = prefixes.join(); + let cached = cache.get(cacheKey); + if (!cached) { + const resolver = _createResolver(scopes, prefixes); + cached = { + resolver, + subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover')) + }; + cache.set(cacheKey, cached); + } + return cached; +} +const hasFunction = value => isObject(value) + && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false); +function needContext(proxy, names) { + const {isScriptable, isIndexable} = _descriptors(proxy); + for (const prop of names) { + const scriptable = isScriptable(prop); + const indexable = isIndexable(prop); + const value = (indexable || scriptable) && proxy[prop]; + if ((scriptable && (isFunction(value) || hasFunction(value))) + || (indexable && isArray(value))) { + return true; + } + } + return false; +} + +var version = "3.9.1"; + +const KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea']; +function positionIsHorizontal(position, axis) { + return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x'); +} +function compare2Level(l1, l2) { + return function(a, b) { + return a[l1] === b[l1] + ? a[l2] - b[l2] + : a[l1] - b[l1]; + }; +} +function onAnimationsComplete(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + chart.notifyPlugins('afterRender'); + callback(animationOptions && animationOptions.onComplete, [context], chart); +} +function onAnimationProgress(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + callback(animationOptions && animationOptions.onProgress, [context], chart); +} +function getCanvas(item) { + if (_isDomSupported() && typeof item === 'string') { + item = document.getElementById(item); + } else if (item && item.length) { + item = item[0]; + } + if (item && item.canvas) { + item = item.canvas; + } + return item; +} +const instances = {}; +const getChart = (key) => { + const canvas = getCanvas(key); + return Object.values(instances).filter((c) => c.canvas === canvas).pop(); +}; +function moveNumericKeys(obj, start, move) { + const keys = Object.keys(obj); + for (const key of keys) { + const intKey = +key; + if (intKey >= start) { + const value = obj[key]; + delete obj[key]; + if (move > 0 || intKey > start) { + obj[intKey + move] = value; + } + } + } +} +function determineLastEvent(e, lastEvent, inChartArea, isClick) { + if (!inChartArea || e.type === 'mouseout') { + return null; + } + if (isClick) { + return lastEvent; + } + return e; +} +class Chart { + constructor(item, userConfig) { + const config = this.config = new Config(userConfig); + const initialCanvas = getCanvas(item); + const existingChart = getChart(initialCanvas); + if (existingChart) { + throw new Error( + 'Canvas is already in use. Chart with ID \'' + existingChart.id + '\'' + + ' must be destroyed before the canvas with ID \'' + existingChart.canvas.id + '\' can be reused.' + ); + } + const options = config.createResolver(config.chartOptionScopes(), this.getContext()); + this.platform = new (config.platform || _detectPlatform(initialCanvas))(); + this.platform.updateConfig(config); + const context = this.platform.acquireContext(initialCanvas, options.aspectRatio); + const canvas = context && context.canvas; + const height = canvas && canvas.height; + const width = canvas && canvas.width; + this.id = uid(); + this.ctx = context; + this.canvas = canvas; + this.width = width; + this.height = height; + this._options = options; + this._aspectRatio = this.aspectRatio; + this._layers = []; + this._metasets = []; + this._stacks = undefined; + this.boxes = []; + this.currentDevicePixelRatio = undefined; + this.chartArea = undefined; + this._active = []; + this._lastEvent = undefined; + this._listeners = {}; + this._responsiveListeners = undefined; + this._sortedMetasets = []; + this.scales = {}; + this._plugins = new PluginService(); + this.$proxies = {}; + this._hiddenIndices = {}; + this.attached = false; + this._animationsDisabled = undefined; + this.$context = undefined; + this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0); + this._dataChanges = []; + instances[this.id] = this; + if (!context || !canvas) { + console.error("Failed to create chart: can't acquire context from the given item"); + return; + } + animator.listen(this, 'complete', onAnimationsComplete); + animator.listen(this, 'progress', onAnimationProgress); + this._initialize(); + if (this.attached) { + this.update(); + } + } + get aspectRatio() { + const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this; + if (!isNullOrUndef(aspectRatio)) { + return aspectRatio; + } + if (maintainAspectRatio && _aspectRatio) { + return _aspectRatio; + } + return height ? width / height : null; + } + get data() { + return this.config.data; + } + set data(data) { + this.config.data = data; + } + get options() { + return this._options; + } + set options(options) { + this.config.options = options; + } + _initialize() { + this.notifyPlugins('beforeInit'); + if (this.options.responsive) { + this.resize(); + } else { + retinaScale(this, this.options.devicePixelRatio); + } + this.bindEvents(); + this.notifyPlugins('afterInit'); + return this; + } + clear() { + clearCanvas(this.canvas, this.ctx); + return this; + } + stop() { + animator.stop(this); + return this; + } + resize(width, height) { + if (!animator.running(this)) { + this._resize(width, height); + } else { + this._resizeBeforeDraw = {width, height}; + } + } + _resize(width, height) { + const options = this.options; + const canvas = this.canvas; + const aspectRatio = options.maintainAspectRatio && this.aspectRatio; + const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio); + const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio(); + const mode = this.width ? 'resize' : 'attach'; + this.width = newSize.width; + this.height = newSize.height; + this._aspectRatio = this.aspectRatio; + if (!retinaScale(this, newRatio, true)) { + return; + } + this.notifyPlugins('resize', {size: newSize}); + callback(options.onResize, [this, newSize], this); + if (this.attached) { + if (this._doResize(mode)) { + this.render(); + } + } + } + ensureScalesHaveIDs() { + const options = this.options; + const scalesOptions = options.scales || {}; + each(scalesOptions, (axisOptions, axisID) => { + axisOptions.id = axisID; + }); + } + buildOrUpdateScales() { + const options = this.options; + const scaleOpts = options.scales; + const scales = this.scales; + const updated = Object.keys(scales).reduce((obj, id) => { + obj[id] = false; + return obj; + }, {}); + let items = []; + if (scaleOpts) { + items = items.concat( + Object.keys(scaleOpts).map((id) => { + const scaleOptions = scaleOpts[id]; + const axis = determineAxis(id, scaleOptions); + const isRadial = axis === 'r'; + const isHorizontal = axis === 'x'; + return { + options: scaleOptions, + dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left', + dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear' + }; + }) + ); + } + each(items, (item) => { + const scaleOptions = item.options; + const id = scaleOptions.id; + const axis = determineAxis(id, scaleOptions); + const scaleType = valueOrDefault(scaleOptions.type, item.dtype); + if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) { + scaleOptions.position = item.dposition; + } + updated[id] = true; + let scale = null; + if (id in scales && scales[id].type === scaleType) { + scale = scales[id]; + } else { + const scaleClass = registry.getScale(scaleType); + scale = new scaleClass({ + id, + type: scaleType, + ctx: this.ctx, + chart: this + }); + scales[scale.id] = scale; + } + scale.init(scaleOptions, options); + }); + each(updated, (hasUpdated, id) => { + if (!hasUpdated) { + delete scales[id]; + } + }); + each(scales, (scale) => { + layouts.configure(this, scale, scale.options); + layouts.addBox(this, scale); + }); + } + _updateMetasets() { + const metasets = this._metasets; + const numData = this.data.datasets.length; + const numMeta = metasets.length; + metasets.sort((a, b) => a.index - b.index); + if (numMeta > numData) { + for (let i = numData; i < numMeta; ++i) { + this._destroyDatasetMeta(i); + } + metasets.splice(numData, numMeta - numData); + } + this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index')); + } + _removeUnreferencedMetasets() { + const {_metasets: metasets, data: {datasets}} = this; + if (metasets.length > datasets.length) { + delete this._stacks; + } + metasets.forEach((meta, index) => { + if (datasets.filter(x => x === meta._dataset).length === 0) { + this._destroyDatasetMeta(index); + } + }); + } + buildOrUpdateControllers() { + const newControllers = []; + const datasets = this.data.datasets; + let i, ilen; + this._removeUnreferencedMetasets(); + for (i = 0, ilen = datasets.length; i < ilen; i++) { + const dataset = datasets[i]; + let meta = this.getDatasetMeta(i); + const type = dataset.type || this.config.type; + if (meta.type && meta.type !== type) { + this._destroyDatasetMeta(i); + meta = this.getDatasetMeta(i); + } + meta.type = type; + meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options); + meta.order = dataset.order || 0; + meta.index = i; + meta.label = '' + dataset.label; + meta.visible = this.isDatasetVisible(i); + if (meta.controller) { + meta.controller.updateIndex(i); + meta.controller.linkScales(); + } else { + const ControllerClass = registry.getController(type); + const {datasetElementType, dataElementType} = defaults.datasets[type]; + Object.assign(ControllerClass.prototype, { + dataElementType: registry.getElement(dataElementType), + datasetElementType: datasetElementType && registry.getElement(datasetElementType) + }); + meta.controller = new ControllerClass(this, i); + newControllers.push(meta.controller); + } + } + this._updateMetasets(); + return newControllers; + } + _resetElements() { + each(this.data.datasets, (dataset, datasetIndex) => { + this.getDatasetMeta(datasetIndex).controller.reset(); + }, this); + } + reset() { + this._resetElements(); + this.notifyPlugins('reset'); + } + update(mode) { + const config = this.config; + config.update(); + const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext()); + const animsDisabled = this._animationsDisabled = !options.animation; + this._updateScales(); + this._checkEventBindings(); + this._updateHiddenIndices(); + this._plugins.invalidate(); + if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) { + return; + } + const newControllers = this.buildOrUpdateControllers(); + this.notifyPlugins('beforeElementsUpdate'); + let minPadding = 0; + for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) { + const {controller} = this.getDatasetMeta(i); + const reset = !animsDisabled && newControllers.indexOf(controller) === -1; + controller.buildOrUpdateElements(reset); + minPadding = Math.max(+controller.getMaxOverflow(), minPadding); + } + minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0; + this._updateLayout(minPadding); + if (!animsDisabled) { + each(newControllers, (controller) => { + controller.reset(); + }); + } + this._updateDatasets(mode); + this.notifyPlugins('afterUpdate', {mode}); + this._layers.sort(compare2Level('z', '_idx')); + const {_active, _lastEvent} = this; + if (_lastEvent) { + this._eventHandler(_lastEvent, true); + } else if (_active.length) { + this._updateHoverStyles(_active, _active, true); + } + this.render(); + } + _updateScales() { + each(this.scales, (scale) => { + layouts.removeBox(this, scale); + }); + this.ensureScalesHaveIDs(); + this.buildOrUpdateScales(); + } + _checkEventBindings() { + const options = this.options; + const existingEvents = new Set(Object.keys(this._listeners)); + const newEvents = new Set(options.events); + if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) { + this.unbindEvents(); + this.bindEvents(); + } + } + _updateHiddenIndices() { + const {_hiddenIndices} = this; + const changes = this._getUniformDataChanges() || []; + for (const {method, start, count} of changes) { + const move = method === '_removeElements' ? -count : count; + moveNumericKeys(_hiddenIndices, start, move); + } + } + _getUniformDataChanges() { + const _dataChanges = this._dataChanges; + if (!_dataChanges || !_dataChanges.length) { + return; + } + this._dataChanges = []; + const datasetCount = this.data.datasets.length; + const makeSet = (idx) => new Set( + _dataChanges + .filter(c => c[0] === idx) + .map((c, i) => i + ',' + c.splice(1).join(',')) + ); + const changeSet = makeSet(0); + for (let i = 1; i < datasetCount; i++) { + if (!setsEqual(changeSet, makeSet(i))) { + return; + } + } + return Array.from(changeSet) + .map(c => c.split(',')) + .map(a => ({method: a[1], start: +a[2], count: +a[3]})); + } + _updateLayout(minPadding) { + if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) { + return; + } + layouts.update(this, this.width, this.height, minPadding); + const area = this.chartArea; + const noArea = area.width <= 0 || area.height <= 0; + this._layers = []; + each(this.boxes, (box) => { + if (noArea && box.position === 'chartArea') { + return; + } + if (box.configure) { + box.configure(); + } + this._layers.push(...box._layers()); + }, this); + this._layers.forEach((item, index) => { + item._idx = index; + }); + this.notifyPlugins('afterLayout'); + } + _updateDatasets(mode) { + if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) { + return; + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this.getDatasetMeta(i).controller.configure(); + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode); + } + this.notifyPlugins('afterDatasetsUpdate', {mode}); + } + _updateDataset(index, mode) { + const meta = this.getDatasetMeta(index); + const args = {meta, index, mode, cancelable: true}; + if (this.notifyPlugins('beforeDatasetUpdate', args) === false) { + return; + } + meta.controller._update(mode); + args.cancelable = false; + this.notifyPlugins('afterDatasetUpdate', args); + } + render() { + if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) { + return; + } + if (animator.has(this)) { + if (this.attached && !animator.running(this)) { + animator.start(this); + } + } else { + this.draw(); + onAnimationsComplete({chart: this}); + } + } + draw() { + let i; + if (this._resizeBeforeDraw) { + const {width, height} = this._resizeBeforeDraw; + this._resize(width, height); + this._resizeBeforeDraw = null; + } + this.clear(); + if (this.width <= 0 || this.height <= 0) { + return; + } + if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) { + return; + } + const layers = this._layers; + for (i = 0; i < layers.length && layers[i].z <= 0; ++i) { + layers[i].draw(this.chartArea); + } + this._drawDatasets(); + for (; i < layers.length; ++i) { + layers[i].draw(this.chartArea); + } + this.notifyPlugins('afterDraw'); + } + _getSortedDatasetMetas(filterVisible) { + const metasets = this._sortedMetasets; + const result = []; + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + const meta = metasets[i]; + if (!filterVisible || meta.visible) { + result.push(meta); + } + } + return result; + } + getSortedVisibleDatasetMetas() { + return this._getSortedDatasetMetas(true); + } + _drawDatasets() { + if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) { + return; + } + const metasets = this.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + this._drawDataset(metasets[i]); + } + this.notifyPlugins('afterDatasetsDraw'); + } + _drawDataset(meta) { + const ctx = this.ctx; + const clip = meta._clip; + const useClip = !clip.disabled; + const area = this.chartArea; + const args = { + meta, + index: meta.index, + cancelable: true + }; + if (this.notifyPlugins('beforeDatasetDraw', args) === false) { + return; + } + if (useClip) { + clipArea(ctx, { + left: clip.left === false ? 0 : area.left - clip.left, + right: clip.right === false ? this.width : area.right + clip.right, + top: clip.top === false ? 0 : area.top - clip.top, + bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom + }); + } + meta.controller.draw(); + if (useClip) { + unclipArea(ctx); + } + args.cancelable = false; + this.notifyPlugins('afterDatasetDraw', args); + } + isPointInArea(point) { + return _isPointInArea(point, this.chartArea, this._minPadding); + } + getElementsAtEventForMode(e, mode, options, useFinalPosition) { + const method = Interaction.modes[mode]; + if (typeof method === 'function') { + return method(this, e, options, useFinalPosition); + } + return []; + } + getDatasetMeta(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + const metasets = this._metasets; + let meta = metasets.filter(x => x && x._dataset === dataset).pop(); + if (!meta) { + meta = { + type: null, + data: [], + dataset: null, + controller: null, + hidden: null, + xAxisID: null, + yAxisID: null, + order: dataset && dataset.order || 0, + index: datasetIndex, + _dataset: dataset, + _parsed: [], + _sorted: false + }; + metasets.push(meta); + } + return meta; + } + getContext() { + return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'})); + } + getVisibleDatasetCount() { + return this.getSortedVisibleDatasetMetas().length; + } + isDatasetVisible(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + if (!dataset) { + return false; + } + const meta = this.getDatasetMeta(datasetIndex); + return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden; + } + setDatasetVisibility(datasetIndex, visible) { + const meta = this.getDatasetMeta(datasetIndex); + meta.hidden = !visible; + } + toggleDataVisibility(index) { + this._hiddenIndices[index] = !this._hiddenIndices[index]; + } + getDataVisibility(index) { + return !this._hiddenIndices[index]; + } + _updateVisibility(datasetIndex, dataIndex, visible) { + const mode = visible ? 'show' : 'hide'; + const meta = this.getDatasetMeta(datasetIndex); + const anims = meta.controller._resolveAnimations(undefined, mode); + if (defined(dataIndex)) { + meta.data[dataIndex].hidden = !visible; + this.update(); + } else { + this.setDatasetVisibility(datasetIndex, visible); + anims.update(meta, {visible}); + this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined); + } + } + hide(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, false); + } + show(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, true); + } + _destroyDatasetMeta(datasetIndex) { + const meta = this._metasets[datasetIndex]; + if (meta && meta.controller) { + meta.controller._destroy(); + } + delete this._metasets[datasetIndex]; + } + _stop() { + let i, ilen; + this.stop(); + animator.remove(this); + for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._destroyDatasetMeta(i); + } + } + destroy() { + this.notifyPlugins('beforeDestroy'); + const {canvas, ctx} = this; + this._stop(); + this.config.clearCache(); + if (canvas) { + this.unbindEvents(); + clearCanvas(canvas, ctx); + this.platform.releaseContext(ctx); + this.canvas = null; + this.ctx = null; + } + this.notifyPlugins('destroy'); + delete instances[this.id]; + this.notifyPlugins('afterDestroy'); + } + toBase64Image(...args) { + return this.canvas.toDataURL(...args); + } + bindEvents() { + this.bindUserEvents(); + if (this.options.responsive) { + this.bindResponsiveEvents(); + } else { + this.attached = true; + } + } + bindUserEvents() { + const listeners = this._listeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const listener = (e, x, y) => { + e.offsetX = x; + e.offsetY = y; + this._eventHandler(e); + }; + each(this.options.events, (type) => _add(type, listener)); + } + bindResponsiveEvents() { + if (!this._responsiveListeners) { + this._responsiveListeners = {}; + } + const listeners = this._responsiveListeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const _remove = (type, listener) => { + if (listeners[type]) { + platform.removeEventListener(this, type, listener); + delete listeners[type]; + } + }; + const listener = (width, height) => { + if (this.canvas) { + this.resize(width, height); + } + }; + let detached; + const attached = () => { + _remove('attach', attached); + this.attached = true; + this.resize(); + _add('resize', listener); + _add('detach', detached); + }; + detached = () => { + this.attached = false; + _remove('resize', listener); + this._stop(); + this._resize(0, 0); + _add('attach', attached); + }; + if (platform.isAttached(this.canvas)) { + attached(); + } else { + detached(); + } + } + unbindEvents() { + each(this._listeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._listeners = {}; + each(this._responsiveListeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._responsiveListeners = undefined; + } + updateHoverStyle(items, mode, enabled) { + const prefix = enabled ? 'set' : 'remove'; + let meta, item, i, ilen; + if (mode === 'dataset') { + meta = this.getDatasetMeta(items[0].datasetIndex); + meta.controller['_' + prefix + 'DatasetHoverStyle'](); + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + item = items[i]; + const controller = item && this.getDatasetMeta(item.datasetIndex).controller; + if (controller) { + controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index); + } + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements) { + const lastActive = this._active || []; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('No dataset found at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(active, lastActive); + if (changed) { + this._active = active; + this._lastEvent = null; + this._updateHoverStyles(active, lastActive); + } + } + notifyPlugins(hook, args, filter) { + return this._plugins.notify(this, hook, args, filter); + } + _updateHoverStyles(active, lastActive, replay) { + const hoverOptions = this.options.hover; + const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index)); + const deactivated = diff(lastActive, active); + const activated = replay ? active : diff(active, lastActive); + if (deactivated.length) { + this.updateHoverStyle(deactivated, hoverOptions.mode, false); + } + if (activated.length && hoverOptions.mode) { + this.updateHoverStyle(activated, hoverOptions.mode, true); + } + } + _eventHandler(e, replay) { + const args = { + event: e, + replay, + cancelable: true, + inChartArea: this.isPointInArea(e) + }; + const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type); + if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) { + return; + } + const changed = this._handleEvent(e, replay, args.inChartArea); + args.cancelable = false; + this.notifyPlugins('afterEvent', args, eventFilter); + if (changed || args.changed) { + this.render(); + } + return this; + } + _handleEvent(e, replay, inChartArea) { + const {_active: lastActive = [], options} = this; + const useFinalPosition = replay; + const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition); + const isClick = _isClickEvent(e); + const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); + if (inChartArea) { + this._lastEvent = null; + callback(options.onHover, [e, active, this], this); + if (isClick) { + callback(options.onClick, [e, active, this], this); + } + } + const changed = !_elementsEqual(active, lastActive); + if (changed || replay) { + this._active = active; + this._updateHoverStyles(active, lastActive, replay); + } + this._lastEvent = lastEvent; + return changed; + } + _getActiveElements(e, lastActive, inChartArea, useFinalPosition) { + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const hoverOptions = this.options.hover; + return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); + } +} +const invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate()); +const enumerable = true; +Object.defineProperties(Chart, { + defaults: { + enumerable, + value: defaults + }, + instances: { + enumerable, + value: instances + }, + overrides: { + enumerable, + value: overrides + }, + registry: { + enumerable, + value: registry + }, + version: { + enumerable, + value: version + }, + getChart: { + enumerable, + value: getChart + }, + register: { + enumerable, + value: (...items) => { + registry.add(...items); + invalidatePlugins(); + } + }, + unregister: { + enumerable, + value: (...items) => { + registry.remove(...items); + invalidatePlugins(); + } + } +}); + +function clipArc(ctx, element, endAngle) { + const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element; + let angleMargin = pixelMargin / outerRadius; + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (innerRadius > pixelMargin) { + angleMargin = pixelMargin / innerRadius; + ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true); + } else { + ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI); + } + ctx.closePath(); + ctx.clip(); +} +function toRadiusCorners(value) { + return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']); +} +function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { + const o = toRadiusCorners(arc.options.borderRadius); + const halfThickness = (outerRadius - innerRadius) / 2; + const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2); + const computeOuterLimit = (val) => { + const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2; + return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit)); + }; + return { + outerStart: computeOuterLimit(o.outerStart), + outerEnd: computeOuterLimit(o.outerEnd), + innerStart: _limitValue(o.innerStart, 0, innerLimit), + innerEnd: _limitValue(o.innerEnd, 0, innerLimit), + }; +} +function rThetaToXY(r, theta, x, y) { + return { + x: x + r * Math.cos(theta), + y: y + r * Math.sin(theta), + }; +} +function pathArc(ctx, element, offset, spacing, end, circular) { + const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element; + const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); + const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; + let spacingOffset = 0; + const alpha = end - start; + if (spacing) { + const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0; + const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0; + const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2; + const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha; + spacingOffset = (alpha - adjustedAngle) / 2; + } + const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius; + const angleOffset = (alpha - beta) / 2; + const startAngle = start + angleOffset + spacingOffset; + const endAngle = end - angleOffset - spacingOffset; + const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle); + const outerStartAdjustedRadius = outerRadius - outerStart; + const outerEndAdjustedRadius = outerRadius - outerEnd; + const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius; + const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius; + const innerStartAdjustedRadius = innerRadius + innerStart; + const innerEndAdjustedRadius = innerRadius + innerEnd; + const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; + const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; + ctx.beginPath(); + if (circular) { + ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle); + if (outerEnd > 0) { + const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); + } + const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); + ctx.lineTo(p4.x, p4.y); + if (innerEnd > 0) { + const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); + } + ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true); + if (innerStart > 0) { + const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); + } + const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); + ctx.lineTo(p8.x, p8.y); + if (outerStart > 0) { + const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); + } + } else { + ctx.moveTo(x, y); + const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; + const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerStartX, outerStartY); + const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; + const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerEndX, outerEndY); + } + ctx.closePath(); +} +function drawArc(ctx, element, offset, spacing, circular) { + const {fullCircles, startAngle, circumference} = element; + let endAngle = element.endAngle; + if (fullCircles) { + pathArc(ctx, element, offset, spacing, startAngle + TAU, circular); + for (let i = 0; i < fullCircles; ++i) { + ctx.fill(); + } + if (!isNaN(circumference)) { + endAngle = startAngle + circumference % TAU; + if (circumference % TAU === 0) { + endAngle += TAU; + } + } + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.fill(); + return endAngle; +} +function drawFullCircleBorders(ctx, element, inner) { + const {x, y, startAngle, pixelMargin, fullCircles} = element; + const outerRadius = Math.max(element.outerRadius - pixelMargin, 0); + const innerRadius = element.innerRadius + pixelMargin; + let i; + if (inner) { + clipArc(ctx, element, startAngle + TAU); + } + ctx.beginPath(); + ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } +} +function drawBorder(ctx, element, offset, spacing, endAngle, circular) { + const {options} = element; + const {borderWidth, borderJoinStyle} = options; + const inner = options.borderAlign === 'inner'; + if (!borderWidth) { + return; + } + if (inner) { + ctx.lineWidth = borderWidth * 2; + ctx.lineJoin = borderJoinStyle || 'round'; + } else { + ctx.lineWidth = borderWidth; + ctx.lineJoin = borderJoinStyle || 'bevel'; + } + if (element.fullCircles) { + drawFullCircleBorders(ctx, element, inner); + } + if (inner) { + clipArc(ctx, element, endAngle); + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.stroke(); +} +class ArcElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.circumference = undefined; + this.startAngle = undefined; + this.endAngle = undefined; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.pixelMargin = 0; + this.fullCircles = 0; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(chartX, chartY, useFinalPosition) { + const point = this.getProps(['x', 'y'], useFinalPosition); + const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY}); + const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([ + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference' + ], useFinalPosition); + const rAdjust = this.options.spacing / 2; + const _circumference = valueOrDefault(circumference, endAngle - startAngle); + const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle); + const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); + return (betweenAngles && withinRadius); + } + getCenterPoint(useFinalPosition) { + const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([ + 'x', + 'y', + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference', + ], useFinalPosition); + const {offset, spacing} = this.options; + const halfAngle = (startAngle + endAngle) / 2; + const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2; + return { + x: x + Math.cos(halfAngle) * halfRadius, + y: y + Math.sin(halfAngle) * halfRadius + }; + } + tooltipPosition(useFinalPosition) { + return this.getCenterPoint(useFinalPosition); + } + draw(ctx) { + const {options, circumference} = this; + const offset = (options.offset || 0) / 2; + const spacing = (options.spacing || 0) / 2; + const circular = options.circular; + this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0; + this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; + if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { + return; + } + ctx.save(); + let radiusOffset = 0; + if (offset) { + radiusOffset = offset / 2; + const halfAngle = (this.startAngle + this.endAngle) / 2; + ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset); + if (this.circumference >= PI) { + radiusOffset = offset; + } + } + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular); + drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular); + ctx.restore(); + } +} +ArcElement.id = 'arc'; +ArcElement.defaults = { + borderAlign: 'center', + borderColor: '#fff', + borderJoinStyle: undefined, + borderRadius: 0, + borderWidth: 2, + offset: 0, + spacing: 0, + angle: undefined, + circular: true, +}; +ArcElement.defaultRoutes = { + backgroundColor: 'backgroundColor' +}; + +function setStyle(ctx, options, style = options) { + ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); + ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); + ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); + ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); + ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); + ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); +} +function lineTo(ctx, previous, target) { + ctx.lineTo(target.x, target.y); +} +function getLineMethod(options) { + if (options.stepped) { + return _steppedLineTo; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierCurveTo; + } + return lineTo; +} +function pathVars(points, segment, params = {}) { + const count = points.length; + const {start: paramsStart = 0, end: paramsEnd = count - 1} = params; + const {start: segmentStart, end: segmentEnd} = segment; + const start = Math.max(paramsStart, segmentStart); + const end = Math.min(paramsEnd, segmentEnd); + const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; + return { + count, + start, + loop: segment.loop, + ilen: end < start && !outside ? count + end - start : end - start + }; +} +function pathSegment(ctx, line, segment, params) { + const {points, options} = line; + const {count, start, loop, ilen} = pathVars(points, segment, params); + const lineMethod = getLineMethod(options); + let {move = true, reverse} = params || {}; + let i, point, prev; + for (i = 0; i <= ilen; ++i) { + point = points[(start + (reverse ? ilen - i : i)) % count]; + if (point.skip) { + continue; + } else if (move) { + ctx.moveTo(point.x, point.y); + move = false; + } else { + lineMethod(ctx, prev, point, reverse, options.stepped); + } + prev = point; + } + if (loop) { + point = points[(start + (reverse ? ilen : 0)) % count]; + lineMethod(ctx, prev, point, reverse, options.stepped); + } + return !!loop; +} +function fastPathSegment(ctx, line, segment, params) { + const points = line.points; + const {count, start, ilen} = pathVars(points, segment, params); + const {move = true, reverse} = params || {}; + let avgX = 0; + let countX = 0; + let i, point, prevX, minY, maxY, lastY; + const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count; + const drawX = () => { + if (minY !== maxY) { + ctx.lineTo(avgX, maxY); + ctx.lineTo(avgX, minY); + ctx.lineTo(avgX, lastY); + } + }; + if (move) { + point = points[pointIndex(0)]; + ctx.moveTo(point.x, point.y); + } + for (i = 0; i <= ilen; ++i) { + point = points[pointIndex(i)]; + if (point.skip) { + continue; + } + const x = point.x; + const y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + } else if (y > maxY) { + maxY = y; + } + avgX = (countX * avgX + x) / ++countX; + } else { + drawX(); + ctx.lineTo(x, y); + prevX = truncX; + countX = 0; + minY = maxY = y; + } + lastY = y; + } + drawX(); +} +function _getSegmentMethod(line) { + const opts = line.options; + const borderDash = opts.borderDash && opts.borderDash.length; + const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash; + return useFastPath ? fastPathSegment : pathSegment; +} +function _getInterpolationMethod(options) { + if (options.stepped) { + return _steppedInterpolation; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierInterpolation; + } + return _pointInLine; +} +function strokePathWithCache(ctx, line, start, count) { + let path = line._path; + if (!path) { + path = line._path = new Path2D(); + if (line.path(path, start, count)) { + path.closePath(); + } + } + setStyle(ctx, line.options); + ctx.stroke(path); +} +function strokePathDirect(ctx, line, start, count) { + const {segments, options} = line; + const segmentMethod = _getSegmentMethod(line); + for (const segment of segments) { + setStyle(ctx, options, segment.style); + ctx.beginPath(); + if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) { + ctx.closePath(); + } + ctx.stroke(); + } +} +const usePath2D = typeof Path2D === 'function'; +function draw(ctx, line, start, count) { + if (usePath2D && !line.options.segment) { + strokePathWithCache(ctx, line, start, count); + } else { + strokePathDirect(ctx, line, start, count); + } +} +class LineElement extends Element { + constructor(cfg) { + super(); + this.animated = true; + this.options = undefined; + this._chart = undefined; + this._loop = undefined; + this._fullLoop = undefined; + this._path = undefined; + this._points = undefined; + this._segments = undefined; + this._decimated = false; + this._pointsUpdated = false; + this._datasetIndex = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + updateControlPoints(chartArea, indexAxis) { + const options = this.options; + if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) { + const loop = options.spanGaps ? this._loop : this._fullLoop; + _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); + this._pointsUpdated = true; + } + } + set points(points) { + this._points = points; + delete this._segments; + delete this._path; + this._pointsUpdated = false; + } + get points() { + return this._points; + } + get segments() { + return this._segments || (this._segments = _computeSegments(this, this.options.segment)); + } + first() { + const segments = this.segments; + const points = this.points; + return segments.length && points[segments[0].start]; + } + last() { + const segments = this.segments; + const points = this.points; + const count = segments.length; + return count && points[segments[count - 1].end]; + } + interpolate(point, property) { + const options = this.options; + const value = point[property]; + const points = this.points; + const segments = _boundSegments(this, {property, start: value, end: value}); + if (!segments.length) { + return; + } + const result = []; + const _interpolate = _getInterpolationMethod(options); + let i, ilen; + for (i = 0, ilen = segments.length; i < ilen; ++i) { + const {start, end} = segments[i]; + const p1 = points[start]; + const p2 = points[end]; + if (p1 === p2) { + result.push(p1); + continue; + } + const t = Math.abs((value - p1[property]) / (p2[property] - p1[property])); + const interpolated = _interpolate(p1, p2, t, options.stepped); + interpolated[property] = point[property]; + result.push(interpolated); + } + return result.length === 1 ? result[0] : result; + } + pathSegment(ctx, segment, params) { + const segmentMethod = _getSegmentMethod(this); + return segmentMethod(ctx, this, segment, params); + } + path(ctx, start, count) { + const segments = this.segments; + const segmentMethod = _getSegmentMethod(this); + let loop = this._loop; + start = start || 0; + count = count || (this.points.length - start); + for (const segment of segments) { + loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1}); + } + return !!loop; + } + draw(ctx, chartArea, start, count) { + const options = this.options || {}; + const points = this.points || []; + if (points.length && options.borderWidth) { + ctx.save(); + draw(ctx, this, start, count); + ctx.restore(); + } + if (this.animated) { + this._pointsUpdated = false; + this._path = undefined; + } + } +} +LineElement.id = 'line'; +LineElement.defaults = { + borderCapStyle: 'butt', + borderDash: [], + borderDashOffset: 0, + borderJoinStyle: 'miter', + borderWidth: 3, + capBezierPoints: true, + cubicInterpolationMode: 'default', + fill: false, + spanGaps: false, + stepped: false, + tension: 0, +}; +LineElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; +LineElement.descriptors = { + _scriptable: true, + _indexable: (name) => name !== 'borderDash' && name !== 'fill', +}; + +function inRange$1(el, pos, axis, useFinalPosition) { + const options = el.options; + const {[axis]: value} = el.getProps([axis], useFinalPosition); + return (Math.abs(pos - value) < options.radius + options.hitRadius); +} +class PointElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.parsed = undefined; + this.skip = undefined; + this.stop = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(mouseX, mouseY, useFinalPosition) { + const options = this.options; + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2)); + } + inXRange(mouseX, useFinalPosition) { + return inRange$1(this, mouseX, 'x', useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange$1(this, mouseY, 'y', useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + size(options) { + options = options || this.options || {}; + let radius = options.radius || 0; + radius = Math.max(radius, radius && options.hoverRadius || 0); + const borderWidth = radius && options.borderWidth || 0; + return (radius + borderWidth) * 2; + } + draw(ctx, area) { + const options = this.options; + if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { + return; + } + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.fillStyle = options.backgroundColor; + drawPoint(ctx, options, this.x, this.y); + } + getRange() { + const options = this.options || {}; + return options.radius + options.hitRadius; + } +} +PointElement.id = 'point'; +PointElement.defaults = { + borderWidth: 1, + hitRadius: 1, + hoverBorderWidth: 1, + hoverRadius: 4, + pointStyle: 'circle', + radius: 3, + rotation: 0 +}; +PointElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +function getBarBounds(bar, useFinalPosition) { + const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition); + let left, right, top, bottom, half; + if (bar.horizontal) { + half = height / 2; + left = Math.min(x, base); + right = Math.max(x, base); + top = y - half; + bottom = y + half; + } else { + half = width / 2; + left = x - half; + right = x + half; + top = Math.min(y, base); + bottom = Math.max(y, base); + } + return {left, top, right, bottom}; +} +function skipOrLimit(skip, value, min, max) { + return skip ? 0 : _limitValue(value, min, max); +} +function parseBorderWidth(bar, maxW, maxH) { + const value = bar.options.borderWidth; + const skip = bar.borderSkipped; + const o = toTRBL(value); + return { + t: skipOrLimit(skip.top, o.top, 0, maxH), + r: skipOrLimit(skip.right, o.right, 0, maxW), + b: skipOrLimit(skip.bottom, o.bottom, 0, maxH), + l: skipOrLimit(skip.left, o.left, 0, maxW) + }; +} +function parseBorderRadius(bar, maxW, maxH) { + const {enableBorderRadius} = bar.getProps(['enableBorderRadius']); + const value = bar.options.borderRadius; + const o = toTRBLCorners(value); + const maxR = Math.min(maxW, maxH); + const skip = bar.borderSkipped; + const enableBorder = enableBorderRadius || isObject(value); + return { + topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR), + topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR), + bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR), + bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR) + }; +} +function boundingRects(bar) { + const bounds = getBarBounds(bar); + const width = bounds.right - bounds.left; + const height = bounds.bottom - bounds.top; + const border = parseBorderWidth(bar, width / 2, height / 2); + const radius = parseBorderRadius(bar, width / 2, height / 2); + return { + outer: { + x: bounds.left, + y: bounds.top, + w: width, + h: height, + radius + }, + inner: { + x: bounds.left + border.l, + y: bounds.top + border.t, + w: width - border.l - border.r, + h: height - border.t - border.b, + radius: { + topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)), + topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)), + bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)), + bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)), + } + } + }; +} +function inRange(bar, x, y, useFinalPosition) { + const skipX = x === null; + const skipY = y === null; + const skipBoth = skipX && skipY; + const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition); + return bounds + && (skipX || _isBetween(x, bounds.left, bounds.right)) + && (skipY || _isBetween(y, bounds.top, bounds.bottom)); +} +function hasRadius(radius) { + return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight; +} +function addNormalRectPath(ctx, rect) { + ctx.rect(rect.x, rect.y, rect.w, rect.h); +} +function inflateRect(rect, amount, refRect = {}) { + const x = rect.x !== refRect.x ? -amount : 0; + const y = rect.y !== refRect.y ? -amount : 0; + const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x; + const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y; + return { + x: rect.x + x, + y: rect.y + y, + w: rect.w + w, + h: rect.h + h, + radius: rect.radius + }; +} +class BarElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.horizontal = undefined; + this.base = undefined; + this.width = undefined; + this.height = undefined; + this.inflateAmount = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + draw(ctx) { + const {inflateAmount, options: {borderColor, backgroundColor}} = this; + const {inner, outer} = boundingRects(this); + const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath; + ctx.save(); + if (outer.w !== inner.w || outer.h !== inner.h) { + ctx.beginPath(); + addRectPath(ctx, inflateRect(outer, inflateAmount, inner)); + ctx.clip(); + addRectPath(ctx, inflateRect(inner, -inflateAmount, outer)); + ctx.fillStyle = borderColor; + ctx.fill('evenodd'); + } + ctx.beginPath(); + addRectPath(ctx, inflateRect(inner, inflateAmount)); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + inRange(mouseX, mouseY, useFinalPosition) { + return inRange(this, mouseX, mouseY, useFinalPosition); + } + inXRange(mouseX, useFinalPosition) { + return inRange(this, mouseX, null, useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange(this, null, mouseY, useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition); + return { + x: horizontal ? (x + base) / 2 : x, + y: horizontal ? y : (y + base) / 2 + }; + } + getRange(axis) { + return axis === 'x' ? this.width / 2 : this.height / 2; + } +} +BarElement.id = 'bar'; +BarElement.defaults = { + borderSkipped: 'start', + borderWidth: 0, + borderRadius: 0, + inflateAmount: 'auto', + pointStyle: undefined +}; +BarElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +var elements = /*#__PURE__*/Object.freeze({ +__proto__: null, +ArcElement: ArcElement, +LineElement: LineElement, +PointElement: PointElement, +BarElement: BarElement +}); + +function lttbDecimation(data, start, count, availableWidth, options) { + const samples = options.samples || availableWidth; + if (samples >= count) { + return data.slice(start, start + count); + } + const decimated = []; + const bucketWidth = (count - 2) / (samples - 2); + let sampledIndex = 0; + const endIndex = start + count - 1; + let a = start; + let i, maxAreaPoint, maxArea, area, nextA; + decimated[sampledIndex++] = data[a]; + for (i = 0; i < samples - 2; i++) { + let avgX = 0; + let avgY = 0; + let j; + const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start; + const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start; + const avgRangeLength = avgRangeEnd - avgRangeStart; + for (j = avgRangeStart; j < avgRangeEnd; j++) { + avgX += data[j].x; + avgY += data[j].y; + } + avgX /= avgRangeLength; + avgY /= avgRangeLength; + const rangeOffs = Math.floor(i * bucketWidth) + 1 + start; + const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start; + const {x: pointAx, y: pointAy} = data[a]; + maxArea = area = -1; + for (j = rangeOffs; j < rangeTo; j++) { + area = 0.5 * Math.abs( + (pointAx - avgX) * (data[j].y - pointAy) - + (pointAx - data[j].x) * (avgY - pointAy) + ); + if (area > maxArea) { + maxArea = area; + maxAreaPoint = data[j]; + nextA = j; + } + } + decimated[sampledIndex++] = maxAreaPoint; + a = nextA; + } + decimated[sampledIndex++] = data[endIndex]; + return decimated; +} +function minMaxDecimation(data, start, count, availableWidth) { + let avgX = 0; + let countX = 0; + let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY; + const decimated = []; + const endIndex = start + count - 1; + const xMin = data[start].x; + const xMax = data[endIndex].x; + const dx = xMax - xMin; + for (i = start; i < start + count; ++i) { + point = data[i]; + x = (point.x - xMin) / dx * availableWidth; + y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + minIndex = i; + } else if (y > maxY) { + maxY = y; + maxIndex = i; + } + avgX = (countX * avgX + point.x) / ++countX; + } else { + const lastIndex = i - 1; + if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) { + const intermediateIndex1 = Math.min(minIndex, maxIndex); + const intermediateIndex2 = Math.max(minIndex, maxIndex); + if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex1], + x: avgX, + }); + } + if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex2], + x: avgX + }); + } + } + if (i > 0 && lastIndex !== startIndex) { + decimated.push(data[lastIndex]); + } + decimated.push(point); + prevX = truncX; + countX = 0; + minY = maxY = y; + minIndex = maxIndex = startIndex = i; + } + } + return decimated; +} +function cleanDecimatedDataset(dataset) { + if (dataset._decimated) { + const data = dataset._data; + delete dataset._decimated; + delete dataset._data; + Object.defineProperty(dataset, 'data', {value: data}); + } +} +function cleanDecimatedData(chart) { + chart.data.datasets.forEach((dataset) => { + cleanDecimatedDataset(dataset); + }); +} +function getStartAndCountOfVisiblePointsSimplified(meta, points) { + const pointCount = points.length; + let start = 0; + let count; + const {iScale} = meta; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start; + } else { + count = pointCount - start; + } + return {start, count}; +} +var plugin_decimation = { + id: 'decimation', + defaults: { + algorithm: 'min-max', + enabled: false, + }, + beforeElementsUpdate: (chart, args, options) => { + if (!options.enabled) { + cleanDecimatedData(chart); + return; + } + const availableWidth = chart.width; + chart.data.datasets.forEach((dataset, datasetIndex) => { + const {_data, indexAxis} = dataset; + const meta = chart.getDatasetMeta(datasetIndex); + const data = _data || dataset.data; + if (resolve([indexAxis, chart.options.indexAxis]) === 'y') { + return; + } + if (!meta.controller.supportsDecimation) { + return; + } + const xAxis = chart.scales[meta.xAxisID]; + if (xAxis.type !== 'linear' && xAxis.type !== 'time') { + return; + } + if (chart.options.parsing) { + return; + } + let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data); + const threshold = options.threshold || 4 * availableWidth; + if (count <= threshold) { + cleanDecimatedDataset(dataset); + return; + } + if (isNullOrUndef(_data)) { + dataset._data = data; + delete dataset.data; + Object.defineProperty(dataset, 'data', { + configurable: true, + enumerable: true, + get: function() { + return this._decimated; + }, + set: function(d) { + this._data = d; + } + }); + } + let decimated; + switch (options.algorithm) { + case 'lttb': + decimated = lttbDecimation(data, start, count, availableWidth, options); + break; + case 'min-max': + decimated = minMaxDecimation(data, start, count, availableWidth); + break; + default: + throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`); + } + dataset._decimated = decimated; + }); + }, + destroy(chart) { + cleanDecimatedData(chart); + } +}; + +function _segments(line, target, property) { + const segments = line.segments; + const points = line.points; + const tpoints = target.points; + const parts = []; + for (const segment of segments) { + let {start, end} = segment; + end = _findSegmentEnd(start, end, points); + const bounds = _getBounds(property, points[start], points[end], segment.loop); + if (!target.segments) { + parts.push({ + source: segment, + target: bounds, + start: points[start], + end: points[end] + }); + continue; + } + const targetSegments = _boundSegments(target, bounds); + for (const tgt of targetSegments) { + const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop); + const fillSources = _boundSegment(segment, points, subBounds); + for (const fillSource of fillSources) { + parts.push({ + source: fillSource, + target: tgt, + start: { + [property]: _getEdge(bounds, subBounds, 'start', Math.max) + }, + end: { + [property]: _getEdge(bounds, subBounds, 'end', Math.min) + } + }); + } + } + } + return parts; +} +function _getBounds(property, first, last, loop) { + if (loop) { + return; + } + let start = first[property]; + let end = last[property]; + if (property === 'angle') { + start = _normalizeAngle(start); + end = _normalizeAngle(end); + } + return {property, start, end}; +} +function _pointsFromSegments(boundary, line) { + const {x = null, y = null} = boundary || {}; + const linePoints = line.points; + const points = []; + line.segments.forEach(({start, end}) => { + end = _findSegmentEnd(start, end, linePoints); + const first = linePoints[start]; + const last = linePoints[end]; + if (y !== null) { + points.push({x: first.x, y}); + points.push({x: last.x, y}); + } else if (x !== null) { + points.push({x, y: first.y}); + points.push({x, y: last.y}); + } + }); + return points; +} +function _findSegmentEnd(start, end, points) { + for (;end > start; end--) { + const point = points[end]; + if (!isNaN(point.x) && !isNaN(point.y)) { + break; + } + } + return end; +} +function _getEdge(a, b, prop, fn) { + if (a && b) { + return fn(a[prop], b[prop]); + } + return a ? a[prop] : b ? b[prop] : 0; +} + +function _createBoundaryLine(boundary, line) { + let points = []; + let _loop = false; + if (isArray(boundary)) { + _loop = true; + points = boundary; + } else { + points = _pointsFromSegments(boundary, line); + } + return points.length ? new LineElement({ + points, + options: {tension: 0}, + _loop, + _fullLoop: _loop + }) : null; +} +function _shouldApplyFill(source) { + return source && source.fill !== false; +} + +function _resolveTarget(sources, index, propagate) { + const source = sources[index]; + let fill = source.fill; + const visited = [index]; + let target; + if (!propagate) { + return fill; + } + while (fill !== false && visited.indexOf(fill) === -1) { + if (!isNumberFinite(fill)) { + return fill; + } + target = sources[fill]; + if (!target) { + return false; + } + if (target.visible) { + return fill; + } + visited.push(fill); + fill = target.fill; + } + return false; +} +function _decodeFill(line, index, count) { + const fill = parseFillOption(line); + if (isObject(fill)) { + return isNaN(fill.value) ? false : fill; + } + let target = parseFloat(fill); + if (isNumberFinite(target) && Math.floor(target) === target) { + return decodeTargetIndex(fill[0], index, target, count); + } + return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill; +} +function decodeTargetIndex(firstCh, index, target, count) { + if (firstCh === '-' || firstCh === '+') { + target = index + target; + } + if (target === index || target < 0 || target >= count) { + return false; + } + return target; +} +function _getTargetPixel(fill, scale) { + let pixel = null; + if (fill === 'start') { + pixel = scale.bottom; + } else if (fill === 'end') { + pixel = scale.top; + } else if (isObject(fill)) { + pixel = scale.getPixelForValue(fill.value); + } else if (scale.getBasePixel) { + pixel = scale.getBasePixel(); + } + return pixel; +} +function _getTargetValue(fill, scale, startValue) { + let value; + if (fill === 'start') { + value = startValue; + } else if (fill === 'end') { + value = scale.options.reverse ? scale.min : scale.max; + } else if (isObject(fill)) { + value = fill.value; + } else { + value = scale.getBaseValue(); + } + return value; +} +function parseFillOption(line) { + const options = line.options; + const fillOption = options.fill; + let fill = valueOrDefault(fillOption && fillOption.target, fillOption); + if (fill === undefined) { + fill = !!options.backgroundColor; + } + if (fill === false || fill === null) { + return false; + } + if (fill === true) { + return 'origin'; + } + return fill; +} + +function _buildStackLine(source) { + const {scale, index, line} = source; + const points = []; + const segments = line.segments; + const sourcePoints = line.points; + const linesBelow = getLinesBelow(scale, index); + linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line)); + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + for (let j = segment.start; j <= segment.end; j++) { + addPointsBelow(points, sourcePoints[j], linesBelow); + } + } + return new LineElement({points, options: {}}); +} +function getLinesBelow(scale, index) { + const below = []; + const metas = scale.getMatchingVisibleMetas('line'); + for (let i = 0; i < metas.length; i++) { + const meta = metas[i]; + if (meta.index === index) { + break; + } + if (!meta.hidden) { + below.unshift(meta.dataset); + } + } + return below; +} +function addPointsBelow(points, sourcePoint, linesBelow) { + const postponed = []; + for (let j = 0; j < linesBelow.length; j++) { + const line = linesBelow[j]; + const {first, last, point} = findPoint(line, sourcePoint, 'x'); + if (!point || (first && last)) { + continue; + } + if (first) { + postponed.unshift(point); + } else { + points.push(point); + if (!last) { + break; + } + } + } + points.push(...postponed); +} +function findPoint(line, sourcePoint, property) { + const point = line.interpolate(sourcePoint, property); + if (!point) { + return {}; + } + const pointValue = point[property]; + const segments = line.segments; + const linePoints = line.points; + let first = false; + let last = false; + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + const firstValue = linePoints[segment.start][property]; + const lastValue = linePoints[segment.end][property]; + if (_isBetween(pointValue, firstValue, lastValue)) { + first = pointValue === firstValue; + last = pointValue === lastValue; + break; + } + } + return {first, last, point}; +} + +class simpleArc { + constructor(opts) { + this.x = opts.x; + this.y = opts.y; + this.radius = opts.radius; + } + pathSegment(ctx, bounds, opts) { + const {x, y, radius} = this; + bounds = bounds || {start: 0, end: TAU}; + ctx.arc(x, y, radius, bounds.end, bounds.start, true); + return !opts.bounds; + } + interpolate(point) { + const {x, y, radius} = this; + const angle = point.angle; + return { + x: x + Math.cos(angle) * radius, + y: y + Math.sin(angle) * radius, + angle + }; + } +} + +function _getTarget(source) { + const {chart, fill, line} = source; + if (isNumberFinite(fill)) { + return getLineByIndex(chart, fill); + } + if (fill === 'stack') { + return _buildStackLine(source); + } + if (fill === 'shape') { + return true; + } + const boundary = computeBoundary(source); + if (boundary instanceof simpleArc) { + return boundary; + } + return _createBoundaryLine(boundary, line); +} +function getLineByIndex(chart, index) { + const meta = chart.getDatasetMeta(index); + const visible = meta && chart.isDatasetVisible(index); + return visible ? meta.dataset : null; +} +function computeBoundary(source) { + const scale = source.scale || {}; + if (scale.getPointPositionForValue) { + return computeCircularBoundary(source); + } + return computeLinearBoundary(source); +} +function computeLinearBoundary(source) { + const {scale = {}, fill} = source; + const pixel = _getTargetPixel(fill, scale); + if (isNumberFinite(pixel)) { + const horizontal = scale.isHorizontal(); + return { + x: horizontal ? pixel : null, + y: horizontal ? null : pixel + }; + } + return null; +} +function computeCircularBoundary(source) { + const {scale, fill} = source; + const options = scale.options; + const length = scale.getLabels().length; + const start = options.reverse ? scale.max : scale.min; + const value = _getTargetValue(fill, scale, start); + const target = []; + if (options.grid.circular) { + const center = scale.getPointPositionForValue(0, start); + return new simpleArc({ + x: center.x, + y: center.y, + radius: scale.getDistanceFromCenterForValue(value) + }); + } + for (let i = 0; i < length; ++i) { + target.push(scale.getPointPositionForValue(i, value)); + } + return target; +} + +function _drawfill(ctx, source, area) { + const target = _getTarget(source); + const {line, scale, axis} = source; + const lineOpts = line.options; + const fillOption = lineOpts.fill; + const color = lineOpts.backgroundColor; + const {above = color, below = color} = fillOption || {}; + if (target && line.points.length) { + clipArea(ctx, area); + doFill(ctx, {line, target, above, below, area, scale, axis}); + unclipArea(ctx); + } +} +function doFill(ctx, cfg) { + const {line, target, above, below, area, scale} = cfg; + const property = line._loop ? 'angle' : cfg.axis; + ctx.save(); + if (property === 'x' && below !== above) { + clipVertical(ctx, target, area.top); + fill(ctx, {line, target, color: above, scale, property}); + ctx.restore(); + ctx.save(); + clipVertical(ctx, target, area.bottom); + } + fill(ctx, {line, target, color: below, scale, property}); + ctx.restore(); +} +function clipVertical(ctx, target, clipY) { + const {segments, points} = target; + let first = true; + let lineLoop = false; + ctx.beginPath(); + for (const segment of segments) { + const {start, end} = segment; + const firstPoint = points[start]; + const lastPoint = points[_findSegmentEnd(start, end, points)]; + if (first) { + ctx.moveTo(firstPoint.x, firstPoint.y); + first = false; + } else { + ctx.lineTo(firstPoint.x, clipY); + ctx.lineTo(firstPoint.x, firstPoint.y); + } + lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop}); + if (lineLoop) { + ctx.closePath(); + } else { + ctx.lineTo(lastPoint.x, clipY); + } + } + ctx.lineTo(target.first().x, clipY); + ctx.closePath(); + ctx.clip(); +} +function fill(ctx, cfg) { + const {line, target, property, color, scale} = cfg; + const segments = _segments(line, target, property); + for (const {source: src, target: tgt, start, end} of segments) { + const {style: {backgroundColor = color} = {}} = src; + const notShape = target !== true; + ctx.save(); + ctx.fillStyle = backgroundColor; + clipBounds(ctx, scale, notShape && _getBounds(property, start, end)); + ctx.beginPath(); + const lineLoop = !!line.pathSegment(ctx, src); + let loop; + if (notShape) { + if (lineLoop) { + ctx.closePath(); + } else { + interpolatedLineTo(ctx, target, end, property); + } + const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true}); + loop = lineLoop && targetLoop; + if (!loop) { + interpolatedLineTo(ctx, target, start, property); + } + } + ctx.closePath(); + ctx.fill(loop ? 'evenodd' : 'nonzero'); + ctx.restore(); + } +} +function clipBounds(ctx, scale, bounds) { + const {top, bottom} = scale.chart.chartArea; + const {property, start, end} = bounds || {}; + if (property === 'x') { + ctx.beginPath(); + ctx.rect(start, top, end - start, bottom - top); + ctx.clip(); + } +} +function interpolatedLineTo(ctx, target, point, property) { + const interpolatedPoint = target.interpolate(point, property); + if (interpolatedPoint) { + ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y); + } +} + +var index = { + id: 'filler', + afterDatasetsUpdate(chart, _args, options) { + const count = (chart.data.datasets || []).length; + const sources = []; + let meta, i, line, source; + for (i = 0; i < count; ++i) { + meta = chart.getDatasetMeta(i); + line = meta.dataset; + source = null; + if (line && line.options && line instanceof LineElement) { + source = { + visible: chart.isDatasetVisible(i), + index: i, + fill: _decodeFill(line, i, count), + chart, + axis: meta.controller.options.indexAxis, + scale: meta.vScale, + line, + }; + } + meta.$filler = source; + sources.push(source); + } + for (i = 0; i < count; ++i) { + source = sources[i]; + if (!source || source.fill === false) { + continue; + } + source.fill = _resolveTarget(sources, i, options.propagate); + } + }, + beforeDraw(chart, _args, options) { + const draw = options.drawTime === 'beforeDraw'; + const metasets = chart.getSortedVisibleDatasetMetas(); + const area = chart.chartArea; + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (!source) { + continue; + } + source.line.updateControlPoints(area, source.axis); + if (draw && source.fill) { + _drawfill(chart.ctx, source, area); + } + } + }, + beforeDatasetsDraw(chart, _args, options) { + if (options.drawTime !== 'beforeDatasetsDraw') { + return; + } + const metasets = chart.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (_shouldApplyFill(source)) { + _drawfill(chart.ctx, source, chart.chartArea); + } + } + }, + beforeDatasetDraw(chart, args, options) { + const source = args.meta.$filler; + if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') { + return; + } + _drawfill(chart.ctx, source, chart.chartArea); + }, + defaults: { + propagate: true, + drawTime: 'beforeDatasetDraw' + } +}; + +const getBoxSize = (labelOpts, fontSize) => { + let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts; + if (labelOpts.usePointStyle) { + boxHeight = Math.min(boxHeight, fontSize); + boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); + } + return { + boxWidth, + boxHeight, + itemHeight: Math.max(fontSize, boxHeight) + }; +}; +const itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index; +class Legend extends Element { + constructor(config) { + super(); + this._added = false; + this.legendHitBoxes = []; + this._hoveredItem = null; + this.doughnutMode = false; + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this.legendItems = undefined; + this.columnSizes = undefined; + this.lineWidths = undefined; + this.maxHeight = undefined; + this.maxWidth = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.height = undefined; + this.width = undefined; + this._margins = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight, margins) { + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins; + this.setDimensions(); + this.buildLabels(); + this.fit(); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = this._margins.left; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = this._margins.top; + this.bottom = this.height; + } + } + buildLabels() { + const labelOpts = this.options.labels || {}; + let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || []; + if (labelOpts.filter) { + legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data)); + } + if (labelOpts.sort) { + legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data)); + } + if (this.options.reverse) { + legendItems.reverse(); + } + this.legendItems = legendItems; + } + fit() { + const {options, ctx} = this; + if (!options.display) { + this.width = this.height = 0; + return; + } + const labelOpts = options.labels; + const labelFont = toFont(labelOpts.font); + const fontSize = labelFont.size; + const titleHeight = this._computeTitleHeight(); + const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize); + let width, height; + ctx.font = labelFont.string; + if (this.isHorizontal()) { + width = this.maxWidth; + height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } else { + height = this.maxHeight; + width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } + this.width = Math.min(width, options.maxWidth || this.maxWidth); + this.height = Math.min(height, options.maxHeight || this.maxHeight); + } + _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxWidth, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const lineWidths = this.lineWidths = [0]; + const lineHeight = itemHeight + padding; + let totalHeight = titleHeight; + ctx.textAlign = 'left'; + ctx.textBaseline = 'middle'; + let row = -1; + let top = -lineHeight; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) { + totalHeight += lineHeight; + lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; + top += lineHeight; + row++; + } + hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight}; + lineWidths[lineWidths.length - 1] += itemWidth + padding; + }); + return totalHeight; + } + _fitCols(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxHeight, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const columnSizes = this.columnSizes = []; + const heightLimit = maxHeight - titleHeight; + let totalWidth = padding; + let currentColWidth = 0; + let currentColHeight = 0; + let left = 0; + let col = 0; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { + totalWidth += currentColWidth + padding; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + left += currentColWidth + padding; + col++; + currentColWidth = currentColHeight = 0; + } + hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight}; + currentColWidth = Math.max(currentColWidth, itemWidth); + currentColHeight += itemHeight + padding; + }); + totalWidth += currentColWidth; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + return totalWidth; + } + adjustHitBoxes() { + if (!this.options.display) { + return; + } + const titleHeight = this._computeTitleHeight(); + const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this; + const rtlHelper = getRtlAdapter(rtl, this.left, this.width); + if (this.isHorizontal()) { + let row = 0; + let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + for (const hitbox of hitboxes) { + if (row !== hitbox.row) { + row = hitbox.row; + left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + } + hitbox.top += this.top + titleHeight + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width); + left += hitbox.width + padding; + } + } else { + let col = 0; + let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + for (const hitbox of hitboxes) { + if (hitbox.col !== col) { + col = hitbox.col; + top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + } + hitbox.top = top; + hitbox.left += this.left + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); + top += hitbox.height + padding; + } + } + } + isHorizontal() { + return this.options.position === 'top' || this.options.position === 'bottom'; + } + draw() { + if (this.options.display) { + const ctx = this.ctx; + clipArea(ctx, this); + this._draw(); + unclipArea(ctx); + } + } + _draw() { + const {options: opts, columnSizes, lineWidths, ctx} = this; + const {align, labels: labelOpts} = opts; + const defaultColor = defaults.color; + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const labelFont = toFont(labelOpts.font); + const {color: fontColor, padding} = labelOpts; + const fontSize = labelFont.size; + const halfFontSize = fontSize / 2; + let cursor; + this.drawTitle(); + ctx.textAlign = rtlHelper.textAlign('left'); + ctx.textBaseline = 'middle'; + ctx.lineWidth = 0.5; + ctx.font = labelFont.string; + const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize); + const drawLegendBox = function(x, y, legendItem) { + if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) { + return; + } + ctx.save(); + const lineWidth = valueOrDefault(legendItem.lineWidth, 1); + ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor); + ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt'); + ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0); + ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter'); + ctx.lineWidth = lineWidth; + ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor); + ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); + if (labelOpts.usePointStyle) { + const drawOptions = { + radius: boxHeight * Math.SQRT2 / 2, + pointStyle: legendItem.pointStyle, + rotation: legendItem.rotation, + borderWidth: lineWidth + }; + const centerX = rtlHelper.xPlus(x, boxWidth / 2); + const centerY = y + halfFontSize; + drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); + } else { + const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); + const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); + const borderRadius = toTRBLCorners(legendItem.borderRadius); + ctx.beginPath(); + if (Object.values(borderRadius).some(v => v !== 0)) { + addRoundedRectPath(ctx, { + x: xBoxLeft, + y: yBoxTop, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + } else { + ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight); + } + ctx.fill(); + if (lineWidth !== 0) { + ctx.stroke(); + } + } + ctx.restore(); + }; + const fillText = function(x, y, legendItem) { + renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, { + strikethrough: legendItem.hidden, + textAlign: rtlHelper.textAlign(legendItem.textAlign) + }); + }; + const isHorizontal = this.isHorizontal(); + const titleHeight = this._computeTitleHeight(); + if (isHorizontal) { + cursor = { + x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]), + y: this.top + padding + titleHeight, + line: 0 + }; + } else { + cursor = { + x: this.left + padding, + y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height), + line: 0 + }; + } + overrideTextDirection(this.ctx, opts.textDirection); + const lineHeight = itemHeight + padding; + this.legendItems.forEach((legendItem, i) => { + ctx.strokeStyle = legendItem.fontColor || fontColor; + ctx.fillStyle = legendItem.fontColor || fontColor; + const textWidth = ctx.measureText(legendItem.text).width; + const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); + const width = boxWidth + halfFontSize + textWidth; + let x = cursor.x; + let y = cursor.y; + rtlHelper.setWidth(this.width); + if (isHorizontal) { + if (i > 0 && x + width + padding > this.right) { + y = cursor.y += lineHeight; + cursor.line++; + x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]); + } + } else if (i > 0 && y + lineHeight > this.bottom) { + x = cursor.x = x + columnSizes[cursor.line].width + padding; + cursor.line++; + y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height); + } + const realX = rtlHelper.x(x); + drawLegendBox(realX, y, legendItem); + x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl); + fillText(rtlHelper.x(x), y, legendItem); + if (isHorizontal) { + cursor.x += width + padding; + } else { + cursor.y += lineHeight; + } + }); + restoreTextDirection(this.ctx, opts.textDirection); + } + drawTitle() { + const opts = this.options; + const titleOpts = opts.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + if (!titleOpts.display) { + return; + } + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const ctx = this.ctx; + const position = titleOpts.position; + const halfFontSize = titleFont.size / 2; + const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize; + let y; + let left = this.left; + let maxWidth = this.width; + if (this.isHorizontal()) { + maxWidth = Math.max(...this.lineWidths); + y = this.top + topPaddingPlusHalfFontSize; + left = _alignStartEnd(opts.align, left, this.right - maxWidth); + } else { + const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0); + y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight()); + } + const x = _alignStartEnd(position, left, left + maxWidth); + ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position)); + ctx.textBaseline = 'middle'; + ctx.strokeStyle = titleOpts.color; + ctx.fillStyle = titleOpts.color; + ctx.font = titleFont.string; + renderText(ctx, titleOpts.text, x, y, titleFont); + } + _computeTitleHeight() { + const titleOpts = this.options.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0; + } + _getLegendItemAt(x, y) { + let i, hitBox, lh; + if (_isBetween(x, this.left, this.right) + && _isBetween(y, this.top, this.bottom)) { + lh = this.legendHitBoxes; + for (i = 0; i < lh.length; ++i) { + hitBox = lh[i]; + if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) + && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) { + return this.legendItems[i]; + } + } + } + return null; + } + handleEvent(e) { + const opts = this.options; + if (!isListened(e.type, opts)) { + return; + } + const hoveredItem = this._getLegendItemAt(e.x, e.y); + if (e.type === 'mousemove' || e.type === 'mouseout') { + const previous = this._hoveredItem; + const sameItem = itemsEqual(previous, hoveredItem); + if (previous && !sameItem) { + callback(opts.onLeave, [e, previous, this], this); + } + this._hoveredItem = hoveredItem; + if (hoveredItem && !sameItem) { + callback(opts.onHover, [e, hoveredItem, this], this); + } + } else if (hoveredItem) { + callback(opts.onClick, [e, hoveredItem, this], this); + } + } +} +function isListened(type, opts) { + if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) { + return true; + } + if (opts.onClick && (type === 'click' || type === 'mouseup')) { + return true; + } + return false; +} +var plugin_legend = { + id: 'legend', + _element: Legend, + start(chart, _args, options) { + const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart}); + layouts.configure(chart, legend, options); + layouts.addBox(chart, legend); + }, + stop(chart) { + layouts.removeBox(chart, chart.legend); + delete chart.legend; + }, + beforeUpdate(chart, _args, options) { + const legend = chart.legend; + layouts.configure(chart, legend, options); + legend.options = options; + }, + afterUpdate(chart) { + const legend = chart.legend; + legend.buildLabels(); + legend.adjustHitBoxes(); + }, + afterEvent(chart, args) { + if (!args.replay) { + chart.legend.handleEvent(args.event); + } + }, + defaults: { + display: true, + position: 'top', + align: 'center', + fullSize: true, + reverse: false, + weight: 1000, + onClick(e, legendItem, legend) { + const index = legendItem.datasetIndex; + const ci = legend.chart; + if (ci.isDatasetVisible(index)) { + ci.hide(index); + legendItem.hidden = true; + } else { + ci.show(index); + legendItem.hidden = false; + } + }, + onHover: null, + onLeave: null, + labels: { + color: (ctx) => ctx.chart.options.color, + boxWidth: 40, + padding: 10, + generateLabels(chart) { + const datasets = chart.data.datasets; + const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options; + return chart._getSortedDatasetMetas().map((meta) => { + const style = meta.controller.getStyle(usePointStyle ? 0 : undefined); + const borderWidth = toPadding(style.borderWidth); + return { + text: datasets[meta.index].label, + fillStyle: style.backgroundColor, + fontColor: color, + hidden: !meta.visible, + lineCap: style.borderCapStyle, + lineDash: style.borderDash, + lineDashOffset: style.borderDashOffset, + lineJoin: style.borderJoinStyle, + lineWidth: (borderWidth.width + borderWidth.height) / 4, + strokeStyle: style.borderColor, + pointStyle: pointStyle || style.pointStyle, + rotation: style.rotation, + textAlign: textAlign || style.textAlign, + borderRadius: 0, + datasetIndex: meta.index + }; + }, this); + } + }, + title: { + color: (ctx) => ctx.chart.options.color, + display: false, + position: 'center', + text: '', + } + }, + descriptors: { + _scriptable: (name) => !name.startsWith('on'), + labels: { + _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name), + } + }, +}; + +class Title extends Element { + constructor(config) { + super(); + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this._padding = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight) { + const opts = this.options; + this.left = 0; + this.top = 0; + if (!opts.display) { + this.width = this.height = this.right = this.bottom = 0; + return; + } + this.width = this.right = maxWidth; + this.height = this.bottom = maxHeight; + const lineCount = isArray(opts.text) ? opts.text.length : 1; + this._padding = toPadding(opts.padding); + const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height; + if (this.isHorizontal()) { + this.height = textSize; + } else { + this.width = textSize; + } + } + isHorizontal() { + const pos = this.options.position; + return pos === 'top' || pos === 'bottom'; + } + _drawArgs(offset) { + const {top, left, bottom, right, options} = this; + const align = options.align; + let rotation = 0; + let maxWidth, titleX, titleY; + if (this.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + titleY = top + offset; + maxWidth = right - left; + } else { + if (options.position === 'left') { + titleX = left + offset; + titleY = _alignStartEnd(align, bottom, top); + rotation = PI * -0.5; + } else { + titleX = right - offset; + titleY = _alignStartEnd(align, top, bottom); + rotation = PI * 0.5; + } + maxWidth = bottom - top; + } + return {titleX, titleY, maxWidth, rotation}; + } + draw() { + const ctx = this.ctx; + const opts = this.options; + if (!opts.display) { + return; + } + const fontOpts = toFont(opts.font); + const lineHeight = fontOpts.lineHeight; + const offset = lineHeight / 2 + this._padding.top; + const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset); + renderText(ctx, opts.text, 0, 0, fontOpts, { + color: opts.color, + maxWidth, + rotation, + textAlign: _toLeftRightCenter(opts.align), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } +} +function createTitle(chart, titleOpts) { + const title = new Title({ + ctx: chart.ctx, + options: titleOpts, + chart + }); + layouts.configure(chart, title, titleOpts); + layouts.addBox(chart, title); + chart.titleBlock = title; +} +var plugin_title = { + id: 'title', + _element: Title, + start(chart, _args, options) { + createTitle(chart, options); + }, + stop(chart) { + const titleBlock = chart.titleBlock; + layouts.removeBox(chart, titleBlock); + delete chart.titleBlock; + }, + beforeUpdate(chart, _args, options) { + const title = chart.titleBlock; + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'bold', + }, + fullSize: true, + padding: 10, + position: 'top', + text: '', + weight: 2000 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const map = new WeakMap(); +var plugin_subtitle = { + id: 'subtitle', + start(chart, _args, options) { + const title = new Title({ + ctx: chart.ctx, + options, + chart + }); + layouts.configure(chart, title, options); + layouts.addBox(chart, title); + map.set(chart, title); + }, + stop(chart) { + layouts.removeBox(chart, map.get(chart)); + map.delete(chart); + }, + beforeUpdate(chart, _args, options) { + const title = map.get(chart); + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'normal', + }, + fullSize: true, + padding: 0, + position: 'top', + text: '', + weight: 1500 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const positioners = { + average(items) { + if (!items.length) { + return false; + } + let i, len; + let x = 0; + let y = 0; + let count = 0; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const pos = el.tooltipPosition(); + x += pos.x; + y += pos.y; + ++count; + } + } + return { + x: x / count, + y: y / count + }; + }, + nearest(items, eventPosition) { + if (!items.length) { + return false; + } + let x = eventPosition.x; + let y = eventPosition.y; + let minDistance = Number.POSITIVE_INFINITY; + let i, len, nearestElement; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const center = el.getCenterPoint(); + const d = distanceBetweenPoints(eventPosition, center); + if (d < minDistance) { + minDistance = d; + nearestElement = el; + } + } + } + if (nearestElement) { + const tp = nearestElement.tooltipPosition(); + x = tp.x; + y = tp.y; + } + return { + x, + y + }; + } +}; +function pushOrConcat(base, toPush) { + if (toPush) { + if (isArray(toPush)) { + Array.prototype.push.apply(base, toPush); + } else { + base.push(toPush); + } + } + return base; +} +function splitNewlines(str) { + if ((typeof str === 'string' || str instanceof String) && str.indexOf('\n') > -1) { + return str.split('\n'); + } + return str; +} +function createTooltipItem(chart, item) { + const {element, datasetIndex, index} = item; + const controller = chart.getDatasetMeta(datasetIndex).controller; + const {label, value} = controller.getLabelAndValue(index); + return { + chart, + label, + parsed: controller.getParsed(index), + raw: chart.data.datasets[datasetIndex].data[index], + formattedValue: value, + dataset: controller.getDataset(), + dataIndex: index, + datasetIndex, + element + }; +} +function getTooltipSize(tooltip, options) { + const ctx = tooltip.chart.ctx; + const {body, footer, title} = tooltip; + const {boxWidth, boxHeight} = options; + const bodyFont = toFont(options.bodyFont); + const titleFont = toFont(options.titleFont); + const footerFont = toFont(options.footerFont); + const titleLineCount = title.length; + const footerLineCount = footer.length; + const bodyLineItemCount = body.length; + const padding = toPadding(options.padding); + let height = padding.height; + let width = 0; + let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0); + combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length; + if (titleLineCount) { + height += titleLineCount * titleFont.lineHeight + + (titleLineCount - 1) * options.titleSpacing + + options.titleMarginBottom; + } + if (combinedBodyLength) { + const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight; + height += bodyLineItemCount * bodyLineHeight + + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + + (combinedBodyLength - 1) * options.bodySpacing; + } + if (footerLineCount) { + height += options.footerMarginTop + + footerLineCount * footerFont.lineHeight + + (footerLineCount - 1) * options.footerSpacing; + } + let widthPadding = 0; + const maxLineWidth = function(line) { + width = Math.max(width, ctx.measureText(line).width + widthPadding); + }; + ctx.save(); + ctx.font = titleFont.string; + each(tooltip.title, maxLineWidth); + ctx.font = bodyFont.string; + each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth); + widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0; + each(body, (bodyItem) => { + each(bodyItem.before, maxLineWidth); + each(bodyItem.lines, maxLineWidth); + each(bodyItem.after, maxLineWidth); + }); + widthPadding = 0; + ctx.font = footerFont.string; + each(tooltip.footer, maxLineWidth); + ctx.restore(); + width += padding.width; + return {width, height}; +} +function determineYAlign(chart, size) { + const {y, height} = size; + if (y < height / 2) { + return 'top'; + } else if (y > (chart.height - height / 2)) { + return 'bottom'; + } + return 'center'; +} +function doesNotFitWithAlign(xAlign, chart, options, size) { + const {x, width} = size; + const caret = options.caretSize + options.caretPadding; + if (xAlign === 'left' && x + width + caret > chart.width) { + return true; + } + if (xAlign === 'right' && x - width - caret < 0) { + return true; + } +} +function determineXAlign(chart, options, size, yAlign) { + const {x, width} = size; + const {width: chartWidth, chartArea: {left, right}} = chart; + let xAlign = 'center'; + if (yAlign === 'center') { + xAlign = x <= (left + right) / 2 ? 'left' : 'right'; + } else if (x <= width / 2) { + xAlign = 'left'; + } else if (x >= chartWidth - width / 2) { + xAlign = 'right'; + } + if (doesNotFitWithAlign(xAlign, chart, options, size)) { + xAlign = 'center'; + } + return xAlign; +} +function determineAlignment(chart, options, size) { + const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size); + return { + xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign), + yAlign + }; +} +function alignX(size, xAlign) { + let {x, width} = size; + if (xAlign === 'right') { + x -= width; + } else if (xAlign === 'center') { + x -= (width / 2); + } + return x; +} +function alignY(size, yAlign, paddingAndSize) { + let {y, height} = size; + if (yAlign === 'top') { + y += paddingAndSize; + } else if (yAlign === 'bottom') { + y -= height + paddingAndSize; + } else { + y -= (height / 2); + } + return y; +} +function getBackgroundPoint(options, size, alignment, chart) { + const {caretSize, caretPadding, cornerRadius} = options; + const {xAlign, yAlign} = alignment; + const paddingAndSize = caretSize + caretPadding; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + let x = alignX(size, xAlign); + const y = alignY(size, yAlign, paddingAndSize); + if (yAlign === 'center') { + if (xAlign === 'left') { + x += paddingAndSize; + } else if (xAlign === 'right') { + x -= paddingAndSize; + } + } else if (xAlign === 'left') { + x -= Math.max(topLeft, bottomLeft) + caretSize; + } else if (xAlign === 'right') { + x += Math.max(topRight, bottomRight) + caretSize; + } + return { + x: _limitValue(x, 0, chart.width - size.width), + y: _limitValue(y, 0, chart.height - size.height) + }; +} +function getAlignedX(tooltip, align, options) { + const padding = toPadding(options.padding); + return align === 'center' + ? tooltip.x + tooltip.width / 2 + : align === 'right' + ? tooltip.x + tooltip.width - padding.right + : tooltip.x + padding.left; +} +function getBeforeAfterBodyLines(callback) { + return pushOrConcat([], splitNewlines(callback)); +} +function createTooltipContext(parent, tooltip, tooltipItems) { + return createContext(parent, { + tooltip, + tooltipItems, + type: 'tooltip' + }); +} +function overrideCallbacks(callbacks, context) { + const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; + return override ? callbacks.override(override) : callbacks; +} +class Tooltip extends Element { + constructor(config) { + super(); + this.opacity = 0; + this._active = []; + this._eventPosition = undefined; + this._size = undefined; + this._cachedAnimations = undefined; + this._tooltipItems = []; + this.$animations = undefined; + this.$context = undefined; + this.chart = config.chart || config._chart; + this._chart = this.chart; + this.options = config.options; + this.dataPoints = undefined; + this.title = undefined; + this.beforeBody = undefined; + this.body = undefined; + this.afterBody = undefined; + this.footer = undefined; + this.xAlign = undefined; + this.yAlign = undefined; + this.x = undefined; + this.y = undefined; + this.height = undefined; + this.width = undefined; + this.caretX = undefined; + this.caretY = undefined; + this.labelColors = undefined; + this.labelPointStyles = undefined; + this.labelTextColors = undefined; + } + initialize(options) { + this.options = options; + this._cachedAnimations = undefined; + this.$context = undefined; + } + _resolveAnimations() { + const cached = this._cachedAnimations; + if (cached) { + return cached; + } + const chart = this.chart; + const options = this.options.setContext(this.getContext()); + const opts = options.enabled && chart.options.animation && options.animations; + const animations = new Animations(this.chart, opts); + if (opts._cacheable) { + this._cachedAnimations = Object.freeze(animations); + } + return animations; + } + getContext() { + return this.$context || + (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems)); + } + getTitle(context, options) { + const {callbacks} = options; + const beforeTitle = callbacks.beforeTitle.apply(this, [context]); + const title = callbacks.title.apply(this, [context]); + const afterTitle = callbacks.afterTitle.apply(this, [context]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeTitle)); + lines = pushOrConcat(lines, splitNewlines(title)); + lines = pushOrConcat(lines, splitNewlines(afterTitle)); + return lines; + } + getBeforeBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems])); + } + getBody(tooltipItems, options) { + const {callbacks} = options; + const bodyItems = []; + each(tooltipItems, (context) => { + const bodyItem = { + before: [], + lines: [], + after: [] + }; + const scoped = overrideCallbacks(callbacks, context); + pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context))); + pushOrConcat(bodyItem.lines, scoped.label.call(this, context)); + pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context))); + bodyItems.push(bodyItem); + }); + return bodyItems; + } + getAfterBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems])); + } + getFooter(tooltipItems, options) { + const {callbacks} = options; + const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]); + const footer = callbacks.footer.apply(this, [tooltipItems]); + const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeFooter)); + lines = pushOrConcat(lines, splitNewlines(footer)); + lines = pushOrConcat(lines, splitNewlines(afterFooter)); + return lines; + } + _createItems(options) { + const active = this._active; + const data = this.chart.data; + const labelColors = []; + const labelPointStyles = []; + const labelTextColors = []; + let tooltipItems = []; + let i, len; + for (i = 0, len = active.length; i < len; ++i) { + tooltipItems.push(createTooltipItem(this.chart, active[i])); + } + if (options.filter) { + tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data)); + } + if (options.itemSort) { + tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data)); + } + each(tooltipItems, (context) => { + const scoped = overrideCallbacks(options.callbacks, context); + labelColors.push(scoped.labelColor.call(this, context)); + labelPointStyles.push(scoped.labelPointStyle.call(this, context)); + labelTextColors.push(scoped.labelTextColor.call(this, context)); + }); + this.labelColors = labelColors; + this.labelPointStyles = labelPointStyles; + this.labelTextColors = labelTextColors; + this.dataPoints = tooltipItems; + return tooltipItems; + } + update(changed, replay) { + const options = this.options.setContext(this.getContext()); + const active = this._active; + let properties; + let tooltipItems = []; + if (!active.length) { + if (this.opacity !== 0) { + properties = { + opacity: 0 + }; + } + } else { + const position = positioners[options.position].call(this, active, this._eventPosition); + tooltipItems = this._createItems(options); + this.title = this.getTitle(tooltipItems, options); + this.beforeBody = this.getBeforeBody(tooltipItems, options); + this.body = this.getBody(tooltipItems, options); + this.afterBody = this.getAfterBody(tooltipItems, options); + this.footer = this.getFooter(tooltipItems, options); + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, size); + const alignment = determineAlignment(this.chart, options, positionAndSize); + const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart); + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + properties = { + opacity: 1, + x: backgroundPoint.x, + y: backgroundPoint.y, + width: size.width, + height: size.height, + caretX: position.x, + caretY: position.y + }; + } + this._tooltipItems = tooltipItems; + this.$context = undefined; + if (properties) { + this._resolveAnimations().update(this, properties); + } + if (changed && options.external) { + options.external.call(this, {chart: this.chart, tooltip: this, replay}); + } + } + drawCaret(tooltipPoint, ctx, size, options) { + const caretPosition = this.getCaretPosition(tooltipPoint, size, options); + ctx.lineTo(caretPosition.x1, caretPosition.y1); + ctx.lineTo(caretPosition.x2, caretPosition.y2); + ctx.lineTo(caretPosition.x3, caretPosition.y3); + } + getCaretPosition(tooltipPoint, size, options) { + const {xAlign, yAlign} = this; + const {caretSize, cornerRadius} = options; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + const {x: ptX, y: ptY} = tooltipPoint; + const {width, height} = size; + let x1, x2, x3, y1, y2, y3; + if (yAlign === 'center') { + y2 = ptY + (height / 2); + if (xAlign === 'left') { + x1 = ptX; + x2 = x1 - caretSize; + y1 = y2 + caretSize; + y3 = y2 - caretSize; + } else { + x1 = ptX + width; + x2 = x1 + caretSize; + y1 = y2 - caretSize; + y3 = y2 + caretSize; + } + x3 = x1; + } else { + if (xAlign === 'left') { + x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize); + } else if (xAlign === 'right') { + x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize; + } else { + x2 = this.caretX; + } + if (yAlign === 'top') { + y1 = ptY; + y2 = y1 - caretSize; + x1 = x2 - caretSize; + x3 = x2 + caretSize; + } else { + y1 = ptY + height; + y2 = y1 + caretSize; + x1 = x2 + caretSize; + x3 = x2 - caretSize; + } + y3 = y1; + } + return {x1, x2, x3, y1, y2, y3}; + } + drawTitle(pt, ctx, options) { + const title = this.title; + const length = title.length; + let titleFont, titleSpacing, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.titleAlign, options); + ctx.textAlign = rtlHelper.textAlign(options.titleAlign); + ctx.textBaseline = 'middle'; + titleFont = toFont(options.titleFont); + titleSpacing = options.titleSpacing; + ctx.fillStyle = options.titleColor; + ctx.font = titleFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2); + pt.y += titleFont.lineHeight + titleSpacing; + if (i + 1 === length) { + pt.y += options.titleMarginBottom - titleSpacing; + } + } + } + } + _drawColorBox(ctx, pt, i, rtlHelper, options) { + const labelColors = this.labelColors[i]; + const labelPointStyle = this.labelPointStyles[i]; + const {boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + const colorX = getAlignedX(this, 'left', options); + const rtlColorX = rtlHelper.x(colorX); + const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0; + const colorY = pt.y + yOffSet; + if (options.usePointStyle) { + const drawOptions = { + radius: Math.min(boxWidth, boxHeight) / 2, + pointStyle: labelPointStyle.pointStyle, + rotation: labelPointStyle.rotation, + borderWidth: 1 + }; + const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2; + const centerY = colorY + boxHeight / 2; + ctx.strokeStyle = options.multiKeyBackground; + ctx.fillStyle = options.multiKeyBackground; + drawPoint(ctx, drawOptions, centerX, centerY); + ctx.strokeStyle = labelColors.borderColor; + ctx.fillStyle = labelColors.backgroundColor; + drawPoint(ctx, drawOptions, centerX, centerY); + } else { + ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1); + ctx.strokeStyle = labelColors.borderColor; + ctx.setLineDash(labelColors.borderDash || []); + ctx.lineDashOffset = labelColors.borderDashOffset || 0; + const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding); + const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2); + const borderRadius = toTRBLCorners(labelColors.borderRadius); + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + ctx.fillStyle = options.multiKeyBackground; + addRoundedRectPath(ctx, { + x: outerX, + y: colorY, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + ctx.fill(); + ctx.stroke(); + ctx.fillStyle = labelColors.backgroundColor; + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: innerX, + y: colorY + 1, + w: boxWidth - 2, + h: boxHeight - 2, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillStyle = options.multiKeyBackground; + ctx.fillRect(outerX, colorY, boxWidth, boxHeight); + ctx.strokeRect(outerX, colorY, boxWidth, boxHeight); + ctx.fillStyle = labelColors.backgroundColor; + ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2); + } + } + ctx.fillStyle = this.labelTextColors[i]; + } + drawBody(pt, ctx, options) { + const {body} = this; + const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + let bodyLineHeight = bodyFont.lineHeight; + let xLinePadding = 0; + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + const fillLineOfText = function(line) { + ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2); + pt.y += bodyLineHeight + bodySpacing; + }; + const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign); + let bodyItem, textColor, lines, i, j, ilen, jlen; + ctx.textAlign = bodyAlign; + ctx.textBaseline = 'middle'; + ctx.font = bodyFont.string; + pt.x = getAlignedX(this, bodyAlignForCalculation, options); + ctx.fillStyle = options.bodyColor; + each(this.beforeBody, fillLineOfText); + xLinePadding = displayColors && bodyAlignForCalculation !== 'right' + ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding) + : 0; + for (i = 0, ilen = body.length; i < ilen; ++i) { + bodyItem = body[i]; + textColor = this.labelTextColors[i]; + ctx.fillStyle = textColor; + each(bodyItem.before, fillLineOfText); + lines = bodyItem.lines; + if (displayColors && lines.length) { + this._drawColorBox(ctx, pt, i, rtlHelper, options); + bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight); + } + for (j = 0, jlen = lines.length; j < jlen; ++j) { + fillLineOfText(lines[j]); + bodyLineHeight = bodyFont.lineHeight; + } + each(bodyItem.after, fillLineOfText); + } + xLinePadding = 0; + bodyLineHeight = bodyFont.lineHeight; + each(this.afterBody, fillLineOfText); + pt.y -= bodySpacing; + } + drawFooter(pt, ctx, options) { + const footer = this.footer; + const length = footer.length; + let footerFont, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.footerAlign, options); + pt.y += options.footerMarginTop; + ctx.textAlign = rtlHelper.textAlign(options.footerAlign); + ctx.textBaseline = 'middle'; + footerFont = toFont(options.footerFont); + ctx.fillStyle = options.footerColor; + ctx.font = footerFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2); + pt.y += footerFont.lineHeight + options.footerSpacing; + } + } + } + drawBackground(pt, ctx, tooltipSize, options) { + const {xAlign, yAlign} = this; + const {x, y} = pt; + const {width, height} = tooltipSize; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius); + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.beginPath(); + ctx.moveTo(x + topLeft, y); + if (yAlign === 'top') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width - topRight, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + topRight); + if (yAlign === 'center' && xAlign === 'right') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width, y + height - bottomRight); + ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height); + if (yAlign === 'bottom') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + bottomLeft, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft); + if (yAlign === 'center' && xAlign === 'left') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x, y + topLeft); + ctx.quadraticCurveTo(x, y, x + topLeft, y); + ctx.closePath(); + ctx.fill(); + if (options.borderWidth > 0) { + ctx.stroke(); + } + } + _updateAnimationTarget(options) { + const chart = this.chart; + const anims = this.$animations; + const animX = anims && anims.x; + const animY = anims && anims.y; + if (animX || animY) { + const position = positioners[options.position].call(this, this._active, this._eventPosition); + if (!position) { + return; + } + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, this._size); + const alignment = determineAlignment(chart, options, positionAndSize); + const point = getBackgroundPoint(options, positionAndSize, alignment, chart); + if (animX._to !== point.x || animY._to !== point.y) { + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + this.width = size.width; + this.height = size.height; + this.caretX = position.x; + this.caretY = position.y; + this._resolveAnimations().update(this, point); + } + } + } + _willRender() { + return !!this.opacity; + } + draw(ctx) { + const options = this.options.setContext(this.getContext()); + let opacity = this.opacity; + if (!opacity) { + return; + } + this._updateAnimationTarget(options); + const tooltipSize = { + width: this.width, + height: this.height + }; + const pt = { + x: this.x, + y: this.y + }; + opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity; + const padding = toPadding(options.padding); + const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length; + if (options.enabled && hasTooltipContent) { + ctx.save(); + ctx.globalAlpha = opacity; + this.drawBackground(pt, ctx, tooltipSize, options); + overrideTextDirection(ctx, options.textDirection); + pt.y += padding.top; + this.drawTitle(pt, ctx, options); + this.drawBody(pt, ctx, options); + this.drawFooter(pt, ctx, options); + restoreTextDirection(ctx, options.textDirection); + ctx.restore(); + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements, eventPosition) { + const lastActive = this._active; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.chart.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('Cannot find a dataset at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(lastActive, active); + const positionChanged = this._positionChanged(active, eventPosition); + if (changed || positionChanged) { + this._active = active; + this._eventPosition = eventPosition; + this._ignoreReplayEvents = true; + this.update(true); + } + } + handleEvent(e, replay, inChartArea = true) { + if (replay && this._ignoreReplayEvents) { + return false; + } + this._ignoreReplayEvents = false; + const options = this.options; + const lastActive = this._active || []; + const active = this._getActiveElements(e, lastActive, replay, inChartArea); + const positionChanged = this._positionChanged(active, e); + const changed = replay || !_elementsEqual(active, lastActive) || positionChanged; + if (changed) { + this._active = active; + if (options.enabled || options.external) { + this._eventPosition = { + x: e.x, + y: e.y + }; + this.update(true, replay); + } + } + return changed; + } + _getActiveElements(e, lastActive, replay, inChartArea) { + const options = this.options; + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay); + if (options.reverse) { + active.reverse(); + } + return active; + } + _positionChanged(active, e) { + const {caretX, caretY, options} = this; + const position = positioners[options.position].call(this, active, e); + return position !== false && (caretX !== position.x || caretY !== position.y); + } +} +Tooltip.positioners = positioners; +var plugin_tooltip = { + id: 'tooltip', + _element: Tooltip, + positioners, + afterInit(chart, _args, options) { + if (options) { + chart.tooltip = new Tooltip({chart, options}); + } + }, + beforeUpdate(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + reset(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + afterDraw(chart) { + const tooltip = chart.tooltip; + if (tooltip && tooltip._willRender()) { + const args = { + tooltip + }; + if (chart.notifyPlugins('beforeTooltipDraw', args) === false) { + return; + } + tooltip.draw(chart.ctx); + chart.notifyPlugins('afterTooltipDraw', args); + } + }, + afterEvent(chart, args) { + if (chart.tooltip) { + const useFinalPosition = args.replay; + if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) { + args.changed = true; + } + } + }, + defaults: { + enabled: true, + external: null, + position: 'average', + backgroundColor: 'rgba(0,0,0,0.8)', + titleColor: '#fff', + titleFont: { + weight: 'bold', + }, + titleSpacing: 2, + titleMarginBottom: 6, + titleAlign: 'left', + bodyColor: '#fff', + bodySpacing: 2, + bodyFont: { + }, + bodyAlign: 'left', + footerColor: '#fff', + footerSpacing: 2, + footerMarginTop: 6, + footerFont: { + weight: 'bold', + }, + footerAlign: 'left', + padding: 6, + caretPadding: 2, + caretSize: 5, + cornerRadius: 6, + boxHeight: (ctx, opts) => opts.bodyFont.size, + boxWidth: (ctx, opts) => opts.bodyFont.size, + multiKeyBackground: '#fff', + displayColors: true, + boxPadding: 0, + borderColor: 'rgba(0,0,0,0)', + borderWidth: 0, + animation: { + duration: 400, + easing: 'easeOutQuart', + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'], + }, + opacity: { + easing: 'linear', + duration: 200 + } + }, + callbacks: { + beforeTitle: noop, + title(tooltipItems) { + if (tooltipItems.length > 0) { + const item = tooltipItems[0]; + const labels = item.chart.data.labels; + const labelCount = labels ? labels.length : 0; + if (this && this.options && this.options.mode === 'dataset') { + return item.dataset.label || ''; + } else if (item.label) { + return item.label; + } else if (labelCount > 0 && item.dataIndex < labelCount) { + return labels[item.dataIndex]; + } + } + return ''; + }, + afterTitle: noop, + beforeBody: noop, + beforeLabel: noop, + label(tooltipItem) { + if (this && this.options && this.options.mode === 'dataset') { + return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue; + } + let label = tooltipItem.dataset.label || ''; + if (label) { + label += ': '; + } + const value = tooltipItem.formattedValue; + if (!isNullOrUndef(value)) { + label += value; + } + return label; + }, + labelColor(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + borderColor: options.borderColor, + backgroundColor: options.backgroundColor, + borderWidth: options.borderWidth, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderRadius: 0, + }; + }, + labelTextColor() { + return this.options.bodyColor; + }, + labelPointStyle(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + pointStyle: options.pointStyle, + rotation: options.rotation, + }; + }, + afterLabel: noop, + afterBody: noop, + beforeFooter: noop, + footer: noop, + afterFooter: noop + } + }, + defaultRoutes: { + bodyFont: 'font', + footerFont: 'font', + titleFont: 'font' + }, + descriptors: { + _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external', + _indexable: false, + callbacks: { + _scriptable: false, + _indexable: false, + }, + animation: { + _fallback: false + }, + animations: { + _fallback: 'animation' + } + }, + additionalOptionScopes: ['interaction'] +}; + +var plugins = /*#__PURE__*/Object.freeze({ +__proto__: null, +Decimation: plugin_decimation, +Filler: index, +Legend: plugin_legend, +SubTitle: plugin_subtitle, +Title: plugin_title, +Tooltip: plugin_tooltip +}); + +const addIfString = (labels, raw, index, addedLabels) => { + if (typeof raw === 'string') { + index = labels.push(raw) - 1; + addedLabels.unshift({index, label: raw}); + } else if (isNaN(raw)) { + index = null; + } + return index; +}; +function findOrAddLabel(labels, raw, index, addedLabels) { + const first = labels.indexOf(raw); + if (first === -1) { + return addIfString(labels, raw, index, addedLabels); + } + const last = labels.lastIndexOf(raw); + return first !== last ? index : first; +} +const validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max); +class CategoryScale extends Scale { + constructor(cfg) { + super(cfg); + this._startValue = undefined; + this._valueRange = 0; + this._addedLabels = []; + } + init(scaleOptions) { + const added = this._addedLabels; + if (added.length) { + const labels = this.getLabels(); + for (const {index, label} of added) { + if (labels[index] === label) { + labels.splice(index, 1); + } + } + this._addedLabels = []; + } + super.init(scaleOptions); + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + const labels = this.getLabels(); + index = isFinite(index) && labels[index] === raw ? index + : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels); + return validIndex(index, labels.length - 1); + } + determineDataLimits() { + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this.getMinMax(true); + if (this.options.bounds === 'ticks') { + if (!minDefined) { + min = 0; + } + if (!maxDefined) { + max = this.getLabels().length - 1; + } + } + this.min = min; + this.max = max; + } + buildTicks() { + const min = this.min; + const max = this.max; + const offset = this.options.offset; + const ticks = []; + let labels = this.getLabels(); + labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1); + this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); + this._startValue = this.min - (offset ? 0.5 : 0); + for (let value = min; value <= max; value++) { + ticks.push({value}); + } + return ticks; + } + getLabelForValue(value) { + const labels = this.getLabels(); + if (value >= 0 && value < labels.length) { + return labels[value]; + } + return value; + } + configure() { + super.configure(); + if (!this.isHorizontal()) { + this._reversePixels = !this._reversePixels; + } + } + getPixelForValue(value) { + if (typeof value !== 'number') { + value = this.parse(value); + } + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getValueForPixel(pixel) { + return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange); + } + getBasePixel() { + return this.bottom; + } +} +CategoryScale.id = 'category'; +CategoryScale.defaults = { + ticks: { + callback: CategoryScale.prototype.getLabelForValue + } +}; + +function generateTicks$1(generationOptions, dataRange) { + const ticks = []; + const MIN_SPACING = 1e-14; + const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions; + const unit = step || 1; + const maxSpaces = maxTicks - 1; + const {min: rmin, max: rmax} = dataRange; + const minDefined = !isNullOrUndef(min); + const maxDefined = !isNullOrUndef(max); + const countDefined = !isNullOrUndef(count); + const minSpacing = (rmax - rmin) / (maxDigits + 1); + let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; + let factor, niceMin, niceMax, numSpaces; + if (spacing < MIN_SPACING && !minDefined && !maxDefined) { + return [{value: rmin}, {value: rmax}]; + } + numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); + if (numSpaces > maxSpaces) { + spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit; + } + if (!isNullOrUndef(precision)) { + factor = Math.pow(10, precision); + spacing = Math.ceil(spacing * factor) / factor; + } + if (bounds === 'ticks') { + niceMin = Math.floor(rmin / spacing) * spacing; + niceMax = Math.ceil(rmax / spacing) * spacing; + } else { + niceMin = rmin; + niceMax = rmax; + } + if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) { + numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks)); + spacing = (max - min) / numSpaces; + niceMin = min; + niceMax = max; + } else if (countDefined) { + niceMin = minDefined ? min : niceMin; + niceMax = maxDefined ? max : niceMax; + numSpaces = count - 1; + spacing = (niceMax - niceMin) / numSpaces; + } else { + numSpaces = (niceMax - niceMin) / spacing; + if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) { + numSpaces = Math.round(numSpaces); + } else { + numSpaces = Math.ceil(numSpaces); + } + } + const decimalPlaces = Math.max( + _decimalPlaces(spacing), + _decimalPlaces(niceMin) + ); + factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision); + niceMin = Math.round(niceMin * factor) / factor; + niceMax = Math.round(niceMax * factor) / factor; + let j = 0; + if (minDefined) { + if (includeBounds && niceMin !== min) { + ticks.push({value: min}); + if (niceMin < min) { + j++; + } + if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) { + j++; + } + } else if (niceMin < min) { + j++; + } + } + for (; j < numSpaces; ++j) { + ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor}); + } + if (maxDefined && includeBounds && niceMax !== max) { + if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { + ticks[ticks.length - 1].value = max; + } else { + ticks.push({value: max}); + } + } else if (!maxDefined || niceMax === max) { + ticks.push({value: niceMax}); + } + return ticks; +} +function relativeLabelSize(value, minSpacing, {horizontal, minRotation}) { + const rad = toRadians(minRotation); + const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001; + const length = 0.75 * minSpacing * ('' + value).length; + return Math.min(minSpacing / ratio, length); +} +class LinearScaleBase extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._endValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) { + return null; + } + return +raw; + } + handleTickRangeOptions() { + const {beginAtZero} = this.options; + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + if (beginAtZero) { + const minSign = sign(min); + const maxSign = sign(max); + if (minSign < 0 && maxSign < 0) { + setMax(0); + } else if (minSign > 0 && maxSign > 0) { + setMin(0); + } + } + if (min === max) { + let offset = 1; + if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) { + offset = Math.abs(max * 0.05); + } + setMax(max + offset); + if (!beginAtZero) { + setMin(min - offset); + } + } + this.min = min; + this.max = max; + } + getTickLimit() { + const tickOpts = this.options.ticks; + let {maxTicksLimit, stepSize} = tickOpts; + let maxTicks; + if (stepSize) { + maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1; + if (maxTicks > 1000) { + console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`); + maxTicks = 1000; + } + } else { + maxTicks = this.computeTickLimit(); + maxTicksLimit = maxTicksLimit || 11; + } + if (maxTicksLimit) { + maxTicks = Math.min(maxTicksLimit, maxTicks); + } + return maxTicks; + } + computeTickLimit() { + return Number.POSITIVE_INFINITY; + } + buildTicks() { + const opts = this.options; + const tickOpts = opts.ticks; + let maxTicks = this.getTickLimit(); + maxTicks = Math.max(2, maxTicks); + const numericGeneratorOptions = { + maxTicks, + bounds: opts.bounds, + min: opts.min, + max: opts.max, + precision: tickOpts.precision, + step: tickOpts.stepSize, + count: tickOpts.count, + maxDigits: this._maxDigits(), + horizontal: this.isHorizontal(), + minRotation: tickOpts.minRotation || 0, + includeBounds: tickOpts.includeBounds !== false + }; + const dataRange = this._range || this; + const ticks = generateTicks$1(numericGeneratorOptions, dataRange); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + configure() { + const ticks = this.ticks; + let start = this.min; + let end = this.max; + super.configure(); + if (this.options.offset && ticks.length) { + const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2; + start -= offset; + end += offset; + } + this._startValue = start; + this._endValue = end; + this._valueRange = end - start; + } + getLabelForValue(value) { + return formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } +} + +class LinearScale extends LinearScaleBase { + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? min : 0; + this.max = isNumberFinite(max) ? max : 1; + this.handleTickRangeOptions(); + } + computeTickLimit() { + const horizontal = this.isHorizontal(); + const length = horizontal ? this.width : this.height; + const minRotation = toRadians(this.options.ticks.minRotation); + const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001; + const tickFont = this._resolveTickFontOptions(0); + return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio)); + } + getPixelForValue(value) { + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; + } +} +LinearScale.id = 'linear'; +LinearScale.defaults = { + ticks: { + callback: Ticks.formatters.numeric + } +}; + +function isMajor(tickVal) { + const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal)))); + return remain === 1; +} +function generateTicks(generationOptions, dataRange) { + const endExp = Math.floor(log10(dataRange.max)); + const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp)); + const ticks = []; + let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min)))); + let exp = Math.floor(log10(tickVal)); + let significand = Math.floor(tickVal / Math.pow(10, exp)); + let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; + do { + ticks.push({value: tickVal, major: isMajor(tickVal)}); + ++significand; + if (significand === 10) { + significand = 1; + ++exp; + precision = exp >= 0 ? 1 : precision; + } + tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision; + } while (exp < endExp || (exp === endExp && significand < endSignificand)); + const lastTick = finiteOrDefault(generationOptions.max, tickVal); + ticks.push({value: lastTick, major: isMajor(tickVal)}); + return ticks; +} +class LogarithmicScale extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]); + if (value === 0) { + this._zero = true; + return undefined; + } + return isNumberFinite(value) && value > 0 ? value : null; + } + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? Math.max(0, min) : null; + this.max = isNumberFinite(max) ? Math.max(0, max) : null; + if (this.options.beginAtZero) { + this._zero = true; + } + this.handleTickRangeOptions(); + } + handleTickRangeOptions() { + const {minDefined, maxDefined} = this.getUserBounds(); + let min = this.min; + let max = this.max; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m); + if (min === max) { + if (min <= 0) { + setMin(1); + setMax(10); + } else { + setMin(exp(min, -1)); + setMax(exp(max, +1)); + } + } + if (min <= 0) { + setMin(exp(max, -1)); + } + if (max <= 0) { + setMax(exp(min, +1)); + } + if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) { + setMin(exp(min, -1)); + } + this.min = min; + this.max = max; + } + buildTicks() { + const opts = this.options; + const generationOptions = { + min: this._userMin, + max: this._userMax + }; + const ticks = generateTicks(generationOptions, this); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + getLabelForValue(value) { + return value === undefined + ? '0' + : formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } + configure() { + const start = this.min; + super.configure(); + this._startValue = log10(start); + this._valueRange = log10(this.max) - log10(start); + } + getPixelForValue(value) { + if (value === undefined || value === 0) { + value = this.min; + } + if (value === null || isNaN(value)) { + return NaN; + } + return this.getPixelForDecimal(value === this.min + ? 0 + : (log10(value) - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + const decimal = this.getDecimalForPixel(pixel); + return Math.pow(10, this._startValue + decimal * this._valueRange); + } +} +LogarithmicScale.id = 'logarithmic'; +LogarithmicScale.defaults = { + ticks: { + callback: Ticks.formatters.logarithmic, + major: { + enabled: true + } + } +}; + +function getTickBackdropHeight(opts) { + const tickOpts = opts.ticks; + if (tickOpts.display && opts.display) { + const padding = toPadding(tickOpts.backdropPadding); + return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height; + } + return 0; +} +function measureLabelSize(ctx, font, label) { + label = isArray(label) ? label : [label]; + return { + w: _longestText(ctx, font.string, label), + h: label.length * font.lineHeight + }; +} +function determineLimits(angle, pos, size, min, max) { + if (angle === min || angle === max) { + return { + start: pos - (size / 2), + end: pos + (size / 2) + }; + } else if (angle < min || angle > max) { + return { + start: pos - size, + end: pos + }; + } + return { + start: pos, + end: pos + size + }; +} +function fitWithPointLabels(scale) { + const orig = { + l: scale.left + scale._padding.left, + r: scale.right - scale._padding.right, + t: scale.top + scale._padding.top, + b: scale.bottom - scale._padding.bottom + }; + const limits = Object.assign({}, orig); + const labelSizes = []; + const padding = []; + const valueCount = scale._pointLabels.length; + const pointLabelOpts = scale.options.pointLabels; + const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i)); + padding[i] = opts.padding; + const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle); + const plFont = toFont(opts.font); + const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]); + labelSizes[i] = textSize; + const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle); + const angle = Math.round(toDegrees(angleRadians)); + const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180); + const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270); + updateLimits(limits, orig, angleRadians, hLimits, vLimits); + } + scale.setCenterPoint( + orig.l - limits.l, + limits.r - orig.r, + orig.t - limits.t, + limits.b - orig.b + ); + scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding); +} +function updateLimits(limits, orig, angle, hLimits, vLimits) { + const sin = Math.abs(Math.sin(angle)); + const cos = Math.abs(Math.cos(angle)); + let x = 0; + let y = 0; + if (hLimits.start < orig.l) { + x = (orig.l - hLimits.start) / sin; + limits.l = Math.min(limits.l, orig.l - x); + } else if (hLimits.end > orig.r) { + x = (hLimits.end - orig.r) / sin; + limits.r = Math.max(limits.r, orig.r + x); + } + if (vLimits.start < orig.t) { + y = (orig.t - vLimits.start) / cos; + limits.t = Math.min(limits.t, orig.t - y); + } else if (vLimits.end > orig.b) { + y = (vLimits.end - orig.b) / cos; + limits.b = Math.max(limits.b, orig.b + y); + } +} +function buildPointLabelItems(scale, labelSizes, padding) { + const items = []; + const valueCount = scale._pointLabels.length; + const opts = scale.options; + const extra = getTickBackdropHeight(opts) / 2; + const outerDistance = scale.drawingArea; + const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle); + const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI))); + const size = labelSizes[i]; + const y = yForAngle(pointLabelPosition.y, size.h, angle); + const textAlign = getTextAlignForAngle(angle); + const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign); + items.push({ + x: pointLabelPosition.x, + y, + textAlign, + left, + top: y, + right: left + size.w, + bottom: y + size.h + }); + } + return items; +} +function getTextAlignForAngle(angle) { + if (angle === 0 || angle === 180) { + return 'center'; + } else if (angle < 180) { + return 'left'; + } + return 'right'; +} +function leftForTextAlign(x, w, align) { + if (align === 'right') { + x -= w; + } else if (align === 'center') { + x -= (w / 2); + } + return x; +} +function yForAngle(y, h, angle) { + if (angle === 90 || angle === 270) { + y -= (h / 2); + } else if (angle > 270 || angle < 90) { + y -= h; + } + return y; +} +function drawPointLabels(scale, labelCount) { + const {ctx, options: {pointLabels}} = scale; + for (let i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i)); + const plFont = toFont(optsAtIndex.font); + const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i]; + const {backdropColor} = optsAtIndex; + if (!isNullOrUndef(backdropColor)) { + const borderRadius = toTRBLCorners(optsAtIndex.borderRadius); + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillStyle = backdropColor; + const backdropLeft = left - padding.left; + const backdropTop = top - padding.top; + const backdropWidth = right - left + padding.width; + const backdropHeight = bottom - top + padding.height; + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: backdropLeft, + y: backdropTop, + w: backdropWidth, + h: backdropHeight, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); + } + } + renderText( + ctx, + scale._pointLabels[i], + x, + y + (plFont.lineHeight / 2), + plFont, + { + color: optsAtIndex.color, + textAlign: textAlign, + textBaseline: 'middle' + } + ); + } +} +function pathRadiusLine(scale, radius, circular, labelCount) { + const {ctx} = scale; + if (circular) { + ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); + } else { + let pointPosition = scale.getPointPosition(0, radius); + ctx.moveTo(pointPosition.x, pointPosition.y); + for (let i = 1; i < labelCount; i++) { + pointPosition = scale.getPointPosition(i, radius); + ctx.lineTo(pointPosition.x, pointPosition.y); + } + } +} +function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { + const ctx = scale.ctx; + const circular = gridLineOpts.circular; + const {color, lineWidth} = gridLineOpts; + if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) { + return; + } + ctx.save(); + ctx.strokeStyle = color; + ctx.lineWidth = lineWidth; + ctx.setLineDash(gridLineOpts.borderDash); + ctx.lineDashOffset = gridLineOpts.borderDashOffset; + ctx.beginPath(); + pathRadiusLine(scale, radius, circular, labelCount); + ctx.closePath(); + ctx.stroke(); + ctx.restore(); +} +function createPointLabelContext(parent, index, label) { + return createContext(parent, { + label, + index, + type: 'pointLabel' + }); +} +class RadialLinearScale extends LinearScaleBase { + constructor(cfg) { + super(cfg); + this.xCenter = undefined; + this.yCenter = undefined; + this.drawingArea = undefined; + this._pointLabels = []; + this._pointLabelItems = []; + } + setDimensions() { + const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2); + const w = this.width = this.maxWidth - padding.width; + const h = this.height = this.maxHeight - padding.height; + this.xCenter = Math.floor(this.left + w / 2 + padding.left); + this.yCenter = Math.floor(this.top + h / 2 + padding.top); + this.drawingArea = Math.floor(Math.min(w, h) / 2); + } + determineDataLimits() { + const {min, max} = this.getMinMax(false); + this.min = isNumberFinite(min) && !isNaN(min) ? min : 0; + this.max = isNumberFinite(max) && !isNaN(max) ? max : 0; + this.handleTickRangeOptions(); + } + computeTickLimit() { + return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options)); + } + generateTickLabels(ticks) { + LinearScaleBase.prototype.generateTickLabels.call(this, ticks); + this._pointLabels = this.getLabels() + .map((value, index) => { + const label = callback(this.options.pointLabels.callback, [value, index], this); + return label || label === 0 ? label : ''; + }) + .filter((v, i) => this.chart.getDataVisibility(i)); + } + fit() { + const opts = this.options; + if (opts.display && opts.pointLabels.display) { + fitWithPointLabels(this); + } else { + this.setCenterPoint(0, 0, 0, 0); + } + } + setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) { + this.xCenter += Math.floor((leftMovement - rightMovement) / 2); + this.yCenter += Math.floor((topMovement - bottomMovement) / 2); + this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement)); + } + getIndexAngle(index) { + const angleMultiplier = TAU / (this._pointLabels.length || 1); + const startAngle = this.options.startAngle || 0; + return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); + } + getDistanceFromCenterForValue(value) { + if (isNullOrUndef(value)) { + return NaN; + } + const scalingFactor = this.drawingArea / (this.max - this.min); + if (this.options.reverse) { + return (this.max - value) * scalingFactor; + } + return (value - this.min) * scalingFactor; + } + getValueForDistanceFromCenter(distance) { + if (isNullOrUndef(distance)) { + return NaN; + } + const scaledDistance = distance / (this.drawingArea / (this.max - this.min)); + return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance; + } + getPointLabelContext(index) { + const pointLabels = this._pointLabels || []; + if (index >= 0 && index < pointLabels.length) { + const pointLabel = pointLabels[index]; + return createPointLabelContext(this.getContext(), index, pointLabel); + } + } + getPointPosition(index, distanceFromCenter, additionalAngle = 0) { + const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle; + return { + x: Math.cos(angle) * distanceFromCenter + this.xCenter, + y: Math.sin(angle) * distanceFromCenter + this.yCenter, + angle + }; + } + getPointPositionForValue(index, value) { + return this.getPointPosition(index, this.getDistanceFromCenterForValue(value)); + } + getBasePosition(index) { + return this.getPointPositionForValue(index || 0, this.getBaseValue()); + } + getPointLabelPosition(index) { + const {left, top, right, bottom} = this._pointLabelItems[index]; + return { + left, + top, + right, + bottom, + }; + } + drawBackground() { + const {backgroundColor, grid: {circular}} = this.options; + if (backgroundColor) { + const ctx = this.ctx; + ctx.save(); + ctx.beginPath(); + pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length); + ctx.closePath(); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + } + drawGrid() { + const ctx = this.ctx; + const opts = this.options; + const {angleLines, grid} = opts; + const labelCount = this._pointLabels.length; + let i, offset, position; + if (opts.pointLabels.display) { + drawPointLabels(this, labelCount); + } + if (grid.display) { + this.ticks.forEach((tick, index) => { + if (index !== 0) { + offset = this.getDistanceFromCenterForValue(tick.value); + const optsAtIndex = grid.setContext(this.getContext(index - 1)); + drawRadiusLine(this, optsAtIndex, offset, labelCount); + } + }); + } + if (angleLines.display) { + ctx.save(); + for (i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i)); + const {color, lineWidth} = optsAtIndex; + if (!lineWidth || !color) { + continue; + } + ctx.lineWidth = lineWidth; + ctx.strokeStyle = color; + ctx.setLineDash(optsAtIndex.borderDash); + ctx.lineDashOffset = optsAtIndex.borderDashOffset; + offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max); + position = this.getPointPosition(i, offset); + ctx.beginPath(); + ctx.moveTo(this.xCenter, this.yCenter); + ctx.lineTo(position.x, position.y); + ctx.stroke(); + } + ctx.restore(); + } + } + drawBorder() {} + drawLabels() { + const ctx = this.ctx; + const opts = this.options; + const tickOpts = opts.ticks; + if (!tickOpts.display) { + return; + } + const startAngle = this.getIndexAngle(0); + let offset, width; + ctx.save(); + ctx.translate(this.xCenter, this.yCenter); + ctx.rotate(startAngle); + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + this.ticks.forEach((tick, index) => { + if (index === 0 && !opts.reverse) { + return; + } + const optsAtIndex = tickOpts.setContext(this.getContext(index)); + const tickFont = toFont(optsAtIndex.font); + offset = this.getDistanceFromCenterForValue(this.ticks[index].value); + if (optsAtIndex.showLabelBackdrop) { + ctx.font = tickFont.string; + width = ctx.measureText(tick.label).width; + ctx.fillStyle = optsAtIndex.backdropColor; + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillRect( + -width / 2 - padding.left, + -offset - tickFont.size / 2 - padding.top, + width + padding.width, + tickFont.size + padding.height + ); + } + renderText(ctx, tick.label, 0, -offset, tickFont, { + color: optsAtIndex.color, + }); + }); + ctx.restore(); + } + drawTitle() {} +} +RadialLinearScale.id = 'radialLinear'; +RadialLinearScale.defaults = { + display: true, + animate: true, + position: 'chartArea', + angleLines: { + display: true, + lineWidth: 1, + borderDash: [], + borderDashOffset: 0.0 + }, + grid: { + circular: false + }, + startAngle: 0, + ticks: { + showLabelBackdrop: true, + callback: Ticks.formatters.numeric + }, + pointLabels: { + backdropColor: undefined, + backdropPadding: 2, + display: true, + font: { + size: 10 + }, + callback(label) { + return label; + }, + padding: 5, + centerPointLabels: false + } +}; +RadialLinearScale.defaultRoutes = { + 'angleLines.color': 'borderColor', + 'pointLabels.color': 'color', + 'ticks.color': 'color' +}; +RadialLinearScale.descriptors = { + angleLines: { + _fallback: 'grid' + } +}; + +const INTERVALS = { + millisecond: {common: true, size: 1, steps: 1000}, + second: {common: true, size: 1000, steps: 60}, + minute: {common: true, size: 60000, steps: 60}, + hour: {common: true, size: 3600000, steps: 24}, + day: {common: true, size: 86400000, steps: 30}, + week: {common: false, size: 604800000, steps: 4}, + month: {common: true, size: 2.628e9, steps: 12}, + quarter: {common: false, size: 7.884e9, steps: 4}, + year: {common: true, size: 3.154e10} +}; +const UNITS = (Object.keys(INTERVALS)); +function sorter(a, b) { + return a - b; +} +function parse(scale, input) { + if (isNullOrUndef(input)) { + return null; + } + const adapter = scale._adapter; + const {parser, round, isoWeekday} = scale._parseOpts; + let value = input; + if (typeof parser === 'function') { + value = parser(value); + } + if (!isNumberFinite(value)) { + value = typeof parser === 'string' + ? adapter.parse(value, parser) + : adapter.parse(value); + } + if (value === null) { + return null; + } + if (round) { + value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) + ? adapter.startOf(value, 'isoWeek', isoWeekday) + : adapter.startOf(value, round); + } + return +value; +} +function determineUnitForAutoTicks(minUnit, min, max, capacity) { + const ilen = UNITS.length; + for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) { + const interval = INTERVALS[UNITS[i]]; + const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER; + if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) { + return UNITS[i]; + } + } + return UNITS[ilen - 1]; +} +function determineUnitForFormatting(scale, numTicks, minUnit, min, max) { + for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) { + const unit = UNITS[i]; + if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) { + return unit; + } + } + return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0]; +} +function determineMajorUnit(unit) { + for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) { + if (INTERVALS[UNITS[i]].common) { + return UNITS[i]; + } + } +} +function addTick(ticks, time, timestamps) { + if (!timestamps) { + ticks[time] = true; + } else if (timestamps.length) { + const {lo, hi} = _lookup(timestamps, time); + const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi]; + ticks[timestamp] = true; + } +} +function setMajorTicks(scale, ticks, map, majorUnit) { + const adapter = scale._adapter; + const first = +adapter.startOf(ticks[0].value, majorUnit); + const last = ticks[ticks.length - 1].value; + let major, index; + for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) { + index = map[major]; + if (index >= 0) { + ticks[index].major = true; + } + } + return ticks; +} +function ticksFromTimestamps(scale, values, majorUnit) { + const ticks = []; + const map = {}; + const ilen = values.length; + let i, value; + for (i = 0; i < ilen; ++i) { + value = values[i]; + map[value] = i; + ticks.push({ + value, + major: false + }); + } + return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit); +} +class TimeScale extends Scale { + constructor(props) { + super(props); + this._cache = { + data: [], + labels: [], + all: [] + }; + this._unit = 'day'; + this._majorUnit = undefined; + this._offsets = {}; + this._normalized = false; + this._parseOpts = undefined; + } + init(scaleOpts, opts) { + const time = scaleOpts.time || (scaleOpts.time = {}); + const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date); + adapter.init(opts); + mergeIf(time.displayFormats, adapter.formats()); + this._parseOpts = { + parser: time.parser, + round: time.round, + isoWeekday: time.isoWeekday + }; + super.init(scaleOpts); + this._normalized = opts.normalized; + } + parse(raw, index) { + if (raw === undefined) { + return null; + } + return parse(this, raw); + } + beforeLayout() { + super.beforeLayout(); + this._cache = { + data: [], + labels: [], + all: [] + }; + } + determineDataLimits() { + const options = this.options; + const adapter = this._adapter; + const unit = options.time.unit || 'day'; + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + function _applyBounds(bounds) { + if (!minDefined && !isNaN(bounds.min)) { + min = Math.min(min, bounds.min); + } + if (!maxDefined && !isNaN(bounds.max)) { + max = Math.max(max, bounds.max); + } + } + if (!minDefined || !maxDefined) { + _applyBounds(this._getLabelBounds()); + if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') { + _applyBounds(this.getMinMax(false)); + } + } + min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit); + max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1; + this.min = Math.min(min, max - 1); + this.max = Math.max(min + 1, max); + } + _getLabelBounds() { + const arr = this.getLabelTimestamps(); + let min = Number.POSITIVE_INFINITY; + let max = Number.NEGATIVE_INFINITY; + if (arr.length) { + min = arr[0]; + max = arr[arr.length - 1]; + } + return {min, max}; + } + buildTicks() { + const options = this.options; + const timeOpts = options.time; + const tickOpts = options.ticks; + const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate(); + if (options.bounds === 'ticks' && timestamps.length) { + this.min = this._userMin || timestamps[0]; + this.max = this._userMax || timestamps[timestamps.length - 1]; + } + const min = this.min; + const max = this.max; + const ticks = _filterBetween(timestamps, min, max); + this._unit = timeOpts.unit || (tickOpts.autoSkip + ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) + : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max)); + this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined + : determineMajorUnit(this._unit); + this.initOffsets(timestamps); + if (options.reverse) { + ticks.reverse(); + } + return ticksFromTimestamps(this, ticks, this._majorUnit); + } + afterAutoSkip() { + if (this.options.offsetAfterAutoskip) { + this.initOffsets(this.ticks.map(tick => +tick.value)); + } + } + initOffsets(timestamps) { + let start = 0; + let end = 0; + let first, last; + if (this.options.offset && timestamps.length) { + first = this.getDecimalForValue(timestamps[0]); + if (timestamps.length === 1) { + start = 1 - first; + } else { + start = (this.getDecimalForValue(timestamps[1]) - first) / 2; + } + last = this.getDecimalForValue(timestamps[timestamps.length - 1]); + if (timestamps.length === 1) { + end = last; + } else { + end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2; + } + } + const limit = timestamps.length < 3 ? 0.5 : 0.25; + start = _limitValue(start, 0, limit); + end = _limitValue(end, 0, limit); + this._offsets = {start, end, factor: 1 / (start + 1 + end)}; + } + _generate() { + const adapter = this._adapter; + const min = this.min; + const max = this.max; + const options = this.options; + const timeOpts = options.time; + const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); + const stepSize = valueOrDefault(timeOpts.stepSize, 1); + const weekday = minor === 'week' ? timeOpts.isoWeekday : false; + const hasWeekday = isNumber(weekday) || weekday === true; + const ticks = {}; + let first = min; + let time, count; + if (hasWeekday) { + first = +adapter.startOf(first, 'isoWeek', weekday); + } + first = +adapter.startOf(first, hasWeekday ? 'day' : minor); + if (adapter.diff(max, min, minor) > 100000 * stepSize) { + throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor); + } + const timestamps = options.ticks.source === 'data' && this.getDataTimestamps(); + for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) { + addTick(ticks, time, timestamps); + } + if (time === max || options.bounds === 'ticks' || count === 1) { + addTick(ticks, time, timestamps); + } + return Object.keys(ticks).sort((a, b) => a - b).map(x => +x); + } + getLabelForValue(value) { + const adapter = this._adapter; + const timeOpts = this.options.time; + if (timeOpts.tooltipFormat) { + return adapter.format(value, timeOpts.tooltipFormat); + } + return adapter.format(value, timeOpts.displayFormats.datetime); + } + _tickFormatFunction(time, index, ticks, format) { + const options = this.options; + const formats = options.time.displayFormats; + const unit = this._unit; + const majorUnit = this._majorUnit; + const minorFormat = unit && formats[unit]; + const majorFormat = majorUnit && formats[majorUnit]; + const tick = ticks[index]; + const major = majorUnit && majorFormat && tick && tick.major; + const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat)); + const formatter = options.ticks.callback; + return formatter ? callback(formatter, [label, index, ticks], this) : label; + } + generateTickLabels(ticks) { + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + tick.label = this._tickFormatFunction(tick.value, i, ticks); + } + } + getDecimalForValue(value) { + return value === null ? NaN : (value - this.min) / (this.max - this.min); + } + getPixelForValue(value) { + const offsets = this._offsets; + const pos = this.getDecimalForValue(value); + return this.getPixelForDecimal((offsets.start + pos) * offsets.factor); + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return this.min + pos * (this.max - this.min); + } + _getLabelSize(label) { + const ticksOpts = this.options.ticks; + const tickLabelWidth = this.ctx.measureText(label).width; + const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation); + const cosRotation = Math.cos(angle); + const sinRotation = Math.sin(angle); + const tickFontSize = this._resolveTickFontOptions(0).size; + return { + w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation), + h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation) + }; + } + _getLabelCapacity(exampleTime) { + const timeOpts = this.options.time; + const displayFormats = timeOpts.displayFormats; + const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; + const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format); + const size = this._getLabelSize(exampleLabel); + const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; + return capacity > 0 ? capacity : 1; + } + getDataTimestamps() { + let timestamps = this._cache.data || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const metas = this.getMatchingVisibleMetas(); + if (this._normalized && metas.length) { + return (this._cache.data = metas[0].controller.getAllParsedValues(this)); + } + for (i = 0, ilen = metas.length; i < ilen; ++i) { + timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this)); + } + return (this._cache.data = this.normalize(timestamps)); + } + getLabelTimestamps() { + const timestamps = this._cache.labels || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const labels = this.getLabels(); + for (i = 0, ilen = labels.length; i < ilen; ++i) { + timestamps.push(parse(this, labels[i])); + } + return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps)); + } + normalize(values) { + return _arrayUnique(values.sort(sorter)); + } +} +TimeScale.id = 'time'; +TimeScale.defaults = { + bounds: 'data', + adapters: {}, + time: { + parser: false, + unit: false, + round: false, + isoWeekday: false, + minUnit: 'millisecond', + displayFormats: {} + }, + ticks: { + source: 'auto', + major: { + enabled: false + } + } +}; + +function interpolate(table, val, reverse) { + let lo = 0; + let hi = table.length - 1; + let prevSource, nextSource, prevTarget, nextTarget; + if (reverse) { + if (val >= table[lo].pos && val <= table[hi].pos) { + ({lo, hi} = _lookupByKey(table, 'pos', val)); + } + ({pos: prevSource, time: prevTarget} = table[lo]); + ({pos: nextSource, time: nextTarget} = table[hi]); + } else { + if (val >= table[lo].time && val <= table[hi].time) { + ({lo, hi} = _lookupByKey(table, 'time', val)); + } + ({time: prevSource, pos: prevTarget} = table[lo]); + ({time: nextSource, pos: nextTarget} = table[hi]); + } + const span = nextSource - prevSource; + return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget; +} +class TimeSeriesScale extends TimeScale { + constructor(props) { + super(props); + this._table = []; + this._minPos = undefined; + this._tableRange = undefined; + } + initOffsets() { + const timestamps = this._getTimestampsForTable(); + const table = this._table = this.buildLookupTable(timestamps); + this._minPos = interpolate(table, this.min); + this._tableRange = interpolate(table, this.max) - this._minPos; + super.initOffsets(timestamps); + } + buildLookupTable(timestamps) { + const {min, max} = this; + const items = []; + const table = []; + let i, ilen, prev, curr, next; + for (i = 0, ilen = timestamps.length; i < ilen; ++i) { + curr = timestamps[i]; + if (curr >= min && curr <= max) { + items.push(curr); + } + } + if (items.length < 2) { + return [ + {time: min, pos: 0}, + {time: max, pos: 1} + ]; + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + next = items[i + 1]; + prev = items[i - 1]; + curr = items[i]; + if (Math.round((next + prev) / 2) !== curr) { + table.push({time: curr, pos: i / (ilen - 1)}); + } + } + return table; + } + _getTimestampsForTable() { + let timestamps = this._cache.all || []; + if (timestamps.length) { + return timestamps; + } + const data = this.getDataTimestamps(); + const label = this.getLabelTimestamps(); + if (data.length && label.length) { + timestamps = this.normalize(data.concat(label)); + } else { + timestamps = data.length ? data : label; + } + timestamps = this._cache.all = timestamps; + return timestamps; + } + getDecimalForValue(value) { + return (interpolate(this._table, value) - this._minPos) / this._tableRange; + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return interpolate(this._table, decimal * this._tableRange + this._minPos, true); + } +} +TimeSeriesScale.id = 'timeseries'; +TimeSeriesScale.defaults = TimeScale.defaults; + +var scales = /*#__PURE__*/Object.freeze({ +__proto__: null, +CategoryScale: CategoryScale, +LinearScale: LinearScale, +LogarithmicScale: LogarithmicScale, +RadialLinearScale: RadialLinearScale, +TimeScale: TimeScale, +TimeSeriesScale: TimeSeriesScale +}); + +const registerables = [ + controllers, + elements, + plugins, + scales, +]; + +export { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales }; diff --git a/scriptApl/chart.js/dist/chart.js b/scriptApl/chart.js/dist/chart.js new file mode 100644 index 00000000..9ea0b0a6 --- /dev/null +++ b/scriptApl/chart.js/dist/chart.js @@ -0,0 +1,13525 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 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 = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Chart = factory()); +})(this, (function () { 'use strict'; + +function noop() {} +const uid = (function() { + let id = 0; + return function() { + return id++; + }; +}()); +function isNullOrUndef(value) { + return value === null || typeof value === 'undefined'; +} +function isArray(value) { + if (Array.isArray && Array.isArray(value)) { + return true; + } + const type = Object.prototype.toString.call(value); + if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') { + return true; + } + return false; +} +function isObject(value) { + return value !== null && Object.prototype.toString.call(value) === '[object Object]'; +} +const isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value); +function finiteOrDefault(value, defaultValue) { + return isNumberFinite(value) ? value : defaultValue; +} +function valueOrDefault(value, defaultValue) { + return typeof value === 'undefined' ? defaultValue : value; +} +const toPercentage = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 + : value / dimension; +const toDimension = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 * dimension + : +value; +function callback(fn, args, thisArg) { + if (fn && typeof fn.call === 'function') { + return fn.apply(thisArg, args); + } +} +function each(loopable, fn, thisArg, reverse) { + let i, len, keys; + if (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 (isObject(loopable)) { + keys = Object.keys(loopable); + len = keys.length; + for (i = 0; i < len; i++) { + fn.call(thisArg, loopable[keys[i]], keys[i]); + } + } +} +function _elementsEqual(a0, a1) { + let 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.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) { + return false; + } + } + return true; +} +function clone$1(source) { + if (isArray(source)) { + return source.map(clone$1); + } + if (isObject(source)) { + const target = Object.create(null); + const keys = Object.keys(source); + const klen = keys.length; + let k = 0; + for (; k < klen; ++k) { + target[keys[k]] = clone$1(source[keys[k]]); + } + return target; + } + return source; +} +function isValidKey(key) { + return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1; +} +function _merger(key, target, source, options) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + merge(tval, sval, options); + } else { + target[key] = clone$1(sval); + } +} +function merge(target, source, options) { + const sources = isArray(source) ? source : [source]; + const ilen = sources.length; + if (!isObject(target)) { + return target; + } + options = options || {}; + const merger = options.merger || _merger; + for (let i = 0; i < ilen; ++i) { + source = sources[i]; + if (!isObject(source)) { + continue; + } + const keys = Object.keys(source); + for (let k = 0, klen = keys.length; k < klen; ++k) { + merger(keys[k], target, source, options); + } + } + return target; +} +function mergeIf(target, source) { + return merge(target, source, {merger: _mergerIf}); +} +function _mergerIf(key, target, source) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + mergeIf(tval, sval); + } else if (!Object.prototype.hasOwnProperty.call(target, key)) { + target[key] = clone$1(sval); + } +} +function _deprecated(scope, value, previous, current) { + if (value !== undefined) { + console.warn(scope + ': "' + previous + + '" is deprecated. Please use "' + current + '" instead'); + } +} +const keyResolvers = { + '': v => v, + x: o => o.x, + y: o => o.y +}; +function resolveObjectKey(obj, key) { + const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); + return resolver(obj); +} +function _getKeyResolver(key) { + const keys = _splitKey(key); + return obj => { + for (const k of keys) { + if (k === '') { + break; + } + obj = obj && obj[k]; + } + return obj; + }; +} +function _splitKey(key) { + const parts = key.split('.'); + const keys = []; + let tmp = ''; + for (const part of parts) { + tmp += part; + if (tmp.endsWith('\\')) { + tmp = tmp.slice(0, -1) + '.'; + } else { + keys.push(tmp); + tmp = ''; + } + } + return keys; +} +function _capitalize(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} +const defined = (value) => typeof value !== 'undefined'; +const isFunction = (value) => typeof value === 'function'; +const setsEqual = (a, b) => { + if (a.size !== b.size) { + return false; + } + for (const item of a) { + if (!b.has(item)) { + return false; + } + } + return true; +}; +function _isClickEvent(e) { + return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu'; +} + +const PI = Math.PI; +const TAU = 2 * PI; +const PITAU = TAU + PI; +const INFINITY = Number.POSITIVE_INFINITY; +const RAD_PER_DEG = PI / 180; +const HALF_PI = PI / 2; +const QUARTER_PI = PI / 4; +const TWO_THIRDS_PI = PI * 2 / 3; +const log10 = Math.log10; +const sign = Math.sign; +function niceNum(range) { + const roundedRange = Math.round(range); + range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range; + const niceRange = Math.pow(10, Math.floor(log10(range))); + const fraction = range / niceRange; + const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10; + return niceFraction * niceRange; +} +function _factorize(value) { + const result = []; + const sqrt = Math.sqrt(value); + let i; + for (i = 1; i < sqrt; i++) { + if (value % i === 0) { + result.push(i); + result.push(value / i); + } + } + if (sqrt === (sqrt | 0)) { + result.push(sqrt); + } + result.sort((a, b) => a - b).pop(); + return result; +} +function isNumber(n) { + return !isNaN(parseFloat(n)) && isFinite(n); +} +function almostEquals(x, y, epsilon) { + return Math.abs(x - y) < epsilon; +} +function almostWhole(x, epsilon) { + const rounded = Math.round(x); + return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x); +} +function _setMinAndMaxByKey(array, target, property) { + let i, ilen, value; + for (i = 0, ilen = array.length; i < ilen; i++) { + value = array[i][property]; + if (!isNaN(value)) { + target.min = Math.min(target.min, value); + target.max = Math.max(target.max, value); + } + } +} +function toRadians(degrees) { + return degrees * (PI / 180); +} +function toDegrees(radians) { + return radians * (180 / PI); +} +function _decimalPlaces(x) { + if (!isNumberFinite(x)) { + return; + } + let e = 1; + let p = 0; + while (Math.round(x * e) / e !== x) { + e *= 10; + p++; + } + return p; +} +function getAngleFromPoint(centrePoint, anglePoint) { + const distanceFromXCenter = anglePoint.x - centrePoint.x; + const distanceFromYCenter = anglePoint.y - centrePoint.y; + const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter); + let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter); + if (angle < (-0.5 * PI)) { + angle += TAU; + } + return { + angle, + distance: radialDistanceFromCenter + }; +} +function distanceBetweenPoints(pt1, pt2) { + return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); +} +function _angleDiff(a, b) { + return (a - b + PITAU) % TAU - PI; +} +function _normalizeAngle(a) { + return (a % TAU + TAU) % TAU; +} +function _angleBetween(angle, start, end, sameAngleIsFullCircle) { + const a = _normalizeAngle(angle); + const s = _normalizeAngle(start); + const e = _normalizeAngle(end); + const angleToStart = _normalizeAngle(s - a); + const angleToEnd = _normalizeAngle(e - a); + const startToAngle = _normalizeAngle(a - s); + const endToAngle = _normalizeAngle(a - e); + return a === s || a === e || (sameAngleIsFullCircle && s === e) + || (angleToStart > angleToEnd && startToAngle < endToAngle); +} +function _limitValue(value, min, max) { + return Math.max(min, Math.min(max, value)); +} +function _int16Range(value) { + return _limitValue(value, -32768, 32767); +} +function _isBetween(value, start, end, epsilon = 1e-6) { + return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; +} + +function _lookup(table, value, cmp) { + cmp = cmp || ((index) => table[index] < value); + let hi = table.length - 1; + let lo = 0; + let mid; + while (hi - lo > 1) { + mid = (lo + hi) >> 1; + if (cmp(mid)) { + lo = mid; + } else { + hi = mid; + } + } + return {lo, hi}; +} +const _lookupByKey = (table, key, value, last) => + _lookup(table, value, last + ? index => table[index][key] <= value + : index => table[index][key] < value); +const _rlookupByKey = (table, key, value) => + _lookup(table, value, index => table[index][key] >= value); +function _filterBetween(values, min, max) { + let start = 0; + let end = values.length; + while (start < end && values[start] < min) { + start++; + } + while (end > start && values[end - 1] > max) { + end--; + } + return start > 0 || end < values.length + ? values.slice(start, end) + : values; +} +const arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; +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((key) => { + const method = '_onData' + _capitalize(key); + const base = array[key]; + Object.defineProperty(array, key, { + configurable: true, + enumerable: false, + value(...args) { + const res = base.apply(this, args); + array._chartjs.listeners.forEach((object) => { + if (typeof object[method] === 'function') { + object[method](...args); + } + }); + return res; + } + }); + }); +} +function unlistenArrayEvents(array, listener) { + const stub = array._chartjs; + if (!stub) { + return; + } + const listeners = stub.listeners; + const index = listeners.indexOf(listener); + if (index !== -1) { + listeners.splice(index, 1); + } + if (listeners.length > 0) { + return; + } + arrayEvents.forEach((key) => { + delete array[key]; + }); + delete array._chartjs; +} +function _arrayUnique(items) { + const set = new Set(); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + set.add(items[i]); + } + if (set.size === ilen) { + return items; + } + return Array.from(set); +} + +function fontString(pixelSize, fontStyle, fontFamily) { + return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; +} +const requestAnimFrame = (function() { + if (typeof window === 'undefined') { + return function(callback) { + return callback(); + }; + } + return window.requestAnimationFrame; +}()); +function throttled(fn, thisArg, updateFn) { + const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args)); + let ticking = false; + let args = []; + return function(...rest) { + args = updateArgs(rest); + if (!ticking) { + ticking = true; + requestAnimFrame.call(window, () => { + ticking = false; + fn.apply(thisArg, args); + }); + } + }; +} +function debounce(fn, delay) { + let timeout; + return function(...args) { + if (delay) { + clearTimeout(timeout); + timeout = setTimeout(fn, delay, args); + } else { + fn.apply(this, args); + } + return delay; + }; +} +const _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center'; +const _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2; +const _textX = (align, left, right, rtl) => { + const check = rtl ? 'left' : 'right'; + return align === check ? right : align === 'center' ? (left + right) / 2 : left; +}; +function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { + const pointCount = points.length; + let start = 0; + let count = pointCount; + if (meta._sorted) { + const {iScale, _parsed} = meta; + const axis = iScale.axis; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(Math.min( + _lookupByKey(_parsed, iScale.axis, min).lo, + animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), + 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(Math.max( + _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, + animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), + start, pointCount) - start; + } else { + count = pointCount - start; + } + } + return {start, count}; +} +function _scaleRangesChanged(meta) { + const {xScale, yScale, _scaleRanges} = meta; + const newRanges = { + xmin: xScale.min, + xmax: xScale.max, + ymin: yScale.min, + ymax: yScale.max + }; + if (!_scaleRanges) { + meta._scaleRanges = newRanges; + return true; + } + const changed = _scaleRanges.xmin !== xScale.min + || _scaleRanges.xmax !== xScale.max + || _scaleRanges.ymin !== yScale.min + || _scaleRanges.ymax !== yScale.max; + Object.assign(_scaleRanges, newRanges); + return changed; +} + +class Animator { + constructor() { + this._request = null; + this._charts = new Map(); + this._running = false; + this._lastDate = undefined; + } + _notify(chart, anims, date, type) { + const callbacks = anims.listeners[type]; + const numSteps = anims.duration; + callbacks.forEach(fn => fn({ + chart, + initial: anims.initial, + numSteps, + currentStep: Math.min(date - anims.start, numSteps) + })); + } + _refresh() { + if (this._request) { + return; + } + this._running = true; + this._request = requestAnimFrame.call(window, () => { + this._update(); + this._request = null; + if (this._running) { + this._refresh(); + } + }); + } + _update(date = Date.now()) { + let remaining = 0; + this._charts.forEach((anims, chart) => { + if (!anims.running || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + let draw = false; + let item; + for (; i >= 0; --i) { + item = items[i]; + if (item._active) { + if (item._total > anims.duration) { + anims.duration = item._total; + } + item.tick(date); + draw = true; + } else { + items[i] = items[items.length - 1]; + items.pop(); + } + } + if (draw) { + chart.draw(); + this._notify(chart, anims, date, 'progress'); + } + if (!items.length) { + anims.running = false; + this._notify(chart, anims, date, 'complete'); + anims.initial = false; + } + remaining += items.length; + }); + this._lastDate = date; + if (remaining === 0) { + this._running = false; + } + } + _getAnims(chart) { + const charts = this._charts; + let anims = charts.get(chart); + if (!anims) { + anims = { + running: false, + initial: true, + items: [], + listeners: { + complete: [], + progress: [] + } + }; + charts.set(chart, anims); + } + return anims; + } + listen(chart, event, cb) { + this._getAnims(chart).listeners[event].push(cb); + } + add(chart, items) { + if (!items || !items.length) { + return; + } + this._getAnims(chart).items.push(...items); + } + has(chart) { + return this._getAnims(chart).items.length > 0; + } + start(chart) { + const anims = this._charts.get(chart); + if (!anims) { + return; + } + anims.running = true; + anims.start = Date.now(); + anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0); + this._refresh(); + } + running(chart) { + if (!this._running) { + return false; + } + const anims = this._charts.get(chart); + if (!anims || !anims.running || !anims.items.length) { + return false; + } + return true; + } + stop(chart) { + const anims = this._charts.get(chart); + if (!anims || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + for (; i >= 0; --i) { + items[i].cancel(); + } + anims.items = []; + this._notify(chart, anims, Date.now(), 'complete'); + } + remove(chart) { + return this._charts.delete(chart); + } +} +var animator = new Animator(); + +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ +function round(v) { + return v + 0.5 | 0; +} +const lim = (v, l, h) => Math.max(Math.min(v, h), l); +function p2b(v) { + return lim(round(v * 2.55), 0, 255); +} +function n2b(v) { + return lim(round(v * 255), 0, 255); +} +function b2n(v) { + return lim(round(v / 2.55) / 100, 0, 1); +} +function n2p(v) { + return lim(round(v * 100), 0, 100); +} +const map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15}; +const hex = [...'0123456789ABCDEF']; +const h1 = b => hex[b & 0xF]; +const h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF]; +const eq = b => ((b & 0xF0) >> 4) === (b & 0xF); +const isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a); +function hexParse(str) { + var len = str.length; + var ret; + if (str[0] === '#') { + if (len === 4 || len === 5) { + ret = { + r: 255 & map$1[str[1]] * 17, + g: 255 & map$1[str[2]] * 17, + b: 255 & map$1[str[3]] * 17, + a: len === 5 ? map$1[str[4]] * 17 : 255 + }; + } else if (len === 7 || len === 9) { + ret = { + r: map$1[str[1]] << 4 | map$1[str[2]], + g: map$1[str[3]] << 4 | map$1[str[4]], + b: map$1[str[5]] << 4 | map$1[str[6]], + a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255 + }; + } + } + return ret; +} +const alpha = (a, f) => a < 255 ? f(a) : ''; +function hexString(v) { + var f = isShort(v) ? h1 : h2; + return v + ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) + : undefined; +} +const HUE_RE = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; +function hsl2rgbn(h, s, l) { + const a = s * Math.min(l, 1 - l); + const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); + return [f(0), f(8), f(4)]; +} +function hsv2rgbn(h, s, v) { + const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0); + return [f(5), f(3), f(1)]; +} +function hwb2rgbn(h, w, b) { + const rgb = hsl2rgbn(h, 1, 0.5); + let i; + if (w + b > 1) { + i = 1 / (w + b); + w *= i; + b *= i; + } + for (i = 0; i < 3; i++) { + rgb[i] *= 1 - w - b; + rgb[i] += w; + } + return rgb; +} +function hueValue(r, g, b, d, max) { + if (r === max) { + return ((g - b) / d) + (g < b ? 6 : 0); + } + if (g === max) { + return (b - r) / d + 2; + } + return (r - g) / d + 4; +} +function rgb2hsl(v) { + const range = 255; + const r = v.r / range; + const g = v.g / range; + const b = v.b / range; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + const l = (max + min) / 2; + let h, s, d; + if (max !== min) { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = hueValue(r, g, b, d, max); + h = h * 60 + 0.5; + } + return [h | 0, s || 0, l]; +} +function calln(f, a, b, c) { + return ( + Array.isArray(a) + ? f(a[0], a[1], a[2]) + : f(a, b, c) + ).map(n2b); +} +function hsl2rgb(h, s, l) { + return calln(hsl2rgbn, h, s, l); +} +function hwb2rgb(h, w, b) { + return calln(hwb2rgbn, h, w, b); +} +function hsv2rgb(h, s, v) { + return calln(hsv2rgbn, h, s, v); +} +function hue(h) { + return (h % 360 + 360) % 360; +} +function hueParse(str) { + const m = HUE_RE.exec(str); + let a = 255; + let v; + if (!m) { + return; + } + if (m[5] !== v) { + a = m[6] ? p2b(+m[5]) : n2b(+m[5]); + } + const h = hue(+m[2]); + const p1 = +m[3] / 100; + const p2 = +m[4] / 100; + if (m[1] === 'hwb') { + v = hwb2rgb(h, p1, p2); + } else if (m[1] === 'hsv') { + v = hsv2rgb(h, p1, p2); + } else { + v = hsl2rgb(h, p1, p2); + } + return { + r: v[0], + g: v[1], + b: v[2], + a: a + }; +} +function rotate(v, deg) { + var h = rgb2hsl(v); + h[0] = hue(h[0] + deg); + h = hsl2rgb(h); + v.r = h[0]; + v.g = h[1]; + v.b = h[2]; +} +function hslString(v) { + if (!v) { + return; + } + const a = rgb2hsl(v); + const h = a[0]; + const s = n2p(a[1]); + const l = n2p(a[2]); + return v.a < 255 + ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})` + : `hsl(${h}, ${s}%, ${l}%)`; +} +const map$2 = { + x: 'dark', + Z: 'light', + Y: 're', + X: 'blu', + W: 'gr', + V: 'medium', + U: 'slate', + A: 'ee', + T: 'ol', + S: 'or', + B: 'ra', + C: 'lateg', + D: 'ights', + R: 'in', + Q: 'turquois', + E: 'hi', + P: 'ro', + O: 'al', + N: 'le', + M: 'de', + L: 'yello', + F: 'en', + K: 'ch', + G: 'arks', + H: 'ea', + I: 'ightg', + J: 'wh' +}; +const names$1 = { + OiceXe: 'f0f8ff', + antiquewEte: 'faebd7', + aqua: 'ffff', + aquamarRe: '7fffd4', + azuY: 'f0ffff', + beige: 'f5f5dc', + bisque: 'ffe4c4', + black: '0', + blanKedOmond: 'ffebcd', + Xe: 'ff', + XeviTet: '8a2be2', + bPwn: 'a52a2a', + burlywood: 'deb887', + caMtXe: '5f9ea0', + KartYuse: '7fff00', + KocTate: 'd2691e', + cSO: 'ff7f50', + cSnflowerXe: '6495ed', + cSnsilk: 'fff8dc', + crimson: 'dc143c', + cyan: 'ffff', + xXe: '8b', + xcyan: '8b8b', + xgTMnPd: 'b8860b', + xWay: 'a9a9a9', + xgYF: '6400', + xgYy: 'a9a9a9', + xkhaki: 'bdb76b', + xmagFta: '8b008b', + xTivegYF: '556b2f', + xSange: 'ff8c00', + xScEd: '9932cc', + xYd: '8b0000', + xsOmon: 'e9967a', + xsHgYF: '8fbc8f', + xUXe: '483d8b', + xUWay: '2f4f4f', + xUgYy: '2f4f4f', + xQe: 'ced1', + xviTet: '9400d3', + dAppRk: 'ff1493', + dApskyXe: 'bfff', + dimWay: '696969', + dimgYy: '696969', + dodgerXe: '1e90ff', + fiYbrick: 'b22222', + flSOwEte: 'fffaf0', + foYstWAn: '228b22', + fuKsia: 'ff00ff', + gaRsbSo: 'dcdcdc', + ghostwEte: 'f8f8ff', + gTd: 'ffd700', + gTMnPd: 'daa520', + Way: '808080', + gYF: '8000', + gYFLw: 'adff2f', + gYy: '808080', + honeyMw: 'f0fff0', + hotpRk: 'ff69b4', + RdianYd: 'cd5c5c', + Rdigo: '4b0082', + ivSy: 'fffff0', + khaki: 'f0e68c', + lavFMr: 'e6e6fa', + lavFMrXsh: 'fff0f5', + lawngYF: '7cfc00', + NmoncEffon: 'fffacd', + ZXe: 'add8e6', + ZcSO: 'f08080', + Zcyan: 'e0ffff', + ZgTMnPdLw: 'fafad2', + ZWay: 'd3d3d3', + ZgYF: '90ee90', + ZgYy: 'd3d3d3', + ZpRk: 'ffb6c1', + ZsOmon: 'ffa07a', + ZsHgYF: '20b2aa', + ZskyXe: '87cefa', + ZUWay: '778899', + ZUgYy: '778899', + ZstAlXe: 'b0c4de', + ZLw: 'ffffe0', + lime: 'ff00', + limegYF: '32cd32', + lRF: 'faf0e6', + magFta: 'ff00ff', + maPon: '800000', + VaquamarRe: '66cdaa', + VXe: 'cd', + VScEd: 'ba55d3', + VpurpN: '9370db', + VsHgYF: '3cb371', + VUXe: '7b68ee', + VsprRggYF: 'fa9a', + VQe: '48d1cc', + VviTetYd: 'c71585', + midnightXe: '191970', + mRtcYam: 'f5fffa', + mistyPse: 'ffe4e1', + moccasR: 'ffe4b5', + navajowEte: 'ffdead', + navy: '80', + Tdlace: 'fdf5e6', + Tive: '808000', + TivedBb: '6b8e23', + Sange: 'ffa500', + SangeYd: 'ff4500', + ScEd: 'da70d6', + pOegTMnPd: 'eee8aa', + pOegYF: '98fb98', + pOeQe: 'afeeee', + pOeviTetYd: 'db7093', + papayawEp: 'ffefd5', + pHKpuff: 'ffdab9', + peru: 'cd853f', + pRk: 'ffc0cb', + plum: 'dda0dd', + powMrXe: 'b0e0e6', + purpN: '800080', + YbeccapurpN: '663399', + Yd: 'ff0000', + Psybrown: 'bc8f8f', + PyOXe: '4169e1', + saddNbPwn: '8b4513', + sOmon: 'fa8072', + sandybPwn: 'f4a460', + sHgYF: '2e8b57', + sHshell: 'fff5ee', + siFna: 'a0522d', + silver: 'c0c0c0', + skyXe: '87ceeb', + UXe: '6a5acd', + UWay: '708090', + UgYy: '708090', + snow: 'fffafa', + sprRggYF: 'ff7f', + stAlXe: '4682b4', + tan: 'd2b48c', + teO: '8080', + tEstN: 'd8bfd8', + tomato: 'ff6347', + Qe: '40e0d0', + viTet: 'ee82ee', + JHt: 'f5deb3', + wEte: 'ffffff', + wEtesmoke: 'f5f5f5', + Lw: 'ffff00', + LwgYF: '9acd32' +}; +function unpack() { + const unpacked = {}; + const keys = Object.keys(names$1); + const tkeys = Object.keys(map$2); + let i, j, k, ok, nk; + for (i = 0; i < keys.length; i++) { + ok = nk = keys[i]; + for (j = 0; j < tkeys.length; j++) { + k = tkeys[j]; + nk = nk.replace(k, map$2[k]); + } + k = parseInt(names$1[ok], 16); + unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF]; + } + return unpacked; +} +let names; +function nameParse(str) { + if (!names) { + names = unpack(); + names.transparent = [0, 0, 0, 0]; + } + const a = names[str.toLowerCase()]; + return a && { + r: a[0], + g: a[1], + b: a[2], + a: a.length === 4 ? a[3] : 255 + }; +} +const RGB_RE = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; +function rgbParse(str) { + const m = RGB_RE.exec(str); + let a = 255; + let r, g, b; + if (!m) { + return; + } + if (m[7] !== r) { + const v = +m[7]; + a = m[8] ? p2b(v) : lim(v * 255, 0, 255); + } + r = +m[1]; + g = +m[3]; + b = +m[5]; + r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255)); + g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255)); + b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255)); + return { + r: r, + g: g, + b: b, + a: a + }; +} +function rgbString(v) { + return v && ( + v.a < 255 + ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})` + : `rgb(${v.r}, ${v.g}, ${v.b})` + ); +} +const to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055; +const from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); +function interpolate$1(rgb1, rgb2, t) { + const r = from(b2n(rgb1.r)); + const g = from(b2n(rgb1.g)); + const b = from(b2n(rgb1.b)); + return { + r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))), + g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))), + b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))), + a: rgb1.a + t * (rgb2.a - rgb1.a) + }; +} +function modHSL(v, i, ratio) { + if (v) { + let tmp = rgb2hsl(v); + tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1)); + tmp = hsl2rgb(tmp); + v.r = tmp[0]; + v.g = tmp[1]; + v.b = tmp[2]; + } +} +function clone(v, proto) { + return v ? Object.assign(proto || {}, v) : v; +} +function fromObject(input) { + var v = {r: 0, g: 0, b: 0, a: 255}; + if (Array.isArray(input)) { + if (input.length >= 3) { + v = {r: input[0], g: input[1], b: input[2], a: 255}; + if (input.length > 3) { + v.a = n2b(input[3]); + } + } + } else { + v = clone(input, {r: 0, g: 0, b: 0, a: 1}); + v.a = n2b(v.a); + } + return v; +} +function functionParse(str) { + if (str.charAt(0) === 'r') { + return rgbParse(str); + } + return hueParse(str); +} +class Color { + constructor(input) { + if (input instanceof Color) { + return input; + } + const type = typeof input; + let v; + if (type === 'object') { + v = fromObject(input); + } else if (type === 'string') { + v = hexParse(input) || nameParse(input) || functionParse(input); + } + this._rgb = v; + this._valid = !!v; + } + get valid() { + return this._valid; + } + get rgb() { + var v = clone(this._rgb); + if (v) { + v.a = b2n(v.a); + } + return v; + } + set rgb(obj) { + this._rgb = fromObject(obj); + } + rgbString() { + return this._valid ? rgbString(this._rgb) : undefined; + } + hexString() { + return this._valid ? hexString(this._rgb) : undefined; + } + hslString() { + return this._valid ? hslString(this._rgb) : undefined; + } + mix(color, weight) { + if (color) { + const c1 = this.rgb; + const c2 = color.rgb; + let w2; + const p = weight === w2 ? 0.5 : weight; + const w = 2 * p - 1; + const a = c1.a - c2.a; + const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0; + w2 = 1 - w1; + c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5; + c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5; + c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5; + c1.a = p * c1.a + (1 - p) * c2.a; + this.rgb = c1; + } + return this; + } + interpolate(color, t) { + if (color) { + this._rgb = interpolate$1(this._rgb, color._rgb, t); + } + return this; + } + clone() { + return new Color(this.rgb); + } + alpha(a) { + this._rgb.a = n2b(a); + return this; + } + clearer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 - ratio; + return this; + } + greyscale() { + const rgb = this._rgb; + const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11); + rgb.r = rgb.g = rgb.b = val; + return this; + } + opaquer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 + ratio; + return this; + } + negate() { + const v = this._rgb; + v.r = 255 - v.r; + v.g = 255 - v.g; + v.b = 255 - v.b; + return this; + } + lighten(ratio) { + modHSL(this._rgb, 2, ratio); + return this; + } + darken(ratio) { + modHSL(this._rgb, 2, -ratio); + return this; + } + saturate(ratio) { + modHSL(this._rgb, 1, ratio); + return this; + } + desaturate(ratio) { + modHSL(this._rgb, 1, -ratio); + return this; + } + rotate(deg) { + rotate(this._rgb, deg); + return this; + } +} +function index_esm(input) { + return new Color(input); +} + +function isPatternOrGradient(value) { + if (value && typeof value === 'object') { + const type = value.toString(); + return type === '[object CanvasPattern]' || type === '[object CanvasGradient]'; + } + return false; +} +function color(value) { + return isPatternOrGradient(value) ? value : index_esm(value); +} +function getHoverColor(value) { + return isPatternOrGradient(value) + ? value + : index_esm(value).saturate(0.5).darken(0.1).hexString(); +} + +const overrides = Object.create(null); +const descriptors = Object.create(null); +function getScope$1(node, key) { + if (!key) { + return node; + } + const keys = key.split('.'); + for (let i = 0, n = keys.length; i < n; ++i) { + const k = keys[i]; + node = node[k] || (node[k] = Object.create(null)); + } + return node; +} +function set(root, scope, values) { + if (typeof scope === 'string') { + return merge(getScope$1(root, scope), values); + } + return merge(getScope$1(root, ''), scope); +} +class Defaults { + constructor(_descriptors) { + this.animation = undefined; + this.backgroundColor = 'rgba(0,0,0,0.1)'; + this.borderColor = 'rgba(0,0,0,0.1)'; + this.color = '#666'; + this.datasets = {}; + this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio(); + this.elements = {}; + this.events = [ + 'mousemove', + 'mouseout', + 'click', + 'touchstart', + 'touchmove' + ]; + this.font = { + family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + size: 12, + style: 'normal', + lineHeight: 1.2, + weight: null + }; + this.hover = {}; + this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor); + this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor); + this.hoverColor = (ctx, options) => getHoverColor(options.color); + this.indexAxis = 'x'; + this.interaction = { + mode: 'nearest', + intersect: true, + includeInvisible: false + }; + this.maintainAspectRatio = true; + this.onHover = null; + this.onClick = null; + this.parsing = true; + this.plugins = {}; + this.responsive = true; + this.scale = undefined; + this.scales = {}; + this.showLine = true; + this.drawActiveElementsOnTop = true; + this.describe(_descriptors); + } + set(scope, values) { + return set(this, scope, values); + } + get(scope) { + return getScope$1(this, scope); + } + describe(scope, values) { + return set(descriptors, scope, values); + } + override(scope, values) { + return set(overrides, scope, values); + } + route(scope, name, targetScope, targetName) { + const scopeObject = getScope$1(this, scope); + const targetScopeObject = getScope$1(this, targetScope); + const privateName = '_' + name; + Object.defineProperties(scopeObject, { + [privateName]: { + value: scopeObject[name], + writable: true + }, + [name]: { + enumerable: true, + get() { + const local = this[privateName]; + const target = targetScopeObject[targetName]; + if (isObject(local)) { + return Object.assign({}, target, local); + } + return valueOrDefault(local, target); + }, + set(value) { + this[privateName] = value; + } + } + }); + } +} +var defaults = new Defaults({ + _scriptable: (name) => !name.startsWith('on'), + _indexable: (name) => name !== 'events', + hover: { + _fallback: 'interaction' + }, + interaction: { + _scriptable: false, + _indexable: false, + } +}); + +function _isDomSupported() { + return typeof window !== 'undefined' && typeof document !== 'undefined'; +} +function _getParentNode(domNode) { + let parent = domNode.parentNode; + if (parent && parent.toString() === '[object ShadowRoot]') { + parent = parent.host; + } + return parent; +} +function parseMaxStyle(styleValue, node, parentProperty) { + let valueInPixels; + if (typeof styleValue === 'string') { + valueInPixels = parseInt(styleValue, 10); + if (styleValue.indexOf('%') !== -1) { + valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty]; + } + } else { + valueInPixels = styleValue; + } + return valueInPixels; +} +const getComputedStyle = (element) => window.getComputedStyle(element, null); +function getStyle(el, property) { + return getComputedStyle(el).getPropertyValue(property); +} +const positions = ['top', 'right', 'bottom', 'left']; +function getPositionedStyle(styles, style, suffix) { + const result = {}; + suffix = suffix ? '-' + suffix : ''; + for (let i = 0; i < 4; i++) { + const pos = positions[i]; + result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0; + } + result.width = result.left + result.right; + result.height = result.top + result.bottom; + return result; +} +const useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot); +function getCanvasPosition(e, canvas) { + const touches = e.touches; + const source = touches && touches.length ? touches[0] : e; + const {offsetX, offsetY} = source; + let box = false; + let x, y; + if (useOffsetPos(offsetX, offsetY, e.target)) { + x = offsetX; + y = offsetY; + } else { + const rect = canvas.getBoundingClientRect(); + x = source.clientX - rect.left; + y = source.clientY - rect.top; + box = true; + } + return {x, y, box}; +} +function getRelativePosition(evt, chart) { + if ('native' in evt) { + return evt; + } + const {canvas, currentDevicePixelRatio} = chart; + const style = getComputedStyle(canvas); + const borderBox = style.boxSizing === 'border-box'; + const paddings = getPositionedStyle(style, 'padding'); + const borders = getPositionedStyle(style, 'border', 'width'); + const {x, y, box} = getCanvasPosition(evt, canvas); + const xOffset = paddings.left + (box && borders.left); + const yOffset = paddings.top + (box && borders.top); + let {width, height} = chart; + if (borderBox) { + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + return { + x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio), + y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio) + }; +} +function getContainerSize(canvas, width, height) { + let maxWidth, maxHeight; + if (width === undefined || height === undefined) { + const container = _getParentNode(canvas); + if (!container) { + width = canvas.clientWidth; + height = canvas.clientHeight; + } else { + const rect = container.getBoundingClientRect(); + const containerStyle = getComputedStyle(container); + const containerBorder = getPositionedStyle(containerStyle, 'border', 'width'); + const containerPadding = getPositionedStyle(containerStyle, 'padding'); + width = rect.width - containerPadding.width - containerBorder.width; + height = rect.height - containerPadding.height - containerBorder.height; + maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth'); + maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight'); + } + } + return { + width, + height, + maxWidth: maxWidth || INFINITY, + maxHeight: maxHeight || INFINITY + }; +} +const round1 = v => Math.round(v * 10) / 10; +function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { + const style = getComputedStyle(canvas); + const margins = getPositionedStyle(style, 'margin'); + const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY; + const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY; + const containerSize = getContainerSize(canvas, bbWidth, bbHeight); + let {width, height} = containerSize; + if (style.boxSizing === 'content-box') { + const borders = getPositionedStyle(style, 'border', 'width'); + const paddings = getPositionedStyle(style, 'padding'); + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + width = Math.max(0, width - margins.width); + height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height); + width = round1(Math.min(width, maxWidth, containerSize.maxWidth)); + height = round1(Math.min(height, maxHeight, containerSize.maxHeight)); + if (width && !height) { + height = round1(width / 2); + } + return { + width, + height + }; +} +function retinaScale(chart, forceRatio, forceStyle) { + const pixelRatio = forceRatio || 1; + const deviceHeight = Math.floor(chart.height * pixelRatio); + const deviceWidth = Math.floor(chart.width * pixelRatio); + chart.height = deviceHeight / pixelRatio; + chart.width = deviceWidth / pixelRatio; + const canvas = chart.canvas; + if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) { + canvas.style.height = `${chart.height}px`; + canvas.style.width = `${chart.width}px`; + } + if (chart.currentDevicePixelRatio !== pixelRatio + || canvas.height !== deviceHeight + || canvas.width !== deviceWidth) { + chart.currentDevicePixelRatio = pixelRatio; + canvas.height = deviceHeight; + canvas.width = deviceWidth; + chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); + return true; + } + return false; +} +const supportsEventListenerOptions = (function() { + let passiveSupported = false; + try { + const options = { + get passive() { + passiveSupported = true; + return false; + } + }; + window.addEventListener('test', null, options); + window.removeEventListener('test', null, options); + } catch (e) { + } + return passiveSupported; +}()); +function readUsedSize(element, property) { + const value = getStyle(element, property); + const matches = value && value.match(/^(\d+)(\.\d+)?px$/); + return matches ? +matches[1] : undefined; +} + +function toFontString(font) { + if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { + return null; + } + return (font.style ? font.style + ' ' : '') + + (font.weight ? font.weight + ' ' : '') + + font.size + 'px ' + + font.family; +} +function _measureText(ctx, data, gc, longest, string) { + let textWidth = data[string]; + if (!textWidth) { + textWidth = data[string] = ctx.measureText(string).width; + gc.push(string); + } + if (textWidth > longest) { + longest = textWidth; + } + return longest; +} +function _longestText(ctx, font, arrayOfThings, cache) { + cache = cache || {}; + let data = cache.data = cache.data || {}; + let gc = cache.garbageCollect = cache.garbageCollect || []; + if (cache.font !== font) { + data = cache.data = {}; + gc = cache.garbageCollect = []; + cache.font = font; + } + ctx.save(); + ctx.font = font; + let longest = 0; + const ilen = arrayOfThings.length; + let i, j, jlen, thing, nestedThing; + for (i = 0; i < ilen; i++) { + thing = arrayOfThings[i]; + if (thing !== undefined && thing !== null && isArray(thing) !== true) { + longest = _measureText(ctx, data, gc, longest, thing); + } else if (isArray(thing)) { + for (j = 0, jlen = thing.length; j < jlen; j++) { + nestedThing = thing[j]; + if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) { + longest = _measureText(ctx, data, gc, longest, nestedThing); + } + } + } + } + ctx.restore(); + const gcLen = gc.length / 2; + if (gcLen > arrayOfThings.length) { + for (i = 0; i < gcLen; i++) { + delete data[gc[i]]; + } + gc.splice(0, gcLen); + } + return longest; +} +function _alignPixel(chart, pixel, width) { + const devicePixelRatio = chart.currentDevicePixelRatio; + const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0; + return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth; +} +function clearCanvas(canvas, ctx) { + ctx = ctx || canvas.getContext('2d'); + ctx.save(); + ctx.resetTransform(); + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.restore(); +} +function drawPoint(ctx, options, x, y) { + drawPointLegend(ctx, options, x, y, null); +} +function drawPointLegend(ctx, options, x, y, w) { + let type, xOffset, yOffset, size, cornerRadius, width; + const style = options.pointStyle; + const rotation = options.rotation; + const radius = options.radius; + let 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: + if (w) { + ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); + } else { + ctx.arc(x, y, radius, 0, TAU); + } + 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': + 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; + width = w ? w / 2 : size; + ctx.rect(x - width, y - size, 2 * width, 2 * size); + break; + } + rad += QUARTER_PI; + 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; + 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 = w ? w / 2 : 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(); + if (options.borderWidth > 0) { + ctx.stroke(); + } +} +function _isPointInArea(point, area, margin) { + margin = margin || 0.5; + return !area || (point && point.x > area.left - margin && point.x < area.right + margin && + point.y > area.top - margin && point.y < area.bottom + margin); +} +function clipArea(ctx, area) { + ctx.save(); + ctx.beginPath(); + ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); + ctx.clip(); +} +function unclipArea(ctx) { + ctx.restore(); +} +function _steppedLineTo(ctx, previous, target, flip, mode) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + if (mode === 'middle') { + const midpoint = (previous.x + target.x) / 2.0; + ctx.lineTo(midpoint, previous.y); + ctx.lineTo(midpoint, target.y); + } else if (mode === 'after' !== !!flip) { + ctx.lineTo(previous.x, target.y); + } else { + ctx.lineTo(target.x, previous.y); + } + ctx.lineTo(target.x, target.y); +} +function _bezierCurveTo(ctx, previous, target, flip) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + ctx.bezierCurveTo( + flip ? previous.cp1x : previous.cp2x, + flip ? previous.cp1y : previous.cp2y, + flip ? target.cp2x : target.cp1x, + flip ? target.cp2y : target.cp1y, + target.x, + target.y); +} +function renderText(ctx, text, x, y, font, opts = {}) { + const lines = isArray(text) ? text : [text]; + const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ''; + let i, line; + ctx.save(); + ctx.font = font.string; + setRenderOpts(ctx, opts); + for (i = 0; i < lines.length; ++i) { + line = lines[i]; + if (stroke) { + if (opts.strokeColor) { + ctx.strokeStyle = opts.strokeColor; + } + if (!isNullOrUndef(opts.strokeWidth)) { + ctx.lineWidth = opts.strokeWidth; + } + ctx.strokeText(line, x, y, opts.maxWidth); + } + ctx.fillText(line, x, y, opts.maxWidth); + decorateText(ctx, x, y, line, opts); + y += font.lineHeight; + } + ctx.restore(); +} +function setRenderOpts(ctx, opts) { + if (opts.translation) { + ctx.translate(opts.translation[0], opts.translation[1]); + } + if (!isNullOrUndef(opts.rotation)) { + ctx.rotate(opts.rotation); + } + if (opts.color) { + ctx.fillStyle = opts.color; + } + if (opts.textAlign) { + ctx.textAlign = opts.textAlign; + } + if (opts.textBaseline) { + ctx.textBaseline = opts.textBaseline; + } +} +function decorateText(ctx, x, y, line, opts) { + if (opts.strikethrough || opts.underline) { + const metrics = ctx.measureText(line); + const left = x - metrics.actualBoundingBoxLeft; + const right = x + metrics.actualBoundingBoxRight; + const top = y - metrics.actualBoundingBoxAscent; + const bottom = y + metrics.actualBoundingBoxDescent; + const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom; + ctx.strokeStyle = ctx.fillStyle; + ctx.beginPath(); + ctx.lineWidth = opts.decorationWidth || 2; + ctx.moveTo(left, yDecoration); + ctx.lineTo(right, yDecoration); + ctx.stroke(); + } +} +function addRoundedRectPath(ctx, rect) { + const {x, y, w, h, radius} = rect; + ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); + ctx.lineTo(x, y + h - radius.bottomLeft); + ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true); + ctx.lineTo(x + w - radius.bottomRight, y + h); + ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true); + ctx.lineTo(x + w, y + radius.topRight); + ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); + ctx.lineTo(x + radius.topLeft, y); +} + +function _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) { + if (!defined(fallback)) { + fallback = _resolve('_fallback', scopes); + } + const cache = { + [Symbol.toStringTag]: 'Object', + _cacheable: true, + _scopes: scopes, + _rootScopes: rootScopes, + _fallback: fallback, + _getTarget: getTarget, + override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback), + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete target._keys; + delete scopes[0][prop]; + return true; + }, + get(target, prop) { + return _cached(target, prop, + () => _resolveWithPrefixes(prop, prefixes, scopes, target)); + }, + getOwnPropertyDescriptor(target, prop) { + return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(scopes[0]); + }, + has(target, prop) { + return getKeysFromAllScopes(target).includes(prop); + }, + ownKeys(target) { + return getKeysFromAllScopes(target); + }, + set(target, prop, value) { + const storage = target._storage || (target._storage = getTarget()); + target[prop] = storage[prop] = value; + delete target._keys; + return true; + } + }); +} +function _attachContext(proxy, context, subProxy, descriptorDefaults) { + const cache = { + _cacheable: false, + _proxy: proxy, + _context: context, + _subProxy: subProxy, + _stack: new Set(), + _descriptors: _descriptors(proxy, descriptorDefaults), + setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults), + override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete proxy[prop]; + return true; + }, + get(target, prop, receiver) { + return _cached(target, prop, + () => _resolveWithContext(target, prop, receiver)); + }, + getOwnPropertyDescriptor(target, prop) { + return target._descriptors.allKeys + ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined + : Reflect.getOwnPropertyDescriptor(proxy, prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(proxy); + }, + has(target, prop) { + return Reflect.has(proxy, prop); + }, + ownKeys() { + return Reflect.ownKeys(proxy); + }, + set(target, prop, value) { + proxy[prop] = value; + delete target[prop]; + return true; + } + }); +} +function _descriptors(proxy, defaults = {scriptable: true, indexable: true}) { + const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy; + return { + allKeys: _allKeys, + scriptable: _scriptable, + indexable: _indexable, + isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable, + isIndexable: isFunction(_indexable) ? _indexable : () => _indexable + }; +} +const readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name; +const needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' && + (Object.getPrototypeOf(value) === null || value.constructor === Object); +function _cached(target, prop, resolve) { + if (Object.prototype.hasOwnProperty.call(target, prop)) { + return target[prop]; + } + const value = resolve(); + target[prop] = value; + return value; +} +function _resolveWithContext(target, prop, receiver) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + let value = _proxy[prop]; + if (isFunction(value) && descriptors.isScriptable(prop)) { + value = _resolveScriptable(prop, value, target, receiver); + } + if (isArray(value) && value.length) { + value = _resolveArray(prop, value, target, descriptors.isIndexable); + } + if (needsSubResolver(prop, value)) { + value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors); + } + return value; +} +function _resolveScriptable(prop, value, target, receiver) { + const {_proxy, _context, _subProxy, _stack} = target; + if (_stack.has(prop)) { + throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop); + } + _stack.add(prop); + value = value(_context, _subProxy || receiver); + _stack.delete(prop); + if (needsSubResolver(prop, value)) { + value = createSubResolver(_proxy._scopes, _proxy, prop, value); + } + return value; +} +function _resolveArray(prop, value, target, isIndexable) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + if (defined(_context.index) && isIndexable(prop)) { + value = value[_context.index % value.length]; + } else if (isObject(value[0])) { + const arr = value; + const scopes = _proxy._scopes.filter(s => s !== arr); + value = []; + for (const item of arr) { + const resolver = createSubResolver(scopes, _proxy, prop, item); + value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors)); + } + } + return value; +} +function resolveFallback(fallback, prop, value) { + return isFunction(fallback) ? fallback(prop, value) : fallback; +} +const getScope = (key, parent) => key === true ? parent + : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined; +function addScopes(set, parentScopes, key, parentFallback, value) { + for (const parent of parentScopes) { + const scope = getScope(key, parent); + if (scope) { + set.add(scope); + const fallback = resolveFallback(scope._fallback, key, value); + if (defined(fallback) && fallback !== key && fallback !== parentFallback) { + return fallback; + } + } else if (scope === false && defined(parentFallback) && key !== parentFallback) { + return null; + } + } + return false; +} +function createSubResolver(parentScopes, resolver, prop, value) { + const rootScopes = resolver._rootScopes; + const fallback = resolveFallback(resolver._fallback, prop, value); + const allScopes = [...parentScopes, ...rootScopes]; + const set = new Set(); + set.add(value); + let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value); + if (key === null) { + return false; + } + if (defined(fallback) && fallback !== prop) { + key = addScopesFromKey(set, allScopes, fallback, key, value); + if (key === null) { + return false; + } + } + return _createResolver(Array.from(set), [''], rootScopes, fallback, + () => subGetTarget(resolver, prop, value)); +} +function addScopesFromKey(set, allScopes, key, fallback, item) { + while (key) { + key = addScopes(set, allScopes, key, fallback, item); + } + return key; +} +function subGetTarget(resolver, prop, value) { + const parent = resolver._getTarget(); + if (!(prop in parent)) { + parent[prop] = {}; + } + const target = parent[prop]; + if (isArray(target) && isObject(value)) { + return value; + } + return target; +} +function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { + let value; + for (const prefix of prefixes) { + value = _resolve(readKey(prefix, prop), scopes); + if (defined(value)) { + return needsSubResolver(prop, value) + ? createSubResolver(scopes, proxy, prop, value) + : value; + } + } +} +function _resolve(key, scopes) { + for (const scope of scopes) { + if (!scope) { + continue; + } + const value = scope[key]; + if (defined(value)) { + return value; + } + } +} +function getKeysFromAllScopes(target) { + let keys = target._keys; + if (!keys) { + keys = target._keys = resolveKeysFromAllScopes(target._scopes); + } + return keys; +} +function resolveKeysFromAllScopes(scopes) { + const set = new Set(); + for (const scope of scopes) { + for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) { + set.add(key); + } + } + return Array.from(set); +} +function _parseObjectDataRadialScale(meta, data, start, count) { + const {iScale} = meta; + const {key = 'r'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + r: iScale.parse(resolveObjectKey(item, key), index) + }; + } + return parsed; +} + +const EPSILON = Number.EPSILON || 1e-14; +const getPoint = (points, i) => i < points.length && !points[i].skip && points[i]; +const getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x'; +function splineCurve(firstPoint, middlePoint, afterPoint, t) { + const previous = firstPoint.skip ? middlePoint : firstPoint; + const current = middlePoint; + const next = afterPoint.skip ? middlePoint : afterPoint; + const d01 = distanceBetweenPoints(current, previous); + const d12 = distanceBetweenPoints(next, current); + let s01 = d01 / (d01 + d12); + let s12 = d12 / (d01 + d12); + s01 = isNaN(s01) ? 0 : s01; + s12 = isNaN(s12) ? 0 : s12; + const fa = t * s01; + const fb = t * s12; + return { + previous: { + x: current.x - fa * (next.x - previous.x), + y: current.y - fa * (next.y - previous.y) + }, + next: { + x: current.x + fb * (next.x - previous.x), + y: current.y + fb * (next.y - previous.y) + } + }; +} +function monotoneAdjust(points, deltaK, mK) { + const pointsLen = points.length; + let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen - 1; ++i) { + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent || !pointAfter) { + continue; + } + if (almostEquals(deltaK[i], 0, EPSILON)) { + mK[i] = mK[i + 1] = 0; + continue; + } + alphaK = mK[i] / deltaK[i]; + betaK = mK[i + 1] / deltaK[i]; + squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); + if (squaredMagnitude <= 9) { + continue; + } + tauK = 3 / Math.sqrt(squaredMagnitude); + mK[i] = alphaK * tauK * deltaK[i]; + mK[i + 1] = betaK * tauK * deltaK[i]; + } +} +function monotoneCompute(points, mK, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + let delta, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + const iPixel = pointCurrent[indexAxis]; + const vPixel = pointCurrent[valueAxis]; + if (pointBefore) { + delta = (iPixel - pointBefore[indexAxis]) / 3; + pointCurrent[`cp1${indexAxis}`] = iPixel - delta; + pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; + } + if (pointAfter) { + delta = (pointAfter[indexAxis] - iPixel) / 3; + pointCurrent[`cp2${indexAxis}`] = iPixel + delta; + pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; + } + } +} +function splineCurveMonotone(points, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + const deltaK = Array(pointsLen).fill(0); + const mK = Array(pointsLen); + let i, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + if (pointAfter) { + const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; + deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; + } + mK[i] = !pointBefore ? deltaK[i] + : !pointAfter ? deltaK[i - 1] + : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0 + : (deltaK[i - 1] + deltaK[i]) / 2; + } + monotoneAdjust(points, deltaK, mK); + monotoneCompute(points, mK, indexAxis); +} +function capControlPoint(pt, min, max) { + return Math.max(Math.min(pt, max), min); +} +function capBezierPoints(points, area) { + let i, ilen, point, inArea, inAreaPrev; + let inAreaNext = _isPointInArea(points[0], area); + for (i = 0, ilen = points.length; i < ilen; ++i) { + inAreaPrev = inArea; + inArea = inAreaNext; + inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); + if (!inArea) { + continue; + } + point = points[i]; + if (inAreaPrev) { + point.cp1x = capControlPoint(point.cp1x, area.left, area.right); + point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); + } + if (inAreaNext) { + point.cp2x = capControlPoint(point.cp2x, area.left, area.right); + point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); + } + } +} +function _updateBezierControlPoints(points, options, area, loop, indexAxis) { + let i, ilen, point, controlPoints; + if (options.spanGaps) { + points = points.filter((pt) => !pt.skip); + } + if (options.cubicInterpolationMode === 'monotone') { + splineCurveMonotone(points, indexAxis); + } else { + let prev = loop ? points[points.length - 1] : points[0]; + for (i = 0, ilen = points.length; i < ilen; ++i) { + point = points[i]; + controlPoints = splineCurve( + prev, + point, + points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], + options.tension + ); + point.cp1x = controlPoints.previous.x; + point.cp1y = controlPoints.previous.y; + point.cp2x = controlPoints.next.x; + point.cp2y = controlPoints.next.y; + prev = point; + } + } + if (options.capBezierPoints) { + capBezierPoints(points, area); + } +} + +const atEdge = (t) => t === 0 || t === 1; +const elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p)); +const elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1; +const effects = { + linear: t => t, + easeInQuad: t => t * t, + easeOutQuad: t => -t * (t - 2), + easeInOutQuad: t => ((t /= 0.5) < 1) + ? 0.5 * t * t + : -0.5 * ((--t) * (t - 2) - 1), + easeInCubic: t => t * t * t, + easeOutCubic: t => (t -= 1) * t * t + 1, + easeInOutCubic: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t + : 0.5 * ((t -= 2) * t * t + 2), + easeInQuart: t => t * t * t * t, + easeOutQuart: t => -((t -= 1) * t * t * t - 1), + easeInOutQuart: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t + : -0.5 * ((t -= 2) * t * t * t - 2), + easeInQuint: t => t * t * t * t * t, + easeOutQuint: t => (t -= 1) * t * t * t * t + 1, + easeInOutQuint: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t * t + : 0.5 * ((t -= 2) * t * t * t * t + 2), + easeInSine: t => -Math.cos(t * HALF_PI) + 1, + easeOutSine: t => Math.sin(t * HALF_PI), + easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1), + easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)), + easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1, + easeInOutExpo: t => atEdge(t) ? t : t < 0.5 + ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) + : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2), + easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1), + easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t), + easeInOutCirc: t => ((t /= 0.5) < 1) + ? -0.5 * (Math.sqrt(1 - t * t) - 1) + : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), + easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3), + easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3), + easeInOutElastic(t) { + const s = 0.1125; + const p = 0.45; + return atEdge(t) ? t : + t < 0.5 + ? 0.5 * elasticIn(t * 2, s, p) + : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p); + }, + easeInBack(t) { + const s = 1.70158; + return t * t * ((s + 1) * t - s); + }, + easeOutBack(t) { + const s = 1.70158; + return (t -= 1) * t * ((s + 1) * t + s) + 1; + }, + easeInOutBack(t) { + let 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: t => 1 - effects.easeOutBounce(1 - t), + easeOutBounce(t) { + const m = 7.5625; + const d = 2.75; + if (t < (1 / d)) { + return m * t * t; + } + if (t < (2 / d)) { + return m * (t -= (1.5 / d)) * t + 0.75; + } + if (t < (2.5 / d)) { + return m * (t -= (2.25 / d)) * t + 0.9375; + } + return m * (t -= (2.625 / d)) * t + 0.984375; + }, + easeInOutBounce: t => (t < 0.5) + ? effects.easeInBounce(t * 2) * 0.5 + : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5, +}; + +function _pointInLine(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: p1.y + t * (p2.y - p1.y) + }; +} +function _steppedInterpolation(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y + : mode === 'after' ? t < 1 ? p1.y : p2.y + : t > 0 ? p2.y : p1.y + }; +} +function _bezierInterpolation(p1, p2, t, mode) { + const cp1 = {x: p1.cp2x, y: p1.cp2y}; + const cp2 = {x: p2.cp1x, y: p2.cp1y}; + const a = _pointInLine(p1, cp1, t); + const b = _pointInLine(cp1, cp2, t); + const c = _pointInLine(cp2, p2, t); + const d = _pointInLine(a, b, t); + const e = _pointInLine(b, c, t); + return _pointInLine(d, e, t); +} + +const intlCache = new Map(); +function getNumberFormat(locale, options) { + options = options || {}; + const cacheKey = locale + JSON.stringify(options); + let formatter = intlCache.get(cacheKey); + if (!formatter) { + formatter = new Intl.NumberFormat(locale, options); + intlCache.set(cacheKey, formatter); + } + return formatter; +} +function formatNumber(num, locale, options) { + return getNumberFormat(locale, options).format(num); +} + +const LINE_HEIGHT = new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/); +const FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/); +function toLineHeight(value, size) { + const matches = ('' + value).match(LINE_HEIGHT); + 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; +} +const numberOrZero = v => +v || 0; +function _readValueToProps(value, props) { + const ret = {}; + const objProps = isObject(props); + const keys = objProps ? Object.keys(props) : props; + const read = isObject(value) + ? objProps + ? prop => valueOrDefault(value[prop], value[props[prop]]) + : prop => value[prop] + : () => value; + for (const prop of keys) { + ret[prop] = numberOrZero(read(prop)); + } + return ret; +} +function toTRBL(value) { + return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'}); +} +function toTRBLCorners(value) { + return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']); +} +function toPadding(value) { + const obj = toTRBL(value); + obj.width = obj.left + obj.right; + obj.height = obj.top + obj.bottom; + return obj; +} +function toFont(options, fallback) { + options = options || {}; + fallback = fallback || defaults.font; + let size = valueOrDefault(options.size, fallback.size); + if (typeof size === 'string') { + size = parseInt(size, 10); + } + let style = valueOrDefault(options.style, fallback.style); + if (style && !('' + style).match(FONT_STYLE)) { + console.warn('Invalid font style specified: "' + style + '"'); + style = ''; + } + const font = { + family: valueOrDefault(options.family, fallback.family), + lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size), + size, + style, + weight: valueOrDefault(options.weight, fallback.weight), + string: '' + }; + font.string = toFontString(font); + return font; +} +function resolve(inputs, context, index, info) { + let cacheable = true; + let 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 && isArray(value)) { + value = value[index % value.length]; + cacheable = false; + } + if (value !== undefined) { + if (info && !cacheable) { + info.cacheable = false; + } + return value; + } + } +} +function _addGrace(minmax, grace, beginAtZero) { + const {min, max} = minmax; + const change = toDimension(grace, (max - min) / 2); + const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add; + return { + min: keepZero(min, -Math.abs(change)), + max: keepZero(max, change) + }; +} +function createContext(parentContext, context) { + return Object.assign(Object.create(parentContext), context); +} + +const getRightToLeftAdapter = function(rectX, width) { + return { + x(x) { + return rectX + rectX + width - x; + }, + setWidth(w) { + width = w; + }, + textAlign(align) { + if (align === 'center') { + return align; + } + return align === 'right' ? 'left' : 'right'; + }, + xPlus(x, value) { + return x - value; + }, + leftForLtr(x, itemWidth) { + return x - itemWidth; + }, + }; +}; +const getLeftToRightAdapter = function() { + return { + x(x) { + return x; + }, + setWidth(w) { + }, + textAlign(align) { + return align; + }, + xPlus(x, value) { + return x + value; + }, + leftForLtr(x, _itemWidth) { + return x; + }, + }; +}; +function getRtlAdapter(rtl, rectX, width) { + return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter(); +} +function overrideTextDirection(ctx, direction) { + let 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; + } +} +function restoreTextDirection(ctx, original) { + if (original !== undefined) { + delete ctx.prevTextDirection; + ctx.canvas.style.setProperty('direction', original[0], original[1]); + } +} + +function propertyFn(property) { + if (property === 'angle') { + return { + between: _angleBetween, + compare: _angleDiff, + normalize: _normalizeAngle, + }; + } + return { + between: _isBetween, + compare: (a, b) => a - b, + normalize: x => x + }; +} +function normalizeSegment({start, end, count, loop, style}) { + return { + start: start % count, + end: end % count, + loop: loop && (end - start + 1) % count === 0, + style + }; +} +function getSegment(segment, points, bounds) { + const {property, start: startBound, end: endBound} = bounds; + const {between, normalize} = propertyFn(property); + const count = points.length; + let {start, end, loop} = segment; + let i, ilen; + if (loop) { + start += count; + end += count; + for (i = 0, ilen = count; i < ilen; ++i) { + if (!between(normalize(points[start % count][property]), startBound, endBound)) { + break; + } + start--; + end--; + } + start %= count; + end %= count; + } + if (end < start) { + end += count; + } + return {start, end, loop, style: segment.style}; +} +function _boundSegment(segment, points, bounds) { + if (!bounds) { + return [segment]; + } + const {property, start: startBound, end: endBound} = bounds; + const count = points.length; + const {compare, between, normalize} = propertyFn(property); + const {start, end, loop, style} = getSegment(segment, points, bounds); + const result = []; + let inside = false; + let subStart = null; + let value, point, prevValue; + const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; + const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value); + const shouldStart = () => inside || startIsBefore(); + const shouldStop = () => !inside || endIsBefore(); + for (let i = start, prev = start; i <= end; ++i) { + point = points[i % count]; + if (point.skip) { + continue; + } + value = normalize(point[property]); + if (value === prevValue) { + continue; + } + inside = between(value, startBound, endBound); + if (subStart === null && shouldStart()) { + subStart = compare(value, startBound) === 0 ? i : prev; + } + if (subStart !== null && shouldStop()) { + result.push(normalizeSegment({start: subStart, end: i, loop, count, style})); + subStart = null; + } + prev = i; + prevValue = value; + } + if (subStart !== null) { + result.push(normalizeSegment({start: subStart, end, loop, count, style})); + } + return result; +} +function _boundSegments(line, bounds) { + const result = []; + const segments = line.segments; + for (let i = 0; i < segments.length; i++) { + const sub = _boundSegment(segments[i], line.points, bounds); + if (sub.length) { + result.push(...sub); + } + } + return result; +} +function findStartAndEnd(points, count, loop, spanGaps) { + let start = 0; + let end = count - 1; + if (loop && !spanGaps) { + while (start < count && !points[start].skip) { + start++; + } + } + while (start < count && points[start].skip) { + start++; + } + start %= count; + if (loop) { + end += start; + } + while (end > start && points[end % count].skip) { + end--; + } + end %= count; + return {start, end}; +} +function solidSegments(points, start, max, loop) { + const count = points.length; + const result = []; + let last = start; + let prev = points[start]; + let end; + for (end = start + 1; end <= max; ++end) { + const cur = points[end % count]; + if (cur.skip || cur.stop) { + if (!prev.skip) { + loop = false; + result.push({start: start % count, end: (end - 1) % count, loop}); + start = last = cur.stop ? end : null; + } + } else { + last = end; + if (prev.skip) { + start = end; + } + } + prev = cur; + } + if (last !== null) { + result.push({start: start % count, end: last % count, loop}); + } + return result; +} +function _computeSegments(line, segmentOptions) { + const points = line.points; + const spanGaps = line.options.spanGaps; + const count = points.length; + if (!count) { + return []; + } + const loop = !!line._loop; + const {start, end} = findStartAndEnd(points, count, loop, spanGaps); + if (spanGaps === true) { + return splitByStyles(line, [{start, end, loop}], points, segmentOptions); + } + const max = end < start ? end + count : end; + const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; + return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); +} +function splitByStyles(line, segments, points, segmentOptions) { + if (!segmentOptions || !segmentOptions.setContext || !points) { + return segments; + } + return doSplitByStyles(line, segments, points, segmentOptions); +} +function doSplitByStyles(line, segments, points, segmentOptions) { + const chartContext = line._chart.getContext(); + const baseStyle = readStyle(line.options); + const {_datasetIndex: datasetIndex, options: {spanGaps}} = line; + const count = points.length; + const result = []; + let prevStyle = baseStyle; + let start = segments[0].start; + let i = start; + function addStyle(s, e, l, st) { + const dir = spanGaps ? -1 : 1; + if (s === e) { + return; + } + s += count; + while (points[s % count].skip) { + s -= dir; + } + while (points[e % count].skip) { + e += dir; + } + if (s % count !== e % count) { + result.push({start: s % count, end: e % count, loop: l, style: st}); + prevStyle = st; + start = e % count; + } + } + for (const segment of segments) { + start = spanGaps ? start : segment.start; + let prev = points[start % count]; + let style; + for (i = start + 1; i <= segment.end; i++) { + const pt = points[i % count]; + style = readStyle(segmentOptions.setContext(createContext(chartContext, { + type: 'segment', + p0: prev, + p1: pt, + p0DataIndex: (i - 1) % count, + p1DataIndex: i % count, + datasetIndex + }))); + if (styleChanged(style, prevStyle)) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + prev = pt; + prevStyle = style; + } + if (start < i - 1) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + } + return result; +} +function readStyle(options) { + return { + backgroundColor: options.backgroundColor, + borderCapStyle: options.borderCapStyle, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderJoinStyle: options.borderJoinStyle, + borderWidth: options.borderWidth, + borderColor: options.borderColor + }; +} +function styleChanged(style, prevStyle) { + return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle); +} + +var helpers = /*#__PURE__*/Object.freeze({ +__proto__: null, +easingEffects: effects, +isPatternOrGradient: isPatternOrGradient, +color: color, +getHoverColor: getHoverColor, +noop: noop, +uid: uid, +isNullOrUndef: isNullOrUndef, +isArray: isArray, +isObject: isObject, +isFinite: isNumberFinite, +finiteOrDefault: finiteOrDefault, +valueOrDefault: valueOrDefault, +toPercentage: toPercentage, +toDimension: toDimension, +callback: callback, +each: each, +_elementsEqual: _elementsEqual, +clone: clone$1, +_merger: _merger, +merge: merge, +mergeIf: mergeIf, +_mergerIf: _mergerIf, +_deprecated: _deprecated, +resolveObjectKey: resolveObjectKey, +_splitKey: _splitKey, +_capitalize: _capitalize, +defined: defined, +isFunction: isFunction, +setsEqual: setsEqual, +_isClickEvent: _isClickEvent, +toFontString: toFontString, +_measureText: _measureText, +_longestText: _longestText, +_alignPixel: _alignPixel, +clearCanvas: clearCanvas, +drawPoint: drawPoint, +drawPointLegend: drawPointLegend, +_isPointInArea: _isPointInArea, +clipArea: clipArea, +unclipArea: unclipArea, +_steppedLineTo: _steppedLineTo, +_bezierCurveTo: _bezierCurveTo, +renderText: renderText, +addRoundedRectPath: addRoundedRectPath, +_lookup: _lookup, +_lookupByKey: _lookupByKey, +_rlookupByKey: _rlookupByKey, +_filterBetween: _filterBetween, +listenArrayEvents: listenArrayEvents, +unlistenArrayEvents: unlistenArrayEvents, +_arrayUnique: _arrayUnique, +_createResolver: _createResolver, +_attachContext: _attachContext, +_descriptors: _descriptors, +_parseObjectDataRadialScale: _parseObjectDataRadialScale, +splineCurve: splineCurve, +splineCurveMonotone: splineCurveMonotone, +_updateBezierControlPoints: _updateBezierControlPoints, +_isDomSupported: _isDomSupported, +_getParentNode: _getParentNode, +getStyle: getStyle, +getRelativePosition: getRelativePosition, +getMaximumSize: getMaximumSize, +retinaScale: retinaScale, +supportsEventListenerOptions: supportsEventListenerOptions, +readUsedSize: readUsedSize, +fontString: fontString, +requestAnimFrame: requestAnimFrame, +throttled: throttled, +debounce: debounce, +_toLeftRightCenter: _toLeftRightCenter, +_alignStartEnd: _alignStartEnd, +_textX: _textX, +_getStartAndCountOfVisiblePoints: _getStartAndCountOfVisiblePoints, +_scaleRangesChanged: _scaleRangesChanged, +_pointInLine: _pointInLine, +_steppedInterpolation: _steppedInterpolation, +_bezierInterpolation: _bezierInterpolation, +formatNumber: formatNumber, +toLineHeight: toLineHeight, +_readValueToProps: _readValueToProps, +toTRBL: toTRBL, +toTRBLCorners: toTRBLCorners, +toPadding: toPadding, +toFont: toFont, +resolve: resolve, +_addGrace: _addGrace, +createContext: createContext, +PI: PI, +TAU: TAU, +PITAU: PITAU, +INFINITY: INFINITY, +RAD_PER_DEG: RAD_PER_DEG, +HALF_PI: HALF_PI, +QUARTER_PI: QUARTER_PI, +TWO_THIRDS_PI: TWO_THIRDS_PI, +log10: log10, +sign: sign, +niceNum: niceNum, +_factorize: _factorize, +isNumber: isNumber, +almostEquals: almostEquals, +almostWhole: almostWhole, +_setMinAndMaxByKey: _setMinAndMaxByKey, +toRadians: toRadians, +toDegrees: toDegrees, +_decimalPlaces: _decimalPlaces, +getAngleFromPoint: getAngleFromPoint, +distanceBetweenPoints: distanceBetweenPoints, +_angleDiff: _angleDiff, +_normalizeAngle: _normalizeAngle, +_angleBetween: _angleBetween, +_limitValue: _limitValue, +_int16Range: _int16Range, +_isBetween: _isBetween, +getRtlAdapter: getRtlAdapter, +overrideTextDirection: overrideTextDirection, +restoreTextDirection: restoreTextDirection, +_boundSegment: _boundSegment, +_boundSegments: _boundSegments, +_computeSegments: _computeSegments +}); + +function binarySearch(metaset, axis, value, intersect) { + const {controller, data, _sorted} = metaset; + const iScale = controller._cachedMeta.iScale; + if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { + const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; + if (!intersect) { + return lookupMethod(data, axis, value); + } else if (controller._sharedOptions) { + const el = data[0]; + const range = typeof el.getRange === 'function' && el.getRange(axis); + if (range) { + const start = lookupMethod(data, axis, value - range); + const end = lookupMethod(data, axis, value + range); + return {lo: start.lo, hi: end.hi}; + } + } + } + return {lo: 0, hi: data.length - 1}; +} +function evaluateInteractionItems(chart, axis, position, handler, intersect) { + const metasets = chart.getSortedVisibleDatasetMetas(); + const value = position[axis]; + for (let i = 0, ilen = metasets.length; i < ilen; ++i) { + const {index, data} = metasets[i]; + const {lo, hi} = binarySearch(metasets[i], axis, value, intersect); + for (let j = lo; j <= hi; ++j) { + const element = data[j]; + if (!element.skip) { + handler(element, index, j); + } + } + } +} +function getDistanceMetricForAxis(axis) { + const useX = axis.indexOf('x') !== -1; + const useY = axis.indexOf('y') !== -1; + return function(pt1, pt2) { + const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; + const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; + return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); + }; +} +function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) { + const items = []; + if (!includeInvisible && !chart.isPointInArea(position)) { + return items; + } + const evaluationFunc = function(element, datasetIndex, index) { + if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) { + return; + } + if (element.inRange(position.x, position.y, useFinalPosition)) { + items.push({element, datasetIndex, index}); + } + }; + evaluateInteractionItems(chart, axis, position, evaluationFunc, true); + return items; +} +function getNearestRadialItems(chart, position, axis, useFinalPosition) { + let items = []; + function evaluationFunc(element, datasetIndex, index) { + const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition); + const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y}); + if (_angleBetween(angle, startAngle, endAngle)) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + let items = []; + const distanceMetric = getDistanceMetricForAxis(axis); + let minDistance = Number.POSITIVE_INFINITY; + function evaluationFunc(element, datasetIndex, index) { + const inRange = element.inRange(position.x, position.y, useFinalPosition); + if (intersect && !inRange) { + return; + } + const center = element.getCenterPoint(useFinalPosition); + const pointInArea = !!includeInvisible || chart.isPointInArea(center); + if (!pointInArea && !inRange) { + return; + } + const distance = distanceMetric(position, center); + if (distance < minDistance) { + items = [{element, datasetIndex, index}]; + minDistance = distance; + } else if (distance === minDistance) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + if (!includeInvisible && !chart.isPointInArea(position)) { + return []; + } + return axis === 'r' && !intersect + ? getNearestRadialItems(chart, position, axis, useFinalPosition) + : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible); +} +function getAxisItems(chart, position, axis, intersect, useFinalPosition) { + const items = []; + const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange'; + let intersectsItem = false; + evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => { + if (element[rangeMethod](position[axis], useFinalPosition)) { + items.push({element, datasetIndex, index}); + intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); + } + }); + if (intersect && !intersectsItem) { + return []; + } + return items; +} +var Interaction = { + evaluateInteractionItems, + modes: { + index(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'x'; + const includeInvisible = options.includeInvisible || false; + const items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) + : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + const elements = []; + if (!items.length) { + return []; + } + chart.getSortedVisibleDatasetMetas().forEach((meta) => { + const index = items[0].index; + const element = meta.data[index]; + if (element && !element.skip) { + elements.push({element, datasetIndex: meta.index, index}); + } + }); + return elements; + }, + dataset(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + let items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : + getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + if (items.length > 0) { + const datasetIndex = items[0].datasetIndex; + const data = chart.getDatasetMeta(datasetIndex).data; + items = []; + for (let i = 0; i < data.length; ++i) { + items.push({element: data[i], datasetIndex, index: i}); + } + } + return items; + }, + point(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible); + }, + nearest(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible); + }, + x(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition); + }, + y(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition); + } + } +}; + +const STATIC_POSITIONS = ['left', 'top', 'right', 'bottom']; +function filterByPosition(array, position) { + return array.filter(v => v.pos === position); +} +function filterDynamicPositionByAxis(array, axis) { + return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis); +} +function sortByWeight(array, reverse) { + return array.sort((a, b) => { + const v0 = reverse ? b : a; + const v1 = reverse ? a : b; + return v0.weight === v1.weight ? + v0.index - v1.index : + v0.weight - v1.weight; + }); +} +function wrapBoxes(boxes) { + const layoutBoxes = []; + let i, ilen, box, pos, stack, stackWeight; + for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) { + box = boxes[i]; + ({position: pos, options: {stack, stackWeight = 1}} = box); + layoutBoxes.push({ + index: i, + box, + pos, + horizontal: box.isHorizontal(), + weight: box.weight, + stack: stack && (pos + stack), + stackWeight + }); + } + return layoutBoxes; +} +function buildStacks(layouts) { + const stacks = {}; + for (const wrap of layouts) { + const {stack, pos, stackWeight} = wrap; + if (!stack || !STATIC_POSITIONS.includes(pos)) { + continue; + } + const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0}); + _stack.count++; + _stack.weight += stackWeight; + } + return stacks; +} +function setLayoutDims(layouts, params) { + const stacks = buildStacks(layouts); + const {vBoxMaxWidth, hBoxMaxHeight} = params; + let i, ilen, layout; + for (i = 0, ilen = layouts.length; i < ilen; ++i) { + layout = layouts[i]; + const {fullSize} = layout.box; + const stack = stacks[layout.stack]; + const factor = stack && layout.stackWeight / stack.weight; + if (layout.horizontal) { + layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth; + layout.height = hBoxMaxHeight; + } else { + layout.width = vBoxMaxWidth; + layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight; + } + } + return stacks; +} +function buildLayoutBoxes(boxes) { + const layoutBoxes = wrapBoxes(boxes); + const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true); + const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); + const right = sortByWeight(filterByPosition(layoutBoxes, 'right')); + const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); + const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); + const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x'); + const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y'); + return { + fullSize, + leftAndTop: left.concat(top), + rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal), + chartArea: filterByPosition(layoutBoxes, 'chartArea'), + vertical: left.concat(right).concat(centerVertical), + horizontal: top.concat(bottom).concat(centerHorizontal) + }; +} +function getCombinedMax(maxPadding, chartArea, a, b) { + return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); +} +function updateMaxPadding(maxPadding, boxPadding) { + 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); +} +function updateDims(chartArea, params, layout, stacks) { + const {pos, box} = layout; + const maxPadding = chartArea.maxPadding; + if (!isObject(pos)) { + if (layout.size) { + chartArea[pos] -= layout.size; + } + const stack = stacks[layout.stack] || {size: 0, count: 1}; + stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); + layout.size = stack.size / stack.count; + chartArea[pos] += layout.size; + } + if (box.getPadding) { + updateMaxPadding(maxPadding, box.getPadding()); + } + const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right')); + const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom')); + const widthChanged = newWidth !== chartArea.w; + const heightChanged = newHeight !== chartArea.h; + chartArea.w = newWidth; + chartArea.h = newHeight; + return layout.horizontal + ? {same: widthChanged, other: heightChanged} + : {same: heightChanged, other: widthChanged}; +} +function handleMaxPadding(chartArea) { + const maxPadding = chartArea.maxPadding; + function updatePos(pos) { + const 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) { + const maxPadding = chartArea.maxPadding; + function marginForPositions(positions) { + const margin = {left: 0, top: 0, right: 0, bottom: 0}; + positions.forEach((pos) => { + margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); + }); + return margin; + } + return horizontal + ? marginForPositions(['left', 'right']) + : marginForPositions(['top', 'bottom']); +} +function fitBoxes(boxes, chartArea, params, stacks) { + const refitBoxes = []; + let i, ilen, layout, box, refit, changed; + for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) { + layout = boxes[i]; + box = layout.box; + box.update( + layout.width || chartArea.w, + layout.height || chartArea.h, + getMargins(layout.horizontal, chartArea) + ); + const {same, other} = updateDims(chartArea, params, layout, stacks); + refit |= same && refitBoxes.length; + changed = changed || other; + if (!box.fullSize) { + refitBoxes.push(layout); + } + } + return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed; +} +function setBoxDims(box, left, top, width, height) { + box.top = top; + box.left = left; + box.right = left + width; + box.bottom = top + height; + box.width = width; + box.height = height; +} +function placeBoxes(boxes, chartArea, params, stacks) { + const userPadding = params.padding; + let {x, y} = chartArea; + for (const layout of boxes) { + const box = layout.box; + const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1}; + const weight = (layout.stackWeight / stack.weight) || 1; + if (layout.horizontal) { + const width = chartArea.w * weight; + const height = stack.size || box.height; + if (defined(stack.start)) { + y = stack.start; + } + if (box.fullSize) { + setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height); + } else { + setBoxDims(box, chartArea.left + stack.placed, y, width, height); + } + stack.start = y; + stack.placed += width; + y = box.bottom; + } else { + const height = chartArea.h * weight; + const width = stack.size || box.width; + if (defined(stack.start)) { + x = stack.start; + } + if (box.fullSize) { + setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); + } else { + setBoxDims(box, x, chartArea.top + stack.placed, width, height); + } + stack.start = x; + stack.placed += height; + x = box.right; + } + } + chartArea.x = x; + chartArea.y = y; +} +defaults.set('layout', { + autoPadding: true, + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } +}); +var layouts = { + addBox(chart, item) { + if (!chart.boxes) { + chart.boxes = []; + } + item.fullSize = item.fullSize || false; + item.position = item.position || 'top'; + item.weight = item.weight || 0; + item._layers = item._layers || function() { + return [{ + z: 0, + draw(chartArea) { + item.draw(chartArea); + } + }]; + }; + chart.boxes.push(item); + }, + removeBox(chart, layoutItem) { + const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; + if (index !== -1) { + chart.boxes.splice(index, 1); + } + }, + configure(chart, item, options) { + item.fullSize = options.fullSize; + item.position = options.position; + item.weight = options.weight; + }, + update(chart, width, height, minPadding) { + if (!chart) { + return; + } + const padding = toPadding(chart.options.layout.padding); + const availableWidth = Math.max(width - padding.width, 0); + const availableHeight = Math.max(height - padding.height, 0); + const boxes = buildLayoutBoxes(chart.boxes); + const verticalBoxes = boxes.vertical; + const horizontalBoxes = boxes.horizontal; + each(chart.boxes, box => { + if (typeof box.beforeLayout === 'function') { + box.beforeLayout(); + } + }); + const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) => + wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1; + const params = Object.freeze({ + outerWidth: width, + outerHeight: height, + padding, + availableWidth, + availableHeight, + vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, + hBoxMaxHeight: availableHeight / 2 + }); + const maxPadding = Object.assign({}, padding); + updateMaxPadding(maxPadding, toPadding(minPadding)); + const chartArea = Object.assign({ + maxPadding, + w: availableWidth, + h: availableHeight, + x: padding.left, + y: padding.top + }, padding); + const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); + fitBoxes(boxes.fullSize, chartArea, params, stacks); + fitBoxes(verticalBoxes, chartArea, params, stacks); + if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) { + fitBoxes(verticalBoxes, chartArea, params, stacks); + } + handleMaxPadding(chartArea); + placeBoxes(boxes.leftAndTop, chartArea, params, stacks); + chartArea.x += chartArea.w; + chartArea.y += chartArea.h; + placeBoxes(boxes.rightAndBottom, chartArea, params, stacks); + chart.chartArea = { + left: chartArea.left, + top: chartArea.top, + right: chartArea.left + chartArea.w, + bottom: chartArea.top + chartArea.h, + height: chartArea.h, + width: chartArea.w, + }; + each(boxes.chartArea, (layout) => { + const box = layout.box; + Object.assign(box, chart.chartArea); + box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0}); + }); + } +}; + +class BasePlatform { + acquireContext(canvas, aspectRatio) {} + releaseContext(context) { + return false; + } + addEventListener(chart, type, listener) {} + removeEventListener(chart, type, listener) {} + getDevicePixelRatio() { + return 1; + } + getMaximumSize(element, width, height, aspectRatio) { + width = Math.max(0, width || element.width); + height = height || element.height; + return { + width, + height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height) + }; + } + isAttached(canvas) { + return true; + } + updateConfig(config) { + } +} + +class BasicPlatform extends BasePlatform { + acquireContext(item) { + return item && item.getContext && item.getContext('2d') || null; + } + updateConfig(config) { + config.options.animation = false; + } +} + +const EXPANDO_KEY = '$chartjs'; +const EVENT_TYPES = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup', + pointerenter: 'mouseenter', + pointerdown: 'mousedown', + pointermove: 'mousemove', + pointerup: 'mouseup', + pointerleave: 'mouseout', + pointerout: 'mouseout' +}; +const isNullOrEmpty = value => value === null || value === ''; +function initCanvas(canvas, aspectRatio) { + const style = canvas.style; + const renderHeight = canvas.getAttribute('height'); + const renderWidth = canvas.getAttribute('width'); + canvas[EXPANDO_KEY] = { + initial: { + height: renderHeight, + width: renderWidth, + style: { + display: style.display, + height: style.height, + width: style.width + } + } + }; + style.display = style.display || 'block'; + style.boxSizing = style.boxSizing || 'border-box'; + if (isNullOrEmpty(renderWidth)) { + const displayWidth = readUsedSize(canvas, 'width'); + if (displayWidth !== undefined) { + canvas.width = displayWidth; + } + } + if (isNullOrEmpty(renderHeight)) { + if (canvas.style.height === '') { + canvas.height = canvas.width / (aspectRatio || 2); + } else { + const displayHeight = readUsedSize(canvas, 'height'); + if (displayHeight !== undefined) { + canvas.height = displayHeight; + } + } + } + return canvas; +} +const eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false; +function addListener(node, type, listener) { + node.addEventListener(type, listener, eventListenerOptions); +} +function removeListener(chart, type, listener) { + chart.canvas.removeEventListener(type, listener, eventListenerOptions); +} +function fromNativeEvent(event, chart) { + const type = EVENT_TYPES[event.type] || event.type; + const {x, y} = getRelativePosition(event, chart); + return { + type, + chart, + native: event, + x: x !== undefined ? x : null, + y: y !== undefined ? y : null, + }; +} +function nodeListContains(nodeList, canvas) { + for (const node of nodeList) { + if (node === canvas || node.contains(canvas)) { + return true; + } + } +} +function createAttachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.addedNodes, canvas); + trigger = trigger && !nodeListContains(entry.removedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +function createDetachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.removedNodes, canvas); + trigger = trigger && !nodeListContains(entry.addedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +const drpListeningCharts = new Map(); +let oldDevicePixelRatio = 0; +function onWindowResize() { + const dpr = window.devicePixelRatio; + if (dpr === oldDevicePixelRatio) { + return; + } + oldDevicePixelRatio = dpr; + drpListeningCharts.forEach((resize, chart) => { + if (chart.currentDevicePixelRatio !== dpr) { + resize(); + } + }); +} +function listenDevicePixelRatioChanges(chart, resize) { + if (!drpListeningCharts.size) { + window.addEventListener('resize', onWindowResize); + } + drpListeningCharts.set(chart, resize); +} +function unlistenDevicePixelRatioChanges(chart) { + drpListeningCharts.delete(chart); + if (!drpListeningCharts.size) { + window.removeEventListener('resize', onWindowResize); + } +} +function createResizeObserver(chart, type, listener) { + const canvas = chart.canvas; + const container = canvas && _getParentNode(canvas); + if (!container) { + return; + } + const resize = throttled((width, height) => { + const w = container.clientWidth; + listener(width, height); + if (w < container.clientWidth) { + listener(); + } + }, window); + const observer = new ResizeObserver(entries => { + const entry = entries[0]; + const width = entry.contentRect.width; + const height = entry.contentRect.height; + if (width === 0 && height === 0) { + return; + } + resize(width, height); + }); + observer.observe(container); + listenDevicePixelRatioChanges(chart, resize); + return observer; +} +function releaseObserver(chart, type, observer) { + if (observer) { + observer.disconnect(); + } + if (type === 'resize') { + unlistenDevicePixelRatioChanges(chart); + } +} +function createProxyAndListen(chart, type, listener) { + const canvas = chart.canvas; + const proxy = throttled((event) => { + if (chart.ctx !== null) { + listener(fromNativeEvent(event, chart)); + } + }, chart, (args) => { + const event = args[0]; + return [event, event.offsetX, event.offsetY]; + }); + addListener(canvas, type, proxy); + return proxy; +} +class DomPlatform extends BasePlatform { + acquireContext(canvas, aspectRatio) { + const context = canvas && canvas.getContext && canvas.getContext('2d'); + if (context && context.canvas === canvas) { + initCanvas(canvas, aspectRatio); + return context; + } + return null; + } + releaseContext(context) { + const canvas = context.canvas; + if (!canvas[EXPANDO_KEY]) { + return false; + } + const initial = canvas[EXPANDO_KEY].initial; + ['height', 'width'].forEach((prop) => { + const value = initial[prop]; + if (isNullOrUndef(value)) { + canvas.removeAttribute(prop); + } else { + canvas.setAttribute(prop, value); + } + }); + const style = initial.style || {}; + Object.keys(style).forEach((key) => { + canvas.style[key] = style[key]; + }); + canvas.width = canvas.width; + delete canvas[EXPANDO_KEY]; + return true; + } + addEventListener(chart, type, listener) { + this.removeEventListener(chart, type); + const proxies = chart.$proxies || (chart.$proxies = {}); + const handlers = { + attach: createAttachObserver, + detach: createDetachObserver, + resize: createResizeObserver + }; + const handler = handlers[type] || createProxyAndListen; + proxies[type] = handler(chart, type, listener); + } + removeEventListener(chart, type) { + const proxies = chart.$proxies || (chart.$proxies = {}); + const proxy = proxies[type]; + if (!proxy) { + return; + } + const handlers = { + attach: releaseObserver, + detach: releaseObserver, + resize: releaseObserver + }; + const handler = handlers[type] || removeListener; + handler(chart, type, proxy); + proxies[type] = undefined; + } + getDevicePixelRatio() { + return window.devicePixelRatio; + } + getMaximumSize(canvas, width, height, aspectRatio) { + return getMaximumSize(canvas, width, height, aspectRatio); + } + isAttached(canvas) { + const container = _getParentNode(canvas); + return !!(container && container.isConnected); + } +} + +function _detectPlatform(canvas) { + if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) { + return BasicPlatform; + } + return DomPlatform; +} + +var platforms = /*#__PURE__*/Object.freeze({ +__proto__: null, +_detectPlatform: _detectPlatform, +BasePlatform: BasePlatform, +BasicPlatform: BasicPlatform, +DomPlatform: DomPlatform +}); + +const transparent = 'transparent'; +const interpolators = { + boolean(from, to, factor) { + return factor > 0.5 ? to : from; + }, + color(from, to, factor) { + const c0 = color(from || transparent); + const c1 = c0.valid && color(to || transparent); + return c1 && c1.valid + ? c1.mix(c0, factor).hexString() + : to; + }, + number(from, to, factor) { + return from + (to - from) * factor; + } +}; +class Animation { + constructor(cfg, target, prop, to) { + const currentValue = target[prop]; + to = resolve([cfg.to, to, currentValue, cfg.from]); + const from = resolve([cfg.from, currentValue, to]); + this._active = true; + this._fn = cfg.fn || interpolators[cfg.type || typeof from]; + this._easing = effects[cfg.easing] || effects.linear; + this._start = Math.floor(Date.now() + (cfg.delay || 0)); + this._duration = this._total = Math.floor(cfg.duration); + this._loop = !!cfg.loop; + this._target = target; + this._prop = prop; + this._from = from; + this._to = to; + this._promises = undefined; + } + active() { + return this._active; + } + update(cfg, to, date) { + if (this._active) { + this._notify(false); + const currentValue = this._target[this._prop]; + const elapsed = date - this._start; + const remain = this._duration - elapsed; + this._start = date; + this._duration = Math.floor(Math.max(remain, cfg.duration)); + this._total += elapsed; + this._loop = !!cfg.loop; + this._to = resolve([cfg.to, to, currentValue, cfg.from]); + this._from = resolve([cfg.from, currentValue, to]); + } + } + cancel() { + if (this._active) { + this.tick(Date.now()); + this._active = false; + this._notify(false); + } + } + tick(date) { + const elapsed = date - this._start; + const duration = this._duration; + const prop = this._prop; + const from = this._from; + const loop = this._loop; + const to = this._to; + let factor; + this._active = from !== to && (loop || (elapsed < duration)); + if (!this._active) { + this._target[prop] = to; + this._notify(true); + return; + } + if (elapsed < 0) { + this._target[prop] = from; + return; + } + factor = (elapsed / duration) % 2; + factor = loop && factor > 1 ? 2 - factor : factor; + factor = this._easing(Math.min(1, Math.max(0, factor))); + this._target[prop] = this._fn(from, to, factor); + } + wait() { + const promises = this._promises || (this._promises = []); + return new Promise((res, rej) => { + promises.push({res, rej}); + }); + } + _notify(resolved) { + const method = resolved ? 'res' : 'rej'; + const promises = this._promises || []; + for (let i = 0; i < promises.length; i++) { + promises[i][method](); + } + } +} + +const numbers = ['x', 'y', 'borderWidth', 'radius', 'tension']; +const colors = ['color', 'borderColor', 'backgroundColor']; +defaults.set('animation', { + delay: undefined, + duration: 1000, + easing: 'easeOutQuart', + fn: undefined, + from: undefined, + loop: undefined, + to: undefined, + type: undefined, +}); +const animationOptions = Object.keys(defaults.animation); +defaults.describe('animation', { + _fallback: false, + _indexable: false, + _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn', +}); +defaults.set('animations', { + colors: { + type: 'color', + properties: colors + }, + numbers: { + type: 'number', + properties: numbers + }, +}); +defaults.describe('animations', { + _fallback: 'animation', +}); +defaults.set('transitions', { + active: { + animation: { + duration: 400 + } + }, + resize: { + animation: { + duration: 0 + } + }, + show: { + animations: { + colors: { + from: 'transparent' + }, + visible: { + type: 'boolean', + duration: 0 + }, + } + }, + hide: { + animations: { + colors: { + to: 'transparent' + }, + visible: { + type: 'boolean', + easing: 'linear', + fn: v => v | 0 + }, + } + } +}); +class Animations { + constructor(chart, config) { + this._chart = chart; + this._properties = new Map(); + this.configure(config); + } + configure(config) { + if (!isObject(config)) { + return; + } + const animatedProps = this._properties; + Object.getOwnPropertyNames(config).forEach(key => { + const cfg = config[key]; + if (!isObject(cfg)) { + return; + } + const resolved = {}; + for (const option of animationOptions) { + resolved[option] = cfg[option]; + } + (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => { + if (prop === key || !animatedProps.has(prop)) { + animatedProps.set(prop, resolved); + } + }); + }); + } + _animateOptions(target, values) { + const newOptions = values.options; + const options = resolveTargetOptions(target, newOptions); + if (!options) { + return []; + } + const animations = this._createAnimations(options, newOptions); + if (newOptions.$shared) { + awaitAll(target.options.$animations, newOptions).then(() => { + target.options = newOptions; + }, () => { + }); + } + return animations; + } + _createAnimations(target, values) { + const animatedProps = this._properties; + const animations = []; + const running = target.$animations || (target.$animations = {}); + const props = Object.keys(values); + const date = Date.now(); + let i; + for (i = props.length - 1; i >= 0; --i) { + const prop = props[i]; + if (prop.charAt(0) === '$') { + continue; + } + if (prop === 'options') { + animations.push(...this._animateOptions(target, values)); + continue; + } + const value = values[prop]; + let animation = running[prop]; + const cfg = animatedProps.get(prop); + if (animation) { + if (cfg && animation.active()) { + animation.update(cfg, value, date); + continue; + } else { + animation.cancel(); + } + } + if (!cfg || !cfg.duration) { + target[prop] = value; + continue; + } + running[prop] = animation = new Animation(cfg, target, prop, value); + animations.push(animation); + } + return animations; + } + update(target, values) { + if (this._properties.size === 0) { + Object.assign(target, values); + return; + } + const animations = this._createAnimations(target, values); + if (animations.length) { + animator.add(this._chart, animations); + return true; + } + } +} +function awaitAll(animations, properties) { + const running = []; + const keys = Object.keys(properties); + for (let i = 0; i < keys.length; i++) { + const anim = animations[keys[i]]; + if (anim && anim.active()) { + running.push(anim.wait()); + } + } + return Promise.all(running); +} +function resolveTargetOptions(target, newOptions) { + if (!newOptions) { + return; + } + let options = target.options; + if (!options) { + target.options = newOptions; + return; + } + if (options.$shared) { + target.options = options = Object.assign({}, options, {$shared: false, $animations: {}}); + } + return options; +} + +function scaleClip(scale, allowedOverflow) { + const opts = scale && scale.options || {}; + const reverse = opts.reverse; + const min = opts.min === undefined ? allowedOverflow : 0; + const max = opts.max === undefined ? allowedOverflow : 0; + return { + start: reverse ? max : min, + end: reverse ? min : max + }; +} +function defaultClip(xScale, yScale, allowedOverflow) { + if (allowedOverflow === false) { + return false; + } + const x = scaleClip(xScale, allowedOverflow); + const y = scaleClip(yScale, allowedOverflow); + return { + top: y.end, + right: x.end, + bottom: y.start, + left: x.start + }; +} +function toClip(value) { + let t, r, b, l; + if (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, + disabled: value === false + }; +} +function getSortedDatasetIndices(chart, filterVisible) { + const keys = []; + const metasets = chart._getSortedDatasetMetas(filterVisible); + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + keys.push(metasets[i].index); + } + return keys; +} +function applyStack(stack, value, dsIndex, options = {}) { + const keys = stack.keys; + const singleMode = options.mode === 'single'; + let i, ilen, datasetIndex, otherValue; + if (value === null) { + return; + } + for (i = 0, ilen = keys.length; i < ilen; ++i) { + datasetIndex = +keys[i]; + if (datasetIndex === dsIndex) { + if (options.all) { + continue; + } + break; + } + otherValue = stack.values[datasetIndex]; + if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) { + value += otherValue; + } + } + return value; +} +function convertObjectDataToArray(data) { + const keys = Object.keys(data); + const adata = new Array(keys.length); + let i, ilen, key; + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + adata[i] = { + x: key, + y: data[key] + }; + } + return adata; +} +function isStacked(scale, meta) { + const stacked = scale && scale.options.stacked; + return stacked || (stacked === undefined && meta.stack !== undefined); +} +function getStackKey(indexScale, valueScale, meta) { + return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`; +} +function getUserBounds(scale) { + const {min, max, minDefined, maxDefined} = scale.getUserBounds(); + return { + min: minDefined ? min : Number.NEGATIVE_INFINITY, + max: maxDefined ? max : Number.POSITIVE_INFINITY + }; +} +function getOrCreateStack(stacks, stackKey, indexValue) { + const subStack = stacks[stackKey] || (stacks[stackKey] = {}); + return subStack[indexValue] || (subStack[indexValue] = {}); +} +function getLastIndexInStack(stack, vScale, positive, type) { + for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) { + const value = stack[meta.index]; + if ((positive && value > 0) || (!positive && value < 0)) { + return meta.index; + } + } + return null; +} +function updateStacks(controller, parsed) { + const {chart, _cachedMeta: meta} = controller; + const stacks = chart._stacks || (chart._stacks = {}); + const {iScale, vScale, index: datasetIndex} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const key = getStackKey(iScale, vScale, meta); + const ilen = parsed.length; + let stack; + for (let i = 0; i < ilen; ++i) { + const item = parsed[i]; + const {[iAxis]: index, [vAxis]: value} = item; + const itemStacks = item._stacks || (item._stacks = {}); + stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index); + stack[datasetIndex] = value; + stack._top = getLastIndexInStack(stack, vScale, true, meta.type); + stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type); + } +} +function getFirstScaleId(chart, axis) { + const scales = chart.scales; + return Object.keys(scales).filter(key => scales[key].axis === axis).shift(); +} +function createDatasetContext(parent, index) { + return createContext(parent, + { + active: false, + dataset: undefined, + datasetIndex: index, + index, + mode: 'default', + type: 'dataset' + } + ); +} +function createDataContext(parent, index, element) { + return createContext(parent, { + active: false, + dataIndex: index, + parsed: undefined, + raw: undefined, + element, + index, + mode: 'default', + type: 'data' + }); +} +function clearStacks(meta, items) { + const datasetIndex = meta.controller.index; + const axis = meta.vScale && meta.vScale.axis; + if (!axis) { + return; + } + items = items || meta._parsed; + for (const parsed of items) { + const stacks = parsed._stacks; + if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) { + return; + } + delete stacks[axis][datasetIndex]; + } +} +const isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none'; +const cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached); +const createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked + && {keys: getSortedDatasetIndices(chart, true), values: null}; +class DatasetController { + constructor(chart, datasetIndex) { + this.chart = chart; + this._ctx = chart.ctx; + this.index = datasetIndex; + this._cachedDataOpts = {}; + this._cachedMeta = this.getMeta(); + this._type = this._cachedMeta.type; + this.options = undefined; + this._parsing = false; + this._data = undefined; + this._objectData = undefined; + this._sharedOptions = undefined; + this._drawStart = undefined; + this._drawCount = undefined; + this.enableOptionSharing = false; + this.supportsDecimation = false; + this.$context = undefined; + this._syncList = []; + this.initialize(); + } + initialize() { + const meta = this._cachedMeta; + this.configure(); + this.linkScales(); + meta._stacked = isStacked(meta.vScale, meta); + this.addElements(); + } + updateIndex(datasetIndex) { + if (this.index !== datasetIndex) { + clearStacks(this._cachedMeta); + } + this.index = datasetIndex; + } + linkScales() { + const chart = this.chart; + const meta = this._cachedMeta; + const dataset = this.getDataset(); + const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y; + const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x')); + const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y')); + const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r')); + const indexAxis = meta.indexAxis; + const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid); + const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid); + meta.xScale = this.getScaleForId(xid); + meta.yScale = this.getScaleForId(yid); + meta.rScale = this.getScaleForId(rid); + meta.iScale = this.getScaleForId(iid); + meta.vScale = this.getScaleForId(vid); + } + getDataset() { + return this.chart.data.datasets[this.index]; + } + getMeta() { + return this.chart.getDatasetMeta(this.index); + } + getScaleForId(scaleID) { + return this.chart.scales[scaleID]; + } + _getOtherScale(scale) { + const meta = this._cachedMeta; + return scale === meta.iScale + ? meta.vScale + : meta.iScale; + } + reset() { + this._update('reset'); + } + _destroy() { + const meta = this._cachedMeta; + if (this._data) { + unlistenArrayEvents(this._data, this); + } + if (meta._stacked) { + clearStacks(meta); + } + } + _dataCheck() { + const dataset = this.getDataset(); + const data = dataset.data || (dataset.data = []); + const _data = this._data; + if (isObject(data)) { + this._data = convertObjectDataToArray(data); + } else if (_data !== data) { + if (_data) { + unlistenArrayEvents(_data, this); + const meta = this._cachedMeta; + clearStacks(meta); + meta._parsed = []; + } + if (data && Object.isExtensible(data)) { + listenArrayEvents(data, this); + } + this._syncList = []; + this._data = data; + } + } + addElements() { + const meta = this._cachedMeta; + this._dataCheck(); + if (this.datasetElementType) { + meta.dataset = new this.datasetElementType(); + } + } + buildOrUpdateElements(resetNewElements) { + const meta = this._cachedMeta; + const dataset = this.getDataset(); + let stackChanged = false; + this._dataCheck(); + const oldStacked = meta._stacked; + meta._stacked = isStacked(meta.vScale, meta); + if (meta.stack !== dataset.stack) { + stackChanged = true; + clearStacks(meta); + meta.stack = dataset.stack; + } + this._resyncElements(resetNewElements); + if (stackChanged || oldStacked !== meta._stacked) { + updateStacks(this, meta._parsed); + } + } + configure() { + const config = this.chart.config; + const scopeKeys = config.datasetScopeKeys(this._type); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true); + this.options = config.createResolver(scopes, this.getContext()); + this._parsing = this.options.parsing; + this._cachedDataOpts = {}; + } + parse(start, count) { + const {_cachedMeta: meta, _data: data} = this; + const {iScale, _stacked} = meta; + const iAxis = iScale.axis; + let sorted = start === 0 && count === data.length ? true : meta._sorted; + let prev = start > 0 && meta._parsed[start - 1]; + let i, cur, parsed; + if (this._parsing === false) { + meta._parsed = data; + meta._sorted = true; + parsed = data; + } else { + if (isArray(data[start])) { + parsed = this.parseArrayData(meta, data, start, count); + } else if (isObject(data[start])) { + parsed = this.parseObjectData(meta, data, start, count); + } else { + parsed = this.parsePrimitiveData(meta, data, start, count); + } + const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]); + for (i = 0; i < count; ++i) { + meta._parsed[i + start] = cur = parsed[i]; + if (sorted) { + if (isNotInOrderComparedToPrev()) { + sorted = false; + } + prev = cur; + } + } + meta._sorted = sorted; + } + if (_stacked) { + updateStacks(this, parsed); + } + } + parsePrimitiveData(meta, data, start, count) { + const {iScale, vScale} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = new Array(count); + let i, ilen, index; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + parsed[i] = { + [iAxis]: singleScale || iScale.parse(labels[index], index), + [vAxis]: vScale.parse(data[index], index) + }; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const {xScale, yScale} = meta; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(item[0], index), + y: yScale.parse(item[1], index) + }; + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const {xScale, yScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(resolveObjectKey(item, xAxisKey), index), + y: yScale.parse(resolveObjectKey(item, yAxisKey), index) + }; + } + return parsed; + } + getParsed(index) { + return this._cachedMeta._parsed[index]; + } + getDataElement(index) { + return this._cachedMeta.data[index]; + } + applyStack(scale, parsed, mode) { + const chart = this.chart; + const meta = this._cachedMeta; + const value = parsed[scale.axis]; + const stack = { + keys: getSortedDatasetIndices(chart, true), + values: parsed._stacks[scale.axis] + }; + return applyStack(stack, value, meta.index, {mode}); + } + updateRangeFromParsed(range, scale, parsed, stack) { + const parsedValue = parsed[scale.axis]; + let value = parsedValue === null ? NaN : parsedValue; + const values = stack && parsed._stacks[scale.axis]; + if (stack && values) { + stack.values = values; + value = applyStack(stack, parsedValue, this._cachedMeta.index); + } + range.min = Math.min(range.min, value); + range.max = Math.max(range.max, value); + } + getMinMax(scale, canStack) { + const meta = this._cachedMeta; + const _parsed = meta._parsed; + const sorted = meta._sorted && scale === meta.iScale; + const ilen = _parsed.length; + const otherScale = this._getOtherScale(scale); + const stack = createStack(canStack, meta, this.chart); + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + const {min: otherMin, max: otherMax} = getUserBounds(otherScale); + let i, parsed; + function _skip() { + parsed = _parsed[i]; + const otherValue = parsed[otherScale.axis]; + return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue; + } + for (i = 0; i < ilen; ++i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + if (sorted) { + break; + } + } + if (sorted) { + for (i = ilen - 1; i >= 0; --i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + break; + } + } + return range; + } + getAllParsedValues(scale) { + const parsed = this._cachedMeta._parsed; + const values = []; + let i, ilen, value; + for (i = 0, ilen = parsed.length; i < ilen; ++i) { + value = parsed[i][scale.axis]; + if (isNumberFinite(value)) { + values.push(value); + } + } + return values; + } + getMaxOverflow() { + return false; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const iScale = meta.iScale; + const vScale = meta.vScale; + const parsed = this.getParsed(index); + return { + label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '', + value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : '' + }; + } + _update(mode) { + const meta = this._cachedMeta; + this.update(mode || 'default'); + meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow()))); + } + update(mode) {} + draw() { + const ctx = this._ctx; + const chart = this.chart; + const meta = this._cachedMeta; + const elements = meta.data || []; + const area = chart.chartArea; + const active = []; + const start = this._drawStart || 0; + const count = this._drawCount || (elements.length - start); + const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop; + let i; + if (meta.dataset) { + meta.dataset.draw(ctx, area, start, count); + } + for (i = start; i < start + count; ++i) { + const element = elements[i]; + if (element.hidden) { + continue; + } + if (element.active && drawActiveElementsOnTop) { + active.push(element); + } else { + element.draw(ctx, area); + } + } + for (i = 0; i < active.length; ++i) { + active[i].draw(ctx, area); + } + } + getStyle(index, active) { + const mode = active ? 'active' : 'default'; + return index === undefined && this._cachedMeta.dataset + ? this.resolveDatasetElementOptions(mode) + : this.resolveDataElementOptions(index || 0, mode); + } + getContext(index, active, mode) { + const dataset = this.getDataset(); + let context; + if (index >= 0 && index < this._cachedMeta.data.length) { + const element = this._cachedMeta.data[index]; + context = element.$context || + (element.$context = createDataContext(this.getContext(), index, element)); + context.parsed = this.getParsed(index); + context.raw = dataset.data[index]; + context.index = context.dataIndex = index; + } else { + context = this.$context || + (this.$context = createDatasetContext(this.chart.getContext(), this.index)); + context.dataset = dataset; + context.index = context.datasetIndex = this.index; + } + context.active = !!active; + context.mode = mode; + return context; + } + resolveDatasetElementOptions(mode) { + return this._resolveElementOptions(this.datasetElementType.id, mode); + } + resolveDataElementOptions(index, mode) { + return this._resolveElementOptions(this.dataElementType.id, mode, index); + } + _resolveElementOptions(elementType, mode = 'default', index) { + const active = mode === 'active'; + const cache = this._cachedDataOpts; + const cacheKey = elementType + '-' + mode; + const cached = cache[cacheKey]; + const sharing = this.enableOptionSharing && defined(index); + if (cached) { + return cloneIfNotShared(cached, sharing); + } + const config = this.chart.config; + const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); + const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, '']; + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + const names = Object.keys(defaults.elements[elementType]); + const context = () => this.getContext(index, active); + const values = config.resolveNamedOptions(scopes, names, context, prefixes); + if (values.$shared) { + values.$shared = sharing; + cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing)); + } + return values; + } + _resolveAnimations(index, transition, active) { + const chart = this.chart; + const cache = this._cachedDataOpts; + const cacheKey = `animation-${transition}`; + const cached = cache[cacheKey]; + if (cached) { + return cached; + } + let options; + if (chart.options.animation !== false) { + const config = this.chart.config; + const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + options = config.createResolver(scopes, this.getContext(index, active, transition)); + } + const animations = new Animations(chart, options && options.animations); + if (options && options._cacheable) { + cache[cacheKey] = Object.freeze(animations); + } + return animations; + } + getSharedOptions(options) { + if (!options.$shared) { + return; + } + return this._sharedOptions || (this._sharedOptions = Object.assign({}, options)); + } + includeOptions(mode, sharedOptions) { + return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; + } + _getSharedOptions(start, mode) { + const firstOpts = this.resolveDataElementOptions(start, mode); + const previouslySharedOptions = this._sharedOptions; + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions); + this.updateSharedOptions(sharedOptions, mode, firstOpts); + return {sharedOptions, includeOptions}; + } + updateElement(element, index, properties, mode) { + if (isDirectUpdateMode(mode)) { + Object.assign(element, properties); + } else { + this._resolveAnimations(index, mode).update(element, properties); + } + } + updateSharedOptions(sharedOptions, mode, newOptions) { + if (sharedOptions && !isDirectUpdateMode(mode)) { + this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions); + } + } + _setStyle(element, index, mode, active) { + element.active = active; + const options = this.getStyle(index, active); + this._resolveAnimations(index, mode, active).update(element, { + options: (!active && this.getSharedOptions(options)) || options + }); + } + removeHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', false); + } + setHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', true); + } + _removeDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', false); + } + } + _setDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', true); + } + } + _resyncElements(resetNewElements) { + const data = this._data; + const elements = this._cachedMeta.data; + for (const [method, arg1, arg2] of this._syncList) { + this[method](arg1, arg2); + } + this._syncList = []; + const numMeta = elements.length; + const numData = data.length; + const count = Math.min(numData, numMeta); + if (count) { + this.parse(0, count); + } + if (numData > numMeta) { + this._insertElements(numMeta, numData - numMeta, resetNewElements); + } else if (numData < numMeta) { + this._removeElements(numData, numMeta - numData); + } + } + _insertElements(start, count, resetNewElements = true) { + const meta = this._cachedMeta; + const data = meta.data; + const end = start + count; + let i; + const move = (arr) => { + arr.length += count; + for (i = arr.length - 1; i >= end; i--) { + arr[i] = arr[i - count]; + } + }; + move(data); + for (i = start; i < end; ++i) { + data[i] = new this.dataElementType(); + } + if (this._parsing) { + move(meta._parsed); + } + this.parse(start, count); + if (resetNewElements) { + this.updateElements(data, start, count, 'reset'); + } + } + updateElements(element, start, count, mode) {} + _removeElements(start, count) { + const meta = this._cachedMeta; + if (this._parsing) { + const removed = meta._parsed.splice(start, count); + if (meta._stacked) { + clearStacks(meta, removed); + } + } + meta.data.splice(start, count); + } + _sync(args) { + if (this._parsing) { + this._syncList.push(args); + } else { + const [method, arg1, arg2] = args; + this[method](arg1, arg2); + } + this.chart._dataChanges.push([this.index, ...args]); + } + _onDataPush() { + const count = arguments.length; + this._sync(['_insertElements', this.getDataset().data.length - count, count]); + } + _onDataPop() { + this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]); + } + _onDataShift() { + this._sync(['_removeElements', 0, 1]); + } + _onDataSplice(start, count) { + if (count) { + this._sync(['_removeElements', start, count]); + } + const newCount = arguments.length - 2; + if (newCount) { + this._sync(['_insertElements', start, newCount]); + } + } + _onDataUnshift() { + this._sync(['_insertElements', 0, arguments.length]); + } +} +DatasetController.defaults = {}; +DatasetController.prototype.datasetElementType = null; +DatasetController.prototype.dataElementType = null; + +class Element { + constructor() { + this.x = undefined; + this.y = undefined; + this.active = false; + this.options = undefined; + this.$animations = undefined; + } + tooltipPosition(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + hasValue() { + return isNumber(this.x) && isNumber(this.y); + } + getProps(props, final) { + const anims = this.$animations; + if (!final || !anims) { + return this; + } + const ret = {}; + props.forEach(prop => { + ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop]; + }); + return ret; + } +} +Element.defaults = {}; +Element.defaultRoutes = undefined; + +const formatters = { + values(value) { + return isArray(value) ? value : '' + value; + }, + numeric(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const locale = this.chart.options.locale; + let notation; + let delta = tickValue; + if (ticks.length > 1) { + const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); + if (maxTick < 1e-4 || maxTick > 1e+15) { + notation = 'scientific'; + } + delta = calculateDelta(tickValue, ticks); + } + const logDelta = log10(Math.abs(delta)); + const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); + const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal}; + Object.assign(options, this.options.ticks.format); + return formatNumber(tickValue, locale, options); + }, + logarithmic(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue)))); + if (remain === 1 || remain === 2 || remain === 5) { + return formatters.numeric.call(this, tickValue, index, ticks); + } + return ''; + } +}; +function calculateDelta(tickValue, ticks) { + let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; + if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { + delta = tickValue - Math.floor(tickValue); + } + return delta; +} +var Ticks = {formatters}; + +defaults.set('scale', { + display: true, + offset: false, + reverse: false, + beginAtZero: false, + bounds: 'ticks', + grace: 0, + grid: { + display: true, + lineWidth: 1, + drawBorder: true, + drawOnChartArea: true, + drawTicks: true, + tickLength: 8, + tickWidth: (_ctx, options) => options.lineWidth, + tickColor: (_ctx, options) => options.color, + offset: false, + borderDash: [], + borderDashOffset: 0.0, + borderWidth: 1 + }, + title: { + display: false, + text: '', + padding: { + top: 4, + bottom: 4 + } + }, + ticks: { + minRotation: 0, + maxRotation: 50, + mirror: false, + textStrokeWidth: 0, + textStrokeColor: '', + padding: 3, + display: true, + autoSkip: true, + autoSkipPadding: 3, + labelOffset: 0, + callback: Ticks.formatters.values, + minor: {}, + major: {}, + align: 'center', + crossAlign: 'near', + showLabelBackdrop: false, + backdropColor: 'rgba(255, 255, 255, 0.75)', + backdropPadding: 2, + } +}); +defaults.route('scale.ticks', 'color', '', 'color'); +defaults.route('scale.grid', 'color', '', 'borderColor'); +defaults.route('scale.grid', 'borderColor', '', 'borderColor'); +defaults.route('scale.title', 'color', '', 'color'); +defaults.describe('scale', { + _fallback: false, + _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser', + _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash', +}); +defaults.describe('scales', { + _fallback: 'scale', +}); +defaults.describe('scale.ticks', { + _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback', + _indexable: (name) => name !== 'backdropPadding', +}); + +function autoSkip(scale, ticks) { + const tickOpts = scale.options.ticks; + const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale); + const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; + const numMajorIndices = majorIndices.length; + const first = majorIndices[0]; + const last = majorIndices[numMajorIndices - 1]; + const newTicks = []; + if (numMajorIndices > ticksLimit) { + skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit); + return newTicks; + } + const spacing = calculateSpacing(majorIndices, ticks, ticksLimit); + if (numMajorIndices > 0) { + let i, ilen; + const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null; + skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first); + for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) { + skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]); + } + skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing); + return newTicks; + } + skip(ticks, newTicks, spacing); + return newTicks; +} +function determineMaxTicks(scale) { + const offset = scale.options.offset; + const tickLength = scale._tickSize(); + const maxScale = scale._length / tickLength + (offset ? 0 : 1); + const maxChart = scale._maxLength / tickLength; + return Math.floor(Math.min(maxScale, maxChart)); +} +function calculateSpacing(majorIndices, ticks, ticksLimit) { + const evenMajorSpacing = getEvenSpacing(majorIndices); + const spacing = ticks.length / ticksLimit; + if (!evenMajorSpacing) { + return Math.max(spacing, 1); + } + const factors = _factorize(evenMajorSpacing); + for (let i = 0, ilen = factors.length - 1; i < ilen; i++) { + const factor = factors[i]; + if (factor > spacing) { + return factor; + } + } + return Math.max(spacing, 1); +} +function getMajorIndices(ticks) { + const result = []; + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (ticks[i].major) { + result.push(i); + } + } + return result; +} +function skipMajors(ticks, newTicks, majorIndices, spacing) { + let count = 0; + let next = majorIndices[0]; + let i; + spacing = Math.ceil(spacing); + for (i = 0; i < ticks.length; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = majorIndices[count * spacing]; + } + } +} +function skip(ticks, newTicks, spacing, majorStart, majorEnd) { + const start = valueOrDefault(majorStart, 0); + const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length); + let count = 0; + let length, i, next; + spacing = Math.ceil(spacing); + if (majorEnd) { + length = majorEnd - majorStart; + spacing = length / Math.floor(length / spacing); + } + next = start; + while (next < 0) { + count++; + next = Math.round(start + count * spacing); + } + for (i = Math.max(start, 0); i < end; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = Math.round(start + count * spacing); + } + } +} +function getEvenSpacing(arr) { + const len = arr.length; + let i, diff; + if (len < 2) { + return false; + } + for (diff = arr[0], i = 1; i < len; ++i) { + if (arr[i] - arr[i - 1] !== diff) { + return false; + } + } + return diff; +} + +const reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align; +const offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset; +function sample(arr, numItems) { + const result = []; + const increment = arr.length / numItems; + const len = arr.length; + let i = 0; + for (; i < len; i += increment) { + result.push(arr[Math.floor(i)]); + } + return result; +} +function getPixelForGridLine(scale, index, offsetGridLines) { + const length = scale.ticks.length; + const validIndex = Math.min(index, length - 1); + const start = scale._startPixel; + const end = scale._endPixel; + const epsilon = 1e-6; + let lineValue = scale.getPixelForTick(validIndex); + let offset; + if (offsetGridLines) { + if (length === 1) { + offset = Math.max(lineValue - start, end - lineValue); + } else if (index === 0) { + offset = (scale.getPixelForTick(1) - lineValue) / 2; + } else { + offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2; + } + lineValue += validIndex < index ? offset : -offset; + if (lineValue < start - epsilon || lineValue > end + epsilon) { + return; + } + } + return lineValue; +} +function garbageCollect(caches, length) { + each(caches, (cache) => { + const gc = cache.gc; + const gcLen = gc.length / 2; + let i; + if (gcLen > length) { + for (i = 0; i < gcLen; ++i) { + delete cache.data[gc[i]]; + } + gc.splice(0, gcLen); + } + }); +} +function getTickMarkLength(options) { + return options.drawTicks ? options.tickLength : 0; +} +function getTitleHeight(options, fallback) { + if (!options.display) { + return 0; + } + const font = toFont(options.font, fallback); + const padding = toPadding(options.padding); + const lines = isArray(options.text) ? options.text.length : 1; + return (lines * font.lineHeight) + padding.height; +} +function createScaleContext(parent, scale) { + return createContext(parent, { + scale, + type: 'scale' + }); +} +function createTickContext(parent, index, tick) { + return createContext(parent, { + tick, + index, + type: 'tick' + }); +} +function titleAlign(align, position, reverse) { + let ret = _toLeftRightCenter(align); + if ((reverse && position !== 'right') || (!reverse && position === 'right')) { + ret = reverseAlign(ret); + } + return ret; +} +function titleArgs(scale, offset, position, align) { + const {top, left, bottom, right, chart} = scale; + const {chartArea, scales} = chart; + let rotation = 0; + let maxWidth, titleX, titleY; + const height = bottom - top; + const width = right - left; + if (scale.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleY = scales[positionAxisID].getPixelForValue(value) + height - offset; + } else if (position === 'center') { + titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset; + } else { + titleY = offsetFromEdge(scale, position, offset); + } + maxWidth = right - left; + } else { + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; + } else if (position === 'center') { + titleX = (chartArea.left + chartArea.right) / 2 - width + offset; + } else { + titleX = offsetFromEdge(scale, position, offset); + } + titleY = _alignStartEnd(align, bottom, top); + rotation = position === 'left' ? -HALF_PI : HALF_PI; + } + return {titleX, titleY, maxWidth, rotation}; +} +class Scale extends Element { + constructor(cfg) { + super(); + this.id = cfg.id; + this.type = cfg.type; + this.options = undefined; + this.ctx = cfg.ctx; + this.chart = cfg.chart; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this._margins = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + this.maxWidth = undefined; + this.maxHeight = undefined; + this.paddingTop = undefined; + this.paddingBottom = undefined; + this.paddingLeft = undefined; + this.paddingRight = undefined; + this.axis = undefined; + this.labelRotation = undefined; + this.min = undefined; + this.max = undefined; + this._range = undefined; + this.ticks = []; + this._gridLineItems = null; + this._labelItems = null; + this._labelSizes = null; + this._length = 0; + this._maxLength = 0; + this._longestTextCache = {}; + this._startPixel = undefined; + this._endPixel = undefined; + this._reversePixels = false; + this._userMax = undefined; + this._userMin = undefined; + this._suggestedMax = undefined; + this._suggestedMin = undefined; + this._ticksLength = 0; + this._borderValue = 0; + this._cache = {}; + this._dataLimitsCached = false; + this.$context = undefined; + } + init(options) { + this.options = options.setContext(this.getContext()); + this.axis = options.axis; + this._userMin = this.parse(options.min); + this._userMax = this.parse(options.max); + this._suggestedMin = this.parse(options.suggestedMin); + this._suggestedMax = this.parse(options.suggestedMax); + } + parse(raw, index) { + return raw; + } + getUserBounds() { + let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this; + _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY); + _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY); + _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY); + _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY); + return { + min: finiteOrDefault(_userMin, _suggestedMin), + max: finiteOrDefault(_userMax, _suggestedMax), + minDefined: isNumberFinite(_userMin), + maxDefined: isNumberFinite(_userMax) + }; + } + getMinMax(canStack) { + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + let range; + if (minDefined && maxDefined) { + return {min, max}; + } + const metas = this.getMatchingVisibleMetas(); + for (let i = 0, ilen = metas.length; i < ilen; ++i) { + range = metas[i].controller.getMinMax(this, canStack); + if (!minDefined) { + min = Math.min(min, range.min); + } + if (!maxDefined) { + max = Math.max(max, range.max); + } + } + min = maxDefined && min > max ? max : min; + max = minDefined && min > max ? min : max; + return { + min: finiteOrDefault(min, finiteOrDefault(max, min)), + max: finiteOrDefault(max, finiteOrDefault(min, max)) + }; + } + getPadding() { + return { + left: this.paddingLeft || 0, + top: this.paddingTop || 0, + right: this.paddingRight || 0, + bottom: this.paddingBottom || 0 + }; + } + getTicks() { + return this.ticks; + } + getLabels() { + const data = this.chart.data; + return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || []; + } + beforeLayout() { + this._cache = {}; + this._dataLimitsCached = false; + } + beforeUpdate() { + callback(this.options.beforeUpdate, [this]); + } + update(maxWidth, maxHeight, margins) { + const {beginAtZero, grace, ticks: tickOpts} = this.options; + const sampleSize = tickOpts.sampleSize; + this.beforeUpdate(); + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins = Object.assign({ + left: 0, + right: 0, + top: 0, + bottom: 0 + }, margins); + this.ticks = null; + this._labelSizes = null; + this._gridLineItems = null; + this._labelItems = null; + this.beforeSetDimensions(); + this.setDimensions(); + this.afterSetDimensions(); + this._maxLength = this.isHorizontal() + ? this.width + margins.left + margins.right + : this.height + margins.top + margins.bottom; + if (!this._dataLimitsCached) { + this.beforeDataLimits(); + this.determineDataLimits(); + this.afterDataLimits(); + this._range = _addGrace(this, grace, beginAtZero); + this._dataLimitsCached = true; + } + this.beforeBuildTicks(); + this.ticks = this.buildTicks() || []; + this.afterBuildTicks(); + const samplingEnabled = sampleSize < this.ticks.length; + this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks); + this.configure(); + this.beforeCalculateLabelRotation(); + this.calculateLabelRotation(); + this.afterCalculateLabelRotation(); + if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) { + this.ticks = autoSkip(this, this.ticks); + this._labelSizes = null; + this.afterAutoSkip(); + } + if (samplingEnabled) { + this._convertTicksToLabels(this.ticks); + } + this.beforeFit(); + this.fit(); + this.afterFit(); + this.afterUpdate(); + } + configure() { + let reversePixels = this.options.reverse; + let startPixel, endPixel; + if (this.isHorizontal()) { + startPixel = this.left; + endPixel = this.right; + } else { + startPixel = this.top; + endPixel = this.bottom; + reversePixels = !reversePixels; + } + this._startPixel = startPixel; + this._endPixel = endPixel; + this._reversePixels = reversePixels; + this._length = endPixel - startPixel; + this._alignToPixels = this.options.alignToPixels; + } + afterUpdate() { + callback(this.options.afterUpdate, [this]); + } + beforeSetDimensions() { + callback(this.options.beforeSetDimensions, [this]); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = 0; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = 0; + this.bottom = this.height; + } + this.paddingLeft = 0; + this.paddingTop = 0; + this.paddingRight = 0; + this.paddingBottom = 0; + } + afterSetDimensions() { + callback(this.options.afterSetDimensions, [this]); + } + _callHooks(name) { + this.chart.notifyPlugins(name, this.getContext()); + callback(this.options[name], [this]); + } + beforeDataLimits() { + this._callHooks('beforeDataLimits'); + } + determineDataLimits() {} + afterDataLimits() { + this._callHooks('afterDataLimits'); + } + beforeBuildTicks() { + this._callHooks('beforeBuildTicks'); + } + buildTicks() { + return []; + } + afterBuildTicks() { + this._callHooks('afterBuildTicks'); + } + beforeTickToLabelConversion() { + callback(this.options.beforeTickToLabelConversion, [this]); + } + generateTickLabels(ticks) { + const tickOpts = this.options.ticks; + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + tick = ticks[i]; + tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this); + } + } + afterTickToLabelConversion() { + callback(this.options.afterTickToLabelConversion, [this]); + } + beforeCalculateLabelRotation() { + callback(this.options.beforeCalculateLabelRotation, [this]); + } + calculateLabelRotation() { + const options = this.options; + const tickOpts = options.ticks; + const numTicks = this.ticks.length; + const minRotation = tickOpts.minRotation || 0; + const maxRotation = tickOpts.maxRotation; + let labelRotation = minRotation; + let tickWidth, maxHeight, maxLabelDiagonal; + if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) { + this.labelRotation = minRotation; + return; + } + const labelSizes = this._getLabelSizes(); + const maxLabelWidth = labelSizes.widest.width; + const maxLabelHeight = labelSizes.highest.height; + const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth); + tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1); + if (maxLabelWidth + 6 > tickWidth) { + tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1)); + maxHeight = this.maxHeight - getTickMarkLength(options.grid) + - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font); + maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight); + labelRotation = toDegrees(Math.min( + Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), + Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1)) + )); + labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation)); + } + this.labelRotation = labelRotation; + } + afterCalculateLabelRotation() { + callback(this.options.afterCalculateLabelRotation, [this]); + } + afterAutoSkip() {} + beforeFit() { + callback(this.options.beforeFit, [this]); + } + fit() { + const minSize = { + width: 0, + height: 0 + }; + const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this; + const display = this._isVisible(); + const isHorizontal = this.isHorizontal(); + if (display) { + const titleHeight = getTitleHeight(titleOpts, chart.options.font); + if (isHorizontal) { + minSize.width = this.maxWidth; + minSize.height = getTickMarkLength(gridOpts) + titleHeight; + } else { + minSize.height = this.maxHeight; + minSize.width = getTickMarkLength(gridOpts) + titleHeight; + } + if (tickOpts.display && this.ticks.length) { + const {first, last, widest, highest} = this._getLabelSizes(); + const tickPadding = tickOpts.padding * 2; + const angleRadians = toRadians(this.labelRotation); + const cos = Math.cos(angleRadians); + const sin = Math.sin(angleRadians); + if (isHorizontal) { + const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; + minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding); + } else { + const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height; + minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding); + } + this._calculatePadding(first, last, sin, cos); + } + } + this._handleMargins(); + if (isHorizontal) { + this.width = this._length = chart.width - this._margins.left - this._margins.right; + this.height = minSize.height; + } else { + this.width = minSize.width; + this.height = this._length = chart.height - this._margins.top - this._margins.bottom; + } + } + _calculatePadding(first, last, sin, cos) { + const {ticks: {align, padding}, position} = this.options; + const isRotated = this.labelRotation !== 0; + const labelsBelowTicks = position !== 'top' && this.axis === 'x'; + if (this.isHorizontal()) { + const offsetLeft = this.getPixelForTick(0) - this.left; + const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1); + let paddingLeft = 0; + let paddingRight = 0; + if (isRotated) { + if (labelsBelowTicks) { + paddingLeft = cos * first.width; + paddingRight = sin * last.height; + } else { + paddingLeft = sin * first.height; + paddingRight = cos * last.width; + } + } else if (align === 'start') { + paddingRight = last.width; + } else if (align === 'end') { + paddingLeft = first.width; + } else if (align !== 'inner') { + paddingLeft = first.width / 2; + paddingRight = last.width / 2; + } + this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0); + this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0); + } else { + let paddingTop = last.height / 2; + let paddingBottom = first.height / 2; + if (align === 'start') { + paddingTop = 0; + paddingBottom = first.height; + } else if (align === 'end') { + paddingTop = last.height; + paddingBottom = 0; + } + this.paddingTop = paddingTop + padding; + this.paddingBottom = paddingBottom + padding; + } + } + _handleMargins() { + if (this._margins) { + this._margins.left = Math.max(this.paddingLeft, this._margins.left); + this._margins.top = Math.max(this.paddingTop, this._margins.top); + this._margins.right = Math.max(this.paddingRight, this._margins.right); + this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom); + } + } + afterFit() { + callback(this.options.afterFit, [this]); + } + isHorizontal() { + const {axis, position} = this.options; + return position === 'top' || position === 'bottom' || axis === 'x'; + } + isFullSize() { + return this.options.fullSize; + } + _convertTicksToLabels(ticks) { + this.beforeTickToLabelConversion(); + this.generateTickLabels(ticks); + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (isNullOrUndef(ticks[i].label)) { + ticks.splice(i, 1); + ilen--; + i--; + } + } + this.afterTickToLabelConversion(); + } + _getLabelSizes() { + let labelSizes = this._labelSizes; + if (!labelSizes) { + const sampleSize = this.options.ticks.sampleSize; + let ticks = this.ticks; + if (sampleSize < ticks.length) { + ticks = sample(ticks, sampleSize); + } + this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length); + } + return labelSizes; + } + _computeLabelSizes(ticks, length) { + const {ctx, _longestTextCache: caches} = this; + const widths = []; + const heights = []; + let widestLabelSize = 0; + let highestLabelSize = 0; + let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel; + for (i = 0; i < length; ++i) { + label = ticks[i].label; + tickFont = this._resolveTickFontOptions(i); + ctx.font = fontString = tickFont.string; + cache = caches[fontString] = caches[fontString] || {data: {}, gc: []}; + lineHeight = tickFont.lineHeight; + width = height = 0; + if (!isNullOrUndef(label) && !isArray(label)) { + width = _measureText(ctx, cache.data, cache.gc, width, label); + height = lineHeight; + } else if (isArray(label)) { + for (j = 0, jlen = label.length; j < jlen; ++j) { + nestedLabel = label[j]; + if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) { + width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel); + height += lineHeight; + } + } + } + widths.push(width); + heights.push(height); + widestLabelSize = Math.max(width, widestLabelSize); + highestLabelSize = Math.max(height, highestLabelSize); + } + garbageCollect(caches, length); + const widest = widths.indexOf(widestLabelSize); + const highest = heights.indexOf(highestLabelSize); + const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0}); + return { + first: valueAt(0), + last: valueAt(length - 1), + widest: valueAt(widest), + highest: valueAt(highest), + widths, + heights, + }; + } + getLabelForValue(value) { + return value; + } + getPixelForValue(value, index) { + return NaN; + } + getValueForPixel(pixel) {} + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getPixelForDecimal(decimal) { + if (this._reversePixels) { + decimal = 1 - decimal; + } + const pixel = this._startPixel + decimal * this._length; + return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel); + } + getDecimalForPixel(pixel) { + const decimal = (pixel - this._startPixel) / this._length; + return this._reversePixels ? 1 - decimal : decimal; + } + getBasePixel() { + return this.getPixelForValue(this.getBaseValue()); + } + getBaseValue() { + const {min, max} = this; + return min < 0 && max < 0 ? max : + min > 0 && max > 0 ? min : + 0; + } + getContext(index) { + const ticks = this.ticks || []; + if (index >= 0 && index < ticks.length) { + const tick = ticks[index]; + return tick.$context || + (tick.$context = createTickContext(this.getContext(), index, tick)); + } + return this.$context || + (this.$context = createScaleContext(this.chart.getContext(), this)); + } + _tickSize() { + const optionTicks = this.options.ticks; + const rot = toRadians(this.labelRotation); + const cos = Math.abs(Math.cos(rot)); + const sin = Math.abs(Math.sin(rot)); + const labelSizes = this._getLabelSizes(); + const padding = optionTicks.autoSkipPadding || 0; + const w = labelSizes ? labelSizes.widest.width + padding : 0; + const h = labelSizes ? labelSizes.highest.height + padding : 0; + return this.isHorizontal() + ? h * cos > w * sin ? w / cos : h / sin + : h * sin < w * cos ? h / cos : w / sin; + } + _isVisible() { + const display = this.options.display; + if (display !== 'auto') { + return !!display; + } + return this.getMatchingVisibleMetas().length > 0; + } + _computeGridLineItems(chartArea) { + const axis = this.axis; + const chart = this.chart; + const options = this.options; + const {grid, position} = options; + const offset = grid.offset; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const ticksLength = ticks.length + (offset ? 1 : 0); + const tl = getTickMarkLength(grid); + const items = []; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0; + const axisHalfWidth = axisWidth / 2; + const alignBorderValue = function(pixel) { + return _alignPixel(chart, pixel, axisWidth); + }; + let borderValue, i, lineValue, alignedLineValue; + let tx1, ty1, tx2, ty2, x1, y1, x2, y2; + if (position === 'top') { + borderValue = alignBorderValue(this.bottom); + ty1 = this.bottom - tl; + ty2 = borderValue - axisHalfWidth; + y1 = alignBorderValue(chartArea.top) + axisHalfWidth; + y2 = chartArea.bottom; + } else if (position === 'bottom') { + borderValue = alignBorderValue(this.top); + y1 = chartArea.top; + y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth; + ty1 = borderValue + axisHalfWidth; + ty2 = this.top + tl; + } else if (position === 'left') { + borderValue = alignBorderValue(this.right); + tx1 = this.right - tl; + tx2 = borderValue - axisHalfWidth; + x1 = alignBorderValue(chartArea.left) + axisHalfWidth; + x2 = chartArea.right; + } else if (position === 'right') { + borderValue = alignBorderValue(this.left); + x1 = chartArea.left; + x2 = alignBorderValue(chartArea.right) - axisHalfWidth; + tx1 = borderValue + axisHalfWidth; + tx2 = this.left + tl; + } else if (axis === 'x') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + y1 = chartArea.top; + y2 = chartArea.bottom; + ty1 = borderValue + axisHalfWidth; + ty2 = ty1 + tl; + } else if (axis === 'y') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + tx1 = borderValue - axisHalfWidth; + tx2 = tx1 - tl; + x1 = chartArea.left; + x2 = chartArea.right; + } + const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); + const step = Math.max(1, Math.ceil(ticksLength / limit)); + for (i = 0; i < ticksLength; i += step) { + const optsAtIndex = grid.setContext(this.getContext(i)); + const lineWidth = optsAtIndex.lineWidth; + const lineColor = optsAtIndex.color; + const borderDash = optsAtIndex.borderDash || []; + const borderDashOffset = optsAtIndex.borderDashOffset; + const tickWidth = optsAtIndex.tickWidth; + const tickColor = optsAtIndex.tickColor; + const tickBorderDash = optsAtIndex.tickBorderDash || []; + const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset; + lineValue = getPixelForGridLine(this, i, offset); + if (lineValue === undefined) { + continue; + } + alignedLineValue = _alignPixel(chart, lineValue, lineWidth); + if (isHorizontal) { + tx1 = tx2 = x1 = x2 = alignedLineValue; + } else { + ty1 = ty2 = y1 = y2 = alignedLineValue; + } + items.push({ + tx1, + ty1, + tx2, + ty2, + x1, + y1, + x2, + y2, + width: lineWidth, + color: lineColor, + borderDash, + borderDashOffset, + tickWidth, + tickColor, + tickBorderDash, + tickBorderDashOffset, + }); + } + this._ticksLength = ticksLength; + this._borderValue = borderValue; + return items; + } + _computeLabelItems(chartArea) { + const axis = this.axis; + const options = this.options; + const {position, ticks: optionTicks} = options; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const {align, crossAlign, padding, mirror} = optionTicks; + const tl = getTickMarkLength(options.grid); + const tickAndPadding = tl + padding; + const hTickAndPadding = mirror ? -padding : tickAndPadding; + const rotation = -toRadians(this.labelRotation); + const items = []; + let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; + let textBaseline = 'middle'; + if (position === 'top') { + y = this.bottom - hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'bottom') { + y = this.top + hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'left') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (position === 'right') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (axis === 'x') { + if (position === 'center') { + y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding; + } + textAlign = this._getXAxisLabelAlignment(); + } else if (axis === 'y') { + if (position === 'center') { + x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + x = this.chart.scales[positionAxisID].getPixelForValue(value); + } + textAlign = this._getYAxisLabelAlignment(tl).textAlign; + } + if (axis === 'y') { + if (align === 'start') { + textBaseline = 'top'; + } else if (align === 'end') { + textBaseline = 'bottom'; + } + } + const labelSizes = this._getLabelSizes(); + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + label = tick.label; + const optsAtIndex = optionTicks.setContext(this.getContext(i)); + pixel = this.getPixelForTick(i) + optionTicks.labelOffset; + font = this._resolveTickFontOptions(i); + lineHeight = font.lineHeight; + lineCount = isArray(label) ? label.length : 1; + const halfCount = lineCount / 2; + const color = optsAtIndex.color; + const strokeColor = optsAtIndex.textStrokeColor; + const strokeWidth = optsAtIndex.textStrokeWidth; + let tickTextAlign = textAlign; + if (isHorizontal) { + x = pixel; + if (textAlign === 'inner') { + if (i === ilen - 1) { + tickTextAlign = !this.options.reverse ? 'right' : 'left'; + } else if (i === 0) { + tickTextAlign = !this.options.reverse ? 'left' : 'right'; + } else { + tickTextAlign = 'center'; + } + } + if (position === 'top') { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = -lineCount * lineHeight + lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight; + } else { + textOffset = -labelSizes.highest.height + lineHeight / 2; + } + } else { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight; + } else { + textOffset = labelSizes.highest.height - lineCount * lineHeight; + } + } + if (mirror) { + textOffset *= -1; + } + } else { + y = pixel; + textOffset = (1 - lineCount) * lineHeight / 2; + } + let backdrop; + if (optsAtIndex.showLabelBackdrop) { + const labelPadding = toPadding(optsAtIndex.backdropPadding); + const height = labelSizes.heights[i]; + const width = labelSizes.widths[i]; + let top = y + textOffset - labelPadding.top; + let left = x - labelPadding.left; + switch (textBaseline) { + case 'middle': + top -= height / 2; + break; + case 'bottom': + top -= height; + break; + } + switch (textAlign) { + case 'center': + left -= width / 2; + break; + case 'right': + left -= width; + break; + } + backdrop = { + left, + top, + width: width + labelPadding.width, + height: height + labelPadding.height, + color: optsAtIndex.backdropColor, + }; + } + items.push({ + rotation, + label, + font, + color, + strokeColor, + strokeWidth, + textOffset, + textAlign: tickTextAlign, + textBaseline, + translation: [x, y], + backdrop, + }); + } + return items; + } + _getXAxisLabelAlignment() { + const {position, ticks} = this.options; + const rotation = -toRadians(this.labelRotation); + if (rotation) { + return position === 'top' ? 'left' : 'right'; + } + let align = 'center'; + if (ticks.align === 'start') { + align = 'left'; + } else if (ticks.align === 'end') { + align = 'right'; + } else if (ticks.align === 'inner') { + align = 'inner'; + } + return align; + } + _getYAxisLabelAlignment(tl) { + const {position, ticks: {crossAlign, mirror, padding}} = this.options; + const labelSizes = this._getLabelSizes(); + const tickAndPadding = tl + padding; + const widest = labelSizes.widest.width; + let textAlign; + let x; + if (position === 'left') { + if (mirror) { + x = this.right + padding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += (widest / 2); + } else { + textAlign = 'right'; + x += widest; + } + } else { + x = this.right - tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x = this.left; + } + } + } else if (position === 'right') { + if (mirror) { + x = this.left + padding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x -= widest; + } + } else { + x = this.left + tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += widest / 2; + } else { + textAlign = 'right'; + x = this.right; + } + } + } else { + textAlign = 'right'; + } + return {textAlign, x}; + } + _computeLabelArea() { + if (this.options.ticks.mirror) { + return; + } + const chart = this.chart; + const position = this.options.position; + if (position === 'left' || position === 'right') { + return {top: 0, left: this.left, bottom: chart.height, right: this.right}; + } if (position === 'top' || position === 'bottom') { + return {top: this.top, left: 0, bottom: this.bottom, right: chart.width}; + } + } + drawBackground() { + const {ctx, options: {backgroundColor}, left, top, width, height} = this; + if (backgroundColor) { + ctx.save(); + ctx.fillStyle = backgroundColor; + ctx.fillRect(left, top, width, height); + ctx.restore(); + } + } + getLineWidthForValue(value) { + const grid = this.options.grid; + if (!this._isVisible() || !grid.display) { + return 0; + } + const ticks = this.ticks; + const index = ticks.findIndex(t => t.value === value); + if (index >= 0) { + const opts = grid.setContext(this.getContext(index)); + return opts.lineWidth; + } + return 0; + } + drawGrid(chartArea) { + const grid = this.options.grid; + const ctx = this.ctx; + const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea)); + let i, ilen; + const drawLine = (p1, p2, style) => { + if (!style.width || !style.color) { + return; + } + ctx.save(); + ctx.lineWidth = style.width; + ctx.strokeStyle = style.color; + ctx.setLineDash(style.borderDash || []); + ctx.lineDashOffset = style.borderDashOffset; + ctx.beginPath(); + ctx.moveTo(p1.x, p1.y); + ctx.lineTo(p2.x, p2.y); + ctx.stroke(); + ctx.restore(); + }; + if (grid.display) { + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + if (grid.drawOnChartArea) { + drawLine( + {x: item.x1, y: item.y1}, + {x: item.x2, y: item.y2}, + item + ); + } + if (grid.drawTicks) { + drawLine( + {x: item.tx1, y: item.ty1}, + {x: item.tx2, y: item.ty2}, + { + color: item.tickColor, + width: item.tickWidth, + borderDash: item.tickBorderDash, + borderDashOffset: item.tickBorderDashOffset + } + ); + } + } + } + } + drawBorder() { + const {chart, ctx, options: {grid}} = this; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0; + if (!axisWidth) { + return; + } + const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth; + const borderValue = this._borderValue; + let x1, x2, y1, y2; + if (this.isHorizontal()) { + x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2; + x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2; + y1 = y2 = borderValue; + } else { + y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2; + y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2; + x1 = x2 = borderValue; + } + ctx.save(); + ctx.lineWidth = borderOpts.borderWidth; + ctx.strokeStyle = borderOpts.borderColor; + ctx.beginPath(); + ctx.moveTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.stroke(); + ctx.restore(); + } + drawLabels(chartArea) { + const optionTicks = this.options.ticks; + if (!optionTicks.display) { + return; + } + const ctx = this.ctx; + const area = this._computeLabelArea(); + if (area) { + clipArea(ctx, area); + } + const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea)); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + const tickFont = item.font; + const label = item.label; + if (item.backdrop) { + ctx.fillStyle = item.backdrop.color; + ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height); + } + let y = item.textOffset; + renderText(ctx, label, 0, y, tickFont, item); + } + if (area) { + unclipArea(ctx); + } + } + drawTitle() { + const {ctx, options: {position, title, reverse}} = this; + if (!title.display) { + return; + } + const font = toFont(title.font); + const padding = toPadding(title.padding); + const align = title.align; + let offset = font.lineHeight / 2; + if (position === 'bottom' || position === 'center' || isObject(position)) { + offset += padding.bottom; + if (isArray(title.text)) { + offset += font.lineHeight * (title.text.length - 1); + } + } else { + offset += padding.top; + } + const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align); + renderText(ctx, title.text, 0, 0, font, { + color: title.color, + maxWidth, + rotation, + textAlign: titleAlign(align, position, reverse), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } + draw(chartArea) { + if (!this._isVisible()) { + return; + } + this.drawBackground(); + this.drawGrid(chartArea); + this.drawBorder(); + this.drawTitle(); + this.drawLabels(chartArea); + } + _layers() { + const opts = this.options; + const tz = opts.ticks && opts.ticks.z || 0; + const gz = valueOrDefault(opts.grid && opts.grid.z, -1); + if (!this._isVisible() || this.draw !== Scale.prototype.draw) { + return [{ + z: tz, + draw: (chartArea) => { + this.draw(chartArea); + } + }]; + } + return [{ + z: gz, + draw: (chartArea) => { + this.drawBackground(); + this.drawGrid(chartArea); + this.drawTitle(); + } + }, { + z: gz + 1, + draw: () => { + this.drawBorder(); + } + }, { + z: tz, + draw: (chartArea) => { + this.drawLabels(chartArea); + } + }]; + } + getMatchingVisibleMetas(type) { + const metas = this.chart.getSortedVisibleDatasetMetas(); + const axisID = this.axis + 'AxisID'; + const result = []; + let i, ilen; + for (i = 0, ilen = metas.length; i < ilen; ++i) { + const meta = metas[i]; + if (meta[axisID] === this.id && (!type || meta.type === type)) { + result.push(meta); + } + } + return result; + } + _resolveTickFontOptions(index) { + const opts = this.options.ticks.setContext(this.getContext(index)); + return toFont(opts.font); + } + _maxDigits() { + const fontSize = this._resolveTickFontOptions(0).lineHeight; + return (this.isHorizontal() ? this.width : this.height) / fontSize; + } +} + +class TypedRegistry { + constructor(type, scope, override) { + this.type = type; + this.scope = scope; + this.override = override; + this.items = Object.create(null); + } + isForType(type) { + return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); + } + register(item) { + const proto = Object.getPrototypeOf(item); + let parentScope; + if (isIChartComponent(proto)) { + parentScope = this.register(proto); + } + const items = this.items; + const id = item.id; + const scope = this.scope + '.' + id; + if (!id) { + throw new Error('class does not have id: ' + item); + } + if (id in items) { + return scope; + } + items[id] = item; + registerDefaults(item, scope, parentScope); + if (this.override) { + defaults.override(item.id, item.overrides); + } + return scope; + } + get(id) { + return this.items[id]; + } + unregister(item) { + const items = this.items; + const id = item.id; + const scope = this.scope; + if (id in items) { + delete items[id]; + } + if (scope && id in defaults[scope]) { + delete defaults[scope][id]; + if (this.override) { + delete overrides[id]; + } + } + } +} +function registerDefaults(item, scope, parentScope) { + const itemDefaults = merge(Object.create(null), [ + parentScope ? defaults.get(parentScope) : {}, + defaults.get(scope), + item.defaults + ]); + defaults.set(scope, itemDefaults); + if (item.defaultRoutes) { + routeDefaults(scope, item.defaultRoutes); + } + if (item.descriptors) { + defaults.describe(scope, item.descriptors); + } +} +function routeDefaults(scope, routes) { + Object.keys(routes).forEach(property => { + const propertyParts = property.split('.'); + const sourceName = propertyParts.pop(); + const sourceScope = [scope].concat(propertyParts).join('.'); + const parts = routes[property].split('.'); + const targetName = parts.pop(); + const targetScope = parts.join('.'); + defaults.route(sourceScope, sourceName, targetScope, targetName); + }); +} +function isIChartComponent(proto) { + return 'id' in proto && 'defaults' in proto; +} + +class Registry { + constructor() { + this.controllers = new TypedRegistry(DatasetController, 'datasets', true); + this.elements = new TypedRegistry(Element, 'elements'); + this.plugins = new TypedRegistry(Object, 'plugins'); + this.scales = new TypedRegistry(Scale, 'scales'); + this._typedRegistries = [this.controllers, this.scales, this.elements]; + } + add(...args) { + this._each('register', args); + } + remove(...args) { + this._each('unregister', args); + } + addControllers(...args) { + this._each('register', args, this.controllers); + } + addElements(...args) { + this._each('register', args, this.elements); + } + addPlugins(...args) { + this._each('register', args, this.plugins); + } + addScales(...args) { + this._each('register', args, this.scales); + } + getController(id) { + return this._get(id, this.controllers, 'controller'); + } + getElement(id) { + return this._get(id, this.elements, 'element'); + } + getPlugin(id) { + return this._get(id, this.plugins, 'plugin'); + } + getScale(id) { + return this._get(id, this.scales, 'scale'); + } + removeControllers(...args) { + this._each('unregister', args, this.controllers); + } + removeElements(...args) { + this._each('unregister', args, this.elements); + } + removePlugins(...args) { + this._each('unregister', args, this.plugins); + } + removeScales(...args) { + this._each('unregister', args, this.scales); + } + _each(method, args, typedRegistry) { + [...args].forEach(arg => { + const reg = typedRegistry || this._getRegistryForType(arg); + if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) { + this._exec(method, reg, arg); + } else { + each(arg, item => { + const itemReg = typedRegistry || this._getRegistryForType(item); + this._exec(method, itemReg, item); + }); + } + }); + } + _exec(method, registry, component) { + const camelMethod = _capitalize(method); + callback(component['before' + camelMethod], [], component); + registry[method](component); + callback(component['after' + camelMethod], [], component); + } + _getRegistryForType(type) { + for (let i = 0; i < this._typedRegistries.length; i++) { + const reg = this._typedRegistries[i]; + if (reg.isForType(type)) { + return reg; + } + } + return this.plugins; + } + _get(id, typedRegistry, type) { + const item = typedRegistry.get(id); + if (item === undefined) { + throw new Error('"' + id + '" is not a registered ' + type + '.'); + } + return item; + } +} +var registry = new Registry(); + +class PluginService { + constructor() { + this._init = []; + } + notify(chart, hook, args, filter) { + if (hook === 'beforeInit') { + this._init = this._createDescriptors(chart, true); + this._notify(this._init, chart, 'install'); + } + const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart); + const result = this._notify(descriptors, chart, hook, args); + if (hook === 'afterDestroy') { + this._notify(descriptors, chart, 'stop'); + this._notify(this._init, chart, 'uninstall'); + } + return result; + } + _notify(descriptors, chart, hook, args) { + args = args || {}; + for (const descriptor of descriptors) { + const plugin = descriptor.plugin; + const method = plugin[hook]; + const params = [chart, args, descriptor.options]; + if (callback(method, params, plugin) === false && args.cancelable) { + return false; + } + } + return true; + } + invalidate() { + if (!isNullOrUndef(this._cache)) { + this._oldCache = this._cache; + this._cache = undefined; + } + } + _descriptors(chart) { + if (this._cache) { + return this._cache; + } + const descriptors = this._cache = this._createDescriptors(chart); + this._notifyStateChanges(chart); + return descriptors; + } + _createDescriptors(chart, all) { + const config = chart && chart.config; + const options = valueOrDefault(config.options && config.options.plugins, {}); + const plugins = allPlugins(config); + return options === false && !all ? [] : createDescriptors(chart, plugins, options, all); + } + _notifyStateChanges(chart) { + const previousDescriptors = this._oldCache || []; + const descriptors = this._cache; + const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id)); + this._notify(diff(previousDescriptors, descriptors), chart, 'stop'); + this._notify(diff(descriptors, previousDescriptors), chart, 'start'); + } +} +function allPlugins(config) { + const localIds = {}; + const plugins = []; + const keys = Object.keys(registry.plugins.items); + for (let i = 0; i < keys.length; i++) { + plugins.push(registry.getPlugin(keys[i])); + } + const local = config.plugins || []; + for (let i = 0; i < local.length; i++) { + const plugin = local[i]; + if (plugins.indexOf(plugin) === -1) { + plugins.push(plugin); + localIds[plugin.id] = true; + } + } + return {plugins, localIds}; +} +function getOpts(options, all) { + if (!all && options === false) { + return null; + } + if (options === true) { + return {}; + } + return options; +} +function createDescriptors(chart, {plugins, localIds}, options, all) { + const result = []; + const context = chart.getContext(); + for (const plugin of plugins) { + const id = plugin.id; + const opts = getOpts(options[id], all); + if (opts === null) { + continue; + } + result.push({ + plugin, + options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context) + }); + } + return result; +} +function pluginOpts(config, {plugin, local}, opts, context) { + const keys = config.pluginScopeKeys(plugin); + const scopes = config.getOptionScopes(opts, keys); + if (local && plugin.defaults) { + scopes.push(plugin.defaults); + } + return config.createResolver(scopes, context, [''], { + scriptable: false, + indexable: false, + allKeys: true + }); +} + +function getIndexAxis(type, options) { + const datasetDefaults = defaults.datasets[type] || {}; + const datasetOptions = (options.datasets || {})[type] || {}; + return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x'; +} +function getAxisFromDefaultScaleID(id, indexAxis) { + let axis = id; + if (id === '_index_') { + axis = indexAxis; + } else if (id === '_value_') { + axis = indexAxis === 'x' ? 'y' : 'x'; + } + return axis; +} +function getDefaultScaleIDFromAxis(axis, indexAxis) { + return axis === indexAxis ? '_index_' : '_value_'; +} +function axisFromPosition(position) { + if (position === 'top' || position === 'bottom') { + return 'x'; + } + if (position === 'left' || position === 'right') { + return 'y'; + } +} +function determineAxis(id, scaleOptions) { + if (id === 'x' || id === 'y') { + return id; + } + return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase(); +} +function mergeScaleConfig(config, options) { + const chartDefaults = overrides[config.type] || {scales: {}}; + const configScales = options.scales || {}; + const chartIndexAxis = getIndexAxis(config.type, options); + const firstIDs = Object.create(null); + const scales = Object.create(null); + Object.keys(configScales).forEach(id => { + const scaleConf = configScales[id]; + if (!isObject(scaleConf)) { + return console.error(`Invalid scale configuration for scale: ${id}`); + } + if (scaleConf._proxy) { + return console.warn(`Ignoring resolver passed as options for scale: ${id}`); + } + const axis = determineAxis(id, scaleConf); + const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); + const defaultScaleOptions = chartDefaults.scales || {}; + firstIDs[axis] = firstIDs[axis] || id; + scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]); + }); + config.data.datasets.forEach(dataset => { + const type = dataset.type || config.type; + const indexAxis = dataset.indexAxis || getIndexAxis(type, options); + const datasetDefaults = overrides[type] || {}; + const defaultScaleOptions = datasetDefaults.scales || {}; + Object.keys(defaultScaleOptions).forEach(defaultID => { + const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); + const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis; + scales[id] = scales[id] || Object.create(null); + mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]); + }); + }); + Object.keys(scales).forEach(key => { + const scale = scales[key]; + mergeIf(scale, [defaults.scales[scale.type], defaults.scale]); + }); + return scales; +} +function initOptions(config) { + const options = config.options || (config.options = {}); + options.plugins = valueOrDefault(options.plugins, {}); + options.scales = mergeScaleConfig(config, options); +} +function initData(data) { + data = data || {}; + data.datasets = data.datasets || []; + data.labels = data.labels || []; + return data; +} +function initConfig(config) { + config = config || {}; + config.data = initData(config.data); + initOptions(config); + return config; +} +const keyCache = new Map(); +const keysCached = new Set(); +function cachedKeys(cacheKey, generate) { + let keys = keyCache.get(cacheKey); + if (!keys) { + keys = generate(); + keyCache.set(cacheKey, keys); + keysCached.add(keys); + } + return keys; +} +const addIfFound = (set, obj, key) => { + const opts = resolveObjectKey(obj, key); + if (opts !== undefined) { + set.add(opts); + } +}; +class Config { + constructor(config) { + this._config = initConfig(config); + this._scopeCache = new Map(); + this._resolverCache = new Map(); + } + get platform() { + return this._config.platform; + } + get type() { + return this._config.type; + } + set type(type) { + this._config.type = type; + } + get data() { + return this._config.data; + } + set data(data) { + this._config.data = initData(data); + } + get options() { + return this._config.options; + } + set options(options) { + this._config.options = options; + } + get plugins() { + return this._config.plugins; + } + update() { + const config = this._config; + this.clearCache(); + initOptions(config); + } + clearCache() { + this._scopeCache.clear(); + this._resolverCache.clear(); + } + datasetScopeKeys(datasetType) { + return cachedKeys(datasetType, + () => [[ + `datasets.${datasetType}`, + '' + ]]); + } + datasetAnimationScopeKeys(datasetType, transition) { + return cachedKeys(`${datasetType}.transition.${transition}`, + () => [ + [ + `datasets.${datasetType}.transitions.${transition}`, + `transitions.${transition}`, + ], + [ + `datasets.${datasetType}`, + '' + ] + ]); + } + datasetElementScopeKeys(datasetType, elementType) { + return cachedKeys(`${datasetType}-${elementType}`, + () => [[ + `datasets.${datasetType}.elements.${elementType}`, + `datasets.${datasetType}`, + `elements.${elementType}`, + '' + ]]); + } + pluginScopeKeys(plugin) { + const id = plugin.id; + const type = this.type; + return cachedKeys(`${type}-plugin-${id}`, + () => [[ + `plugins.${id}`, + ...plugin.additionalOptionScopes || [], + ]]); + } + _cachedScopes(mainScope, resetCache) { + const _scopeCache = this._scopeCache; + let cache = _scopeCache.get(mainScope); + if (!cache || resetCache) { + cache = new Map(); + _scopeCache.set(mainScope, cache); + } + return cache; + } + getOptionScopes(mainScope, keyLists, resetCache) { + const {options, type} = this; + const cache = this._cachedScopes(mainScope, resetCache); + const cached = cache.get(keyLists); + if (cached) { + return cached; + } + const scopes = new Set(); + keyLists.forEach(keys => { + if (mainScope) { + scopes.add(mainScope); + keys.forEach(key => addIfFound(scopes, mainScope, key)); + } + keys.forEach(key => addIfFound(scopes, options, key)); + keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key)); + keys.forEach(key => addIfFound(scopes, defaults, key)); + keys.forEach(key => addIfFound(scopes, descriptors, key)); + }); + const array = Array.from(scopes); + if (array.length === 0) { + array.push(Object.create(null)); + } + if (keysCached.has(keyLists)) { + cache.set(keyLists, array); + } + return array; + } + chartOptionScopes() { + const {options, type} = this; + return [ + options, + overrides[type] || {}, + defaults.datasets[type] || {}, + {type}, + defaults, + descriptors + ]; + } + resolveNamedOptions(scopes, names, context, prefixes = ['']) { + const result = {$shared: true}; + const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes); + let options = resolver; + if (needContext(resolver, names)) { + result.$shared = false; + context = isFunction(context) ? context() : context; + const subResolver = this.createResolver(scopes, context, subPrefixes); + options = _attachContext(resolver, context, subResolver); + } + for (const prop of names) { + result[prop] = options[prop]; + } + return result; + } + createResolver(scopes, context, prefixes = [''], descriptorDefaults) { + const {resolver} = getResolver(this._resolverCache, scopes, prefixes); + return isObject(context) + ? _attachContext(resolver, context, undefined, descriptorDefaults) + : resolver; + } +} +function getResolver(resolverCache, scopes, prefixes) { + let cache = resolverCache.get(scopes); + if (!cache) { + cache = new Map(); + resolverCache.set(scopes, cache); + } + const cacheKey = prefixes.join(); + let cached = cache.get(cacheKey); + if (!cached) { + const resolver = _createResolver(scopes, prefixes); + cached = { + resolver, + subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover')) + }; + cache.set(cacheKey, cached); + } + return cached; +} +const hasFunction = value => isObject(value) + && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false); +function needContext(proxy, names) { + const {isScriptable, isIndexable} = _descriptors(proxy); + for (const prop of names) { + const scriptable = isScriptable(prop); + const indexable = isIndexable(prop); + const value = (indexable || scriptable) && proxy[prop]; + if ((scriptable && (isFunction(value) || hasFunction(value))) + || (indexable && isArray(value))) { + return true; + } + } + return false; +} + +var version = "3.9.1"; + +const KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea']; +function positionIsHorizontal(position, axis) { + return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x'); +} +function compare2Level(l1, l2) { + return function(a, b) { + return a[l1] === b[l1] + ? a[l2] - b[l2] + : a[l1] - b[l1]; + }; +} +function onAnimationsComplete(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + chart.notifyPlugins('afterRender'); + callback(animationOptions && animationOptions.onComplete, [context], chart); +} +function onAnimationProgress(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + callback(animationOptions && animationOptions.onProgress, [context], chart); +} +function getCanvas(item) { + if (_isDomSupported() && typeof item === 'string') { + item = document.getElementById(item); + } else if (item && item.length) { + item = item[0]; + } + if (item && item.canvas) { + item = item.canvas; + } + return item; +} +const instances = {}; +const getChart = (key) => { + const canvas = getCanvas(key); + return Object.values(instances).filter((c) => c.canvas === canvas).pop(); +}; +function moveNumericKeys(obj, start, move) { + const keys = Object.keys(obj); + for (const key of keys) { + const intKey = +key; + if (intKey >= start) { + const value = obj[key]; + delete obj[key]; + if (move > 0 || intKey > start) { + obj[intKey + move] = value; + } + } + } +} +function determineLastEvent(e, lastEvent, inChartArea, isClick) { + if (!inChartArea || e.type === 'mouseout') { + return null; + } + if (isClick) { + return lastEvent; + } + return e; +} +class Chart { + constructor(item, userConfig) { + const config = this.config = new Config(userConfig); + const initialCanvas = getCanvas(item); + const existingChart = getChart(initialCanvas); + if (existingChart) { + throw new Error( + 'Canvas is already in use. Chart with ID \'' + existingChart.id + '\'' + + ' must be destroyed before the canvas with ID \'' + existingChart.canvas.id + '\' can be reused.' + ); + } + const options = config.createResolver(config.chartOptionScopes(), this.getContext()); + this.platform = new (config.platform || _detectPlatform(initialCanvas))(); + this.platform.updateConfig(config); + const context = this.platform.acquireContext(initialCanvas, options.aspectRatio); + const canvas = context && context.canvas; + const height = canvas && canvas.height; + const width = canvas && canvas.width; + this.id = uid(); + this.ctx = context; + this.canvas = canvas; + this.width = width; + this.height = height; + this._options = options; + this._aspectRatio = this.aspectRatio; + this._layers = []; + this._metasets = []; + this._stacks = undefined; + this.boxes = []; + this.currentDevicePixelRatio = undefined; + this.chartArea = undefined; + this._active = []; + this._lastEvent = undefined; + this._listeners = {}; + this._responsiveListeners = undefined; + this._sortedMetasets = []; + this.scales = {}; + this._plugins = new PluginService(); + this.$proxies = {}; + this._hiddenIndices = {}; + this.attached = false; + this._animationsDisabled = undefined; + this.$context = undefined; + this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0); + this._dataChanges = []; + instances[this.id] = this; + if (!context || !canvas) { + console.error("Failed to create chart: can't acquire context from the given item"); + return; + } + animator.listen(this, 'complete', onAnimationsComplete); + animator.listen(this, 'progress', onAnimationProgress); + this._initialize(); + if (this.attached) { + this.update(); + } + } + get aspectRatio() { + const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this; + if (!isNullOrUndef(aspectRatio)) { + return aspectRatio; + } + if (maintainAspectRatio && _aspectRatio) { + return _aspectRatio; + } + return height ? width / height : null; + } + get data() { + return this.config.data; + } + set data(data) { + this.config.data = data; + } + get options() { + return this._options; + } + set options(options) { + this.config.options = options; + } + _initialize() { + this.notifyPlugins('beforeInit'); + if (this.options.responsive) { + this.resize(); + } else { + retinaScale(this, this.options.devicePixelRatio); + } + this.bindEvents(); + this.notifyPlugins('afterInit'); + return this; + } + clear() { + clearCanvas(this.canvas, this.ctx); + return this; + } + stop() { + animator.stop(this); + return this; + } + resize(width, height) { + if (!animator.running(this)) { + this._resize(width, height); + } else { + this._resizeBeforeDraw = {width, height}; + } + } + _resize(width, height) { + const options = this.options; + const canvas = this.canvas; + const aspectRatio = options.maintainAspectRatio && this.aspectRatio; + const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio); + const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio(); + const mode = this.width ? 'resize' : 'attach'; + this.width = newSize.width; + this.height = newSize.height; + this._aspectRatio = this.aspectRatio; + if (!retinaScale(this, newRatio, true)) { + return; + } + this.notifyPlugins('resize', {size: newSize}); + callback(options.onResize, [this, newSize], this); + if (this.attached) { + if (this._doResize(mode)) { + this.render(); + } + } + } + ensureScalesHaveIDs() { + const options = this.options; + const scalesOptions = options.scales || {}; + each(scalesOptions, (axisOptions, axisID) => { + axisOptions.id = axisID; + }); + } + buildOrUpdateScales() { + const options = this.options; + const scaleOpts = options.scales; + const scales = this.scales; + const updated = Object.keys(scales).reduce((obj, id) => { + obj[id] = false; + return obj; + }, {}); + let items = []; + if (scaleOpts) { + items = items.concat( + Object.keys(scaleOpts).map((id) => { + const scaleOptions = scaleOpts[id]; + const axis = determineAxis(id, scaleOptions); + const isRadial = axis === 'r'; + const isHorizontal = axis === 'x'; + return { + options: scaleOptions, + dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left', + dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear' + }; + }) + ); + } + each(items, (item) => { + const scaleOptions = item.options; + const id = scaleOptions.id; + const axis = determineAxis(id, scaleOptions); + const scaleType = valueOrDefault(scaleOptions.type, item.dtype); + if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) { + scaleOptions.position = item.dposition; + } + updated[id] = true; + let scale = null; + if (id in scales && scales[id].type === scaleType) { + scale = scales[id]; + } else { + const scaleClass = registry.getScale(scaleType); + scale = new scaleClass({ + id, + type: scaleType, + ctx: this.ctx, + chart: this + }); + scales[scale.id] = scale; + } + scale.init(scaleOptions, options); + }); + each(updated, (hasUpdated, id) => { + if (!hasUpdated) { + delete scales[id]; + } + }); + each(scales, (scale) => { + layouts.configure(this, scale, scale.options); + layouts.addBox(this, scale); + }); + } + _updateMetasets() { + const metasets = this._metasets; + const numData = this.data.datasets.length; + const numMeta = metasets.length; + metasets.sort((a, b) => a.index - b.index); + if (numMeta > numData) { + for (let i = numData; i < numMeta; ++i) { + this._destroyDatasetMeta(i); + } + metasets.splice(numData, numMeta - numData); + } + this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index')); + } + _removeUnreferencedMetasets() { + const {_metasets: metasets, data: {datasets}} = this; + if (metasets.length > datasets.length) { + delete this._stacks; + } + metasets.forEach((meta, index) => { + if (datasets.filter(x => x === meta._dataset).length === 0) { + this._destroyDatasetMeta(index); + } + }); + } + buildOrUpdateControllers() { + const newControllers = []; + const datasets = this.data.datasets; + let i, ilen; + this._removeUnreferencedMetasets(); + for (i = 0, ilen = datasets.length; i < ilen; i++) { + const dataset = datasets[i]; + let meta = this.getDatasetMeta(i); + const type = dataset.type || this.config.type; + if (meta.type && meta.type !== type) { + this._destroyDatasetMeta(i); + meta = this.getDatasetMeta(i); + } + meta.type = type; + meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options); + meta.order = dataset.order || 0; + meta.index = i; + meta.label = '' + dataset.label; + meta.visible = this.isDatasetVisible(i); + if (meta.controller) { + meta.controller.updateIndex(i); + meta.controller.linkScales(); + } else { + const ControllerClass = registry.getController(type); + const {datasetElementType, dataElementType} = defaults.datasets[type]; + Object.assign(ControllerClass.prototype, { + dataElementType: registry.getElement(dataElementType), + datasetElementType: datasetElementType && registry.getElement(datasetElementType) + }); + meta.controller = new ControllerClass(this, i); + newControllers.push(meta.controller); + } + } + this._updateMetasets(); + return newControllers; + } + _resetElements() { + each(this.data.datasets, (dataset, datasetIndex) => { + this.getDatasetMeta(datasetIndex).controller.reset(); + }, this); + } + reset() { + this._resetElements(); + this.notifyPlugins('reset'); + } + update(mode) { + const config = this.config; + config.update(); + const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext()); + const animsDisabled = this._animationsDisabled = !options.animation; + this._updateScales(); + this._checkEventBindings(); + this._updateHiddenIndices(); + this._plugins.invalidate(); + if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) { + return; + } + const newControllers = this.buildOrUpdateControllers(); + this.notifyPlugins('beforeElementsUpdate'); + let minPadding = 0; + for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) { + const {controller} = this.getDatasetMeta(i); + const reset = !animsDisabled && newControllers.indexOf(controller) === -1; + controller.buildOrUpdateElements(reset); + minPadding = Math.max(+controller.getMaxOverflow(), minPadding); + } + minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0; + this._updateLayout(minPadding); + if (!animsDisabled) { + each(newControllers, (controller) => { + controller.reset(); + }); + } + this._updateDatasets(mode); + this.notifyPlugins('afterUpdate', {mode}); + this._layers.sort(compare2Level('z', '_idx')); + const {_active, _lastEvent} = this; + if (_lastEvent) { + this._eventHandler(_lastEvent, true); + } else if (_active.length) { + this._updateHoverStyles(_active, _active, true); + } + this.render(); + } + _updateScales() { + each(this.scales, (scale) => { + layouts.removeBox(this, scale); + }); + this.ensureScalesHaveIDs(); + this.buildOrUpdateScales(); + } + _checkEventBindings() { + const options = this.options; + const existingEvents = new Set(Object.keys(this._listeners)); + const newEvents = new Set(options.events); + if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) { + this.unbindEvents(); + this.bindEvents(); + } + } + _updateHiddenIndices() { + const {_hiddenIndices} = this; + const changes = this._getUniformDataChanges() || []; + for (const {method, start, count} of changes) { + const move = method === '_removeElements' ? -count : count; + moveNumericKeys(_hiddenIndices, start, move); + } + } + _getUniformDataChanges() { + const _dataChanges = this._dataChanges; + if (!_dataChanges || !_dataChanges.length) { + return; + } + this._dataChanges = []; + const datasetCount = this.data.datasets.length; + const makeSet = (idx) => new Set( + _dataChanges + .filter(c => c[0] === idx) + .map((c, i) => i + ',' + c.splice(1).join(',')) + ); + const changeSet = makeSet(0); + for (let i = 1; i < datasetCount; i++) { + if (!setsEqual(changeSet, makeSet(i))) { + return; + } + } + return Array.from(changeSet) + .map(c => c.split(',')) + .map(a => ({method: a[1], start: +a[2], count: +a[3]})); + } + _updateLayout(minPadding) { + if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) { + return; + } + layouts.update(this, this.width, this.height, minPadding); + const area = this.chartArea; + const noArea = area.width <= 0 || area.height <= 0; + this._layers = []; + each(this.boxes, (box) => { + if (noArea && box.position === 'chartArea') { + return; + } + if (box.configure) { + box.configure(); + } + this._layers.push(...box._layers()); + }, this); + this._layers.forEach((item, index) => { + item._idx = index; + }); + this.notifyPlugins('afterLayout'); + } + _updateDatasets(mode) { + if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) { + return; + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this.getDatasetMeta(i).controller.configure(); + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode); + } + this.notifyPlugins('afterDatasetsUpdate', {mode}); + } + _updateDataset(index, mode) { + const meta = this.getDatasetMeta(index); + const args = {meta, index, mode, cancelable: true}; + if (this.notifyPlugins('beforeDatasetUpdate', args) === false) { + return; + } + meta.controller._update(mode); + args.cancelable = false; + this.notifyPlugins('afterDatasetUpdate', args); + } + render() { + if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) { + return; + } + if (animator.has(this)) { + if (this.attached && !animator.running(this)) { + animator.start(this); + } + } else { + this.draw(); + onAnimationsComplete({chart: this}); + } + } + draw() { + let i; + if (this._resizeBeforeDraw) { + const {width, height} = this._resizeBeforeDraw; + this._resize(width, height); + this._resizeBeforeDraw = null; + } + this.clear(); + if (this.width <= 0 || this.height <= 0) { + return; + } + if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) { + return; + } + const layers = this._layers; + for (i = 0; i < layers.length && layers[i].z <= 0; ++i) { + layers[i].draw(this.chartArea); + } + this._drawDatasets(); + for (; i < layers.length; ++i) { + layers[i].draw(this.chartArea); + } + this.notifyPlugins('afterDraw'); + } + _getSortedDatasetMetas(filterVisible) { + const metasets = this._sortedMetasets; + const result = []; + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + const meta = metasets[i]; + if (!filterVisible || meta.visible) { + result.push(meta); + } + } + return result; + } + getSortedVisibleDatasetMetas() { + return this._getSortedDatasetMetas(true); + } + _drawDatasets() { + if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) { + return; + } + const metasets = this.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + this._drawDataset(metasets[i]); + } + this.notifyPlugins('afterDatasetsDraw'); + } + _drawDataset(meta) { + const ctx = this.ctx; + const clip = meta._clip; + const useClip = !clip.disabled; + const area = this.chartArea; + const args = { + meta, + index: meta.index, + cancelable: true + }; + if (this.notifyPlugins('beforeDatasetDraw', args) === false) { + return; + } + if (useClip) { + clipArea(ctx, { + left: clip.left === false ? 0 : area.left - clip.left, + right: clip.right === false ? this.width : area.right + clip.right, + top: clip.top === false ? 0 : area.top - clip.top, + bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom + }); + } + meta.controller.draw(); + if (useClip) { + unclipArea(ctx); + } + args.cancelable = false; + this.notifyPlugins('afterDatasetDraw', args); + } + isPointInArea(point) { + return _isPointInArea(point, this.chartArea, this._minPadding); + } + getElementsAtEventForMode(e, mode, options, useFinalPosition) { + const method = Interaction.modes[mode]; + if (typeof method === 'function') { + return method(this, e, options, useFinalPosition); + } + return []; + } + getDatasetMeta(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + const metasets = this._metasets; + let meta = metasets.filter(x => x && x._dataset === dataset).pop(); + if (!meta) { + meta = { + type: null, + data: [], + dataset: null, + controller: null, + hidden: null, + xAxisID: null, + yAxisID: null, + order: dataset && dataset.order || 0, + index: datasetIndex, + _dataset: dataset, + _parsed: [], + _sorted: false + }; + metasets.push(meta); + } + return meta; + } + getContext() { + return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'})); + } + getVisibleDatasetCount() { + return this.getSortedVisibleDatasetMetas().length; + } + isDatasetVisible(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + if (!dataset) { + return false; + } + const meta = this.getDatasetMeta(datasetIndex); + return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden; + } + setDatasetVisibility(datasetIndex, visible) { + const meta = this.getDatasetMeta(datasetIndex); + meta.hidden = !visible; + } + toggleDataVisibility(index) { + this._hiddenIndices[index] = !this._hiddenIndices[index]; + } + getDataVisibility(index) { + return !this._hiddenIndices[index]; + } + _updateVisibility(datasetIndex, dataIndex, visible) { + const mode = visible ? 'show' : 'hide'; + const meta = this.getDatasetMeta(datasetIndex); + const anims = meta.controller._resolveAnimations(undefined, mode); + if (defined(dataIndex)) { + meta.data[dataIndex].hidden = !visible; + this.update(); + } else { + this.setDatasetVisibility(datasetIndex, visible); + anims.update(meta, {visible}); + this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined); + } + } + hide(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, false); + } + show(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, true); + } + _destroyDatasetMeta(datasetIndex) { + const meta = this._metasets[datasetIndex]; + if (meta && meta.controller) { + meta.controller._destroy(); + } + delete this._metasets[datasetIndex]; + } + _stop() { + let i, ilen; + this.stop(); + animator.remove(this); + for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._destroyDatasetMeta(i); + } + } + destroy() { + this.notifyPlugins('beforeDestroy'); + const {canvas, ctx} = this; + this._stop(); + this.config.clearCache(); + if (canvas) { + this.unbindEvents(); + clearCanvas(canvas, ctx); + this.platform.releaseContext(ctx); + this.canvas = null; + this.ctx = null; + } + this.notifyPlugins('destroy'); + delete instances[this.id]; + this.notifyPlugins('afterDestroy'); + } + toBase64Image(...args) { + return this.canvas.toDataURL(...args); + } + bindEvents() { + this.bindUserEvents(); + if (this.options.responsive) { + this.bindResponsiveEvents(); + } else { + this.attached = true; + } + } + bindUserEvents() { + const listeners = this._listeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const listener = (e, x, y) => { + e.offsetX = x; + e.offsetY = y; + this._eventHandler(e); + }; + each(this.options.events, (type) => _add(type, listener)); + } + bindResponsiveEvents() { + if (!this._responsiveListeners) { + this._responsiveListeners = {}; + } + const listeners = this._responsiveListeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const _remove = (type, listener) => { + if (listeners[type]) { + platform.removeEventListener(this, type, listener); + delete listeners[type]; + } + }; + const listener = (width, height) => { + if (this.canvas) { + this.resize(width, height); + } + }; + let detached; + const attached = () => { + _remove('attach', attached); + this.attached = true; + this.resize(); + _add('resize', listener); + _add('detach', detached); + }; + detached = () => { + this.attached = false; + _remove('resize', listener); + this._stop(); + this._resize(0, 0); + _add('attach', attached); + }; + if (platform.isAttached(this.canvas)) { + attached(); + } else { + detached(); + } + } + unbindEvents() { + each(this._listeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._listeners = {}; + each(this._responsiveListeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._responsiveListeners = undefined; + } + updateHoverStyle(items, mode, enabled) { + const prefix = enabled ? 'set' : 'remove'; + let meta, item, i, ilen; + if (mode === 'dataset') { + meta = this.getDatasetMeta(items[0].datasetIndex); + meta.controller['_' + prefix + 'DatasetHoverStyle'](); + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + item = items[i]; + const controller = item && this.getDatasetMeta(item.datasetIndex).controller; + if (controller) { + controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index); + } + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements) { + const lastActive = this._active || []; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('No dataset found at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(active, lastActive); + if (changed) { + this._active = active; + this._lastEvent = null; + this._updateHoverStyles(active, lastActive); + } + } + notifyPlugins(hook, args, filter) { + return this._plugins.notify(this, hook, args, filter); + } + _updateHoverStyles(active, lastActive, replay) { + const hoverOptions = this.options.hover; + const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index)); + const deactivated = diff(lastActive, active); + const activated = replay ? active : diff(active, lastActive); + if (deactivated.length) { + this.updateHoverStyle(deactivated, hoverOptions.mode, false); + } + if (activated.length && hoverOptions.mode) { + this.updateHoverStyle(activated, hoverOptions.mode, true); + } + } + _eventHandler(e, replay) { + const args = { + event: e, + replay, + cancelable: true, + inChartArea: this.isPointInArea(e) + }; + const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type); + if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) { + return; + } + const changed = this._handleEvent(e, replay, args.inChartArea); + args.cancelable = false; + this.notifyPlugins('afterEvent', args, eventFilter); + if (changed || args.changed) { + this.render(); + } + return this; + } + _handleEvent(e, replay, inChartArea) { + const {_active: lastActive = [], options} = this; + const useFinalPosition = replay; + const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition); + const isClick = _isClickEvent(e); + const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); + if (inChartArea) { + this._lastEvent = null; + callback(options.onHover, [e, active, this], this); + if (isClick) { + callback(options.onClick, [e, active, this], this); + } + } + const changed = !_elementsEqual(active, lastActive); + if (changed || replay) { + this._active = active; + this._updateHoverStyles(active, lastActive, replay); + } + this._lastEvent = lastEvent; + return changed; + } + _getActiveElements(e, lastActive, inChartArea, useFinalPosition) { + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const hoverOptions = this.options.hover; + return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); + } +} +const invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate()); +const enumerable = true; +Object.defineProperties(Chart, { + defaults: { + enumerable, + value: defaults + }, + instances: { + enumerable, + value: instances + }, + overrides: { + enumerable, + value: overrides + }, + registry: { + enumerable, + value: registry + }, + version: { + enumerable, + value: version + }, + getChart: { + enumerable, + value: getChart + }, + register: { + enumerable, + value: (...items) => { + registry.add(...items); + invalidatePlugins(); + } + }, + unregister: { + enumerable, + value: (...items) => { + registry.remove(...items); + invalidatePlugins(); + } + } +}); + +function abstract() { + throw new Error('This method is not implemented: Check that a complete date adapter is provided.'); +} +class DateAdapter { + constructor(options) { + this.options = options || {}; + } + init(chartOptions) {} + formats() { + return abstract(); + } + parse(value, format) { + return abstract(); + } + format(timestamp, format) { + return abstract(); + } + add(timestamp, amount, unit) { + return abstract(); + } + diff(a, b, unit) { + return abstract(); + } + startOf(timestamp, unit, weekday) { + return abstract(); + } + endOf(timestamp, unit) { + return abstract(); + } +} +DateAdapter.override = function(members) { + Object.assign(DateAdapter.prototype, members); +}; +var _adapters = { + _date: DateAdapter +}; + +function getAllScaleValues(scale, type) { + if (!scale._cache.$bar) { + const visibleMetas = scale.getMatchingVisibleMetas(type); + let values = []; + for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) { + values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale)); + } + scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b)); + } + return scale._cache.$bar; +} +function computeMinSampleSize(meta) { + const scale = meta.iScale; + const values = getAllScaleValues(scale, meta.type); + let min = scale._length; + let i, ilen, curr, prev; + const updateMinAndPrev = () => { + if (curr === 32767 || curr === -32768) { + return; + } + if (defined(prev)) { + min = Math.min(min, Math.abs(curr - prev) || min); + } + prev = curr; + }; + for (i = 0, ilen = values.length; i < ilen; ++i) { + curr = scale.getPixelForValue(values[i]); + updateMinAndPrev(); + } + prev = undefined; + for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) { + curr = scale.getPixelForTick(i); + updateMinAndPrev(); + } + return min; +} +function computeFitCategoryTraits(index, ruler, options, stackCount) { + const thickness = options.barThickness; + let size, ratio; + if (isNullOrUndef(thickness)) { + size = ruler.min * options.categoryPercentage; + ratio = options.barPercentage; + } else { + size = thickness * stackCount; + ratio = 1; + } + return { + chunk: size / stackCount, + ratio, + start: ruler.pixels[index] - (size / 2) + }; +} +function computeFlexCategoryTraits(index, ruler, options, stackCount) { + const pixels = ruler.pixels; + const curr = pixels[index]; + let prev = index > 0 ? pixels[index - 1] : null; + let next = index < pixels.length - 1 ? pixels[index + 1] : null; + const percent = options.categoryPercentage; + if (prev === null) { + prev = curr - (next === null ? ruler.end - ruler.start : next - curr); + } + if (next === null) { + next = curr + curr - prev; + } + const start = curr - (curr - Math.min(prev, next)) / 2 * percent; + const size = Math.abs(next - prev) / 2 * percent; + return { + chunk: size / stackCount, + ratio: options.barPercentage, + start + }; +} +function parseFloatBar(entry, item, vScale, i) { + const startValue = vScale.parse(entry[0], i); + const endValue = vScale.parse(entry[1], i); + const min = Math.min(startValue, endValue); + const max = Math.max(startValue, endValue); + let barStart = min; + let barEnd = max; + if (Math.abs(min) > Math.abs(max)) { + barStart = max; + barEnd = min; + } + item[vScale.axis] = barEnd; + item._custom = { + barStart, + barEnd, + start: startValue, + end: endValue, + min, + max + }; +} +function parseValue(entry, item, vScale, i) { + if (isArray(entry)) { + parseFloatBar(entry, item, vScale, i); + } else { + item[vScale.axis] = vScale.parse(entry, i); + } + return item; +} +function parseArrayOrPrimitive(meta, data, start, count) { + const iScale = meta.iScale; + const vScale = meta.vScale; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = []; + let i, ilen, item, entry; + for (i = start, ilen = start + count; i < ilen; ++i) { + entry = data[i]; + item = {}; + item[iScale.axis] = singleScale || iScale.parse(labels[i], i); + parsed.push(parseValue(entry, item, vScale, i)); + } + return parsed; +} +function isFloatBar(custom) { + return custom && custom.barStart !== undefined && custom.barEnd !== undefined; +} +function barSign(size, vScale, actualBase) { + if (size !== 0) { + return sign(size); + } + return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1); +} +function borderProps(properties) { + let reverse, start, end, top, bottom; + if (properties.horizontal) { + reverse = properties.base > properties.x; + start = 'left'; + end = 'right'; + } else { + reverse = properties.base < properties.y; + start = 'bottom'; + end = 'top'; + } + if (reverse) { + top = 'end'; + bottom = 'start'; + } else { + top = 'start'; + bottom = 'end'; + } + return {start, end, reverse, top, bottom}; +} +function setBorderSkipped(properties, options, stack, index) { + let edge = options.borderSkipped; + const res = {}; + if (!edge) { + properties.borderSkipped = res; + return; + } + if (edge === true) { + properties.borderSkipped = {top: true, right: true, bottom: true, left: true}; + return; + } + const {start, end, reverse, top, bottom} = borderProps(properties); + if (edge === 'middle' && stack) { + properties.enableBorderRadius = true; + if ((stack._top || 0) === index) { + edge = top; + } else if ((stack._bottom || 0) === index) { + edge = bottom; + } else { + res[parseEdge(bottom, start, end, reverse)] = true; + edge = top; + } + } + res[parseEdge(edge, start, end, reverse)] = true; + properties.borderSkipped = res; +} +function parseEdge(edge, a, b, reverse) { + if (reverse) { + edge = swap(edge, a, b); + edge = startEnd(edge, b, a); + } else { + edge = startEnd(edge, a, b); + } + return edge; +} +function swap(orig, v1, v2) { + return orig === v1 ? v2 : orig === v2 ? v1 : orig; +} +function startEnd(v, start, end) { + return v === 'start' ? start : v === 'end' ? end : v; +} +function setInflateAmount(properties, {inflateAmount}, ratio) { + properties.inflateAmount = inflateAmount === 'auto' + ? ratio === 1 ? 0.33 : 0 + : inflateAmount; +} +class BarController extends DatasetController { + parsePrimitiveData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseArrayData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseObjectData(meta, data, start, count) { + const {iScale, vScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey; + const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey; + const parsed = []; + let i, ilen, item, obj; + for (i = start, ilen = start + count; i < ilen; ++i) { + obj = data[i]; + item = {}; + item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i); + parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i)); + } + return parsed; + } + updateRangeFromParsed(range, scale, parsed, stack) { + super.updateRangeFromParsed(range, scale, parsed, stack); + const custom = parsed._custom; + if (custom && scale === this._cachedMeta.vScale) { + range.min = Math.min(range.min, custom.min); + range.max = Math.max(range.max, custom.max); + } + } + getMaxOverflow() { + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {iScale, vScale} = meta; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const value = isFloatBar(custom) + ? '[' + custom.start + ', ' + custom.end + ']' + : '' + vScale.getLabelForValue(parsed[vScale.axis]); + return { + label: '' + iScale.getLabelForValue(parsed[iScale.axis]), + value + }; + } + initialize() { + this.enableOptionSharing = true; + super.initialize(); + const meta = this._cachedMeta; + meta.stack = this.getDataset().stack; + } + update(mode) { + const meta = this._cachedMeta; + this.updateElements(meta.data, 0, meta.data.length, mode); + } + updateElements(bars, start, count, mode) { + const reset = mode === 'reset'; + const {index, _cachedMeta: {vScale}} = this; + const base = vScale.getBasePixel(); + const horizontal = vScale.isHorizontal(); + const ruler = this._getRuler(); + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + for (let i = start; i < start + count; i++) { + const parsed = this.getParsed(i); + const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i); + const ipixels = this._calculateBarIndexPixels(i, ruler); + const stack = (parsed._stacks || {})[vScale.axis]; + const properties = { + horizontal, + base: vpixels.base, + enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom), + x: horizontal ? vpixels.head : ipixels.center, + y: horizontal ? ipixels.center : vpixels.head, + height: horizontal ? ipixels.size : Math.abs(vpixels.size), + width: horizontal ? Math.abs(vpixels.size) : ipixels.size + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode); + } + const options = properties.options || bars[i].options; + setBorderSkipped(properties, options, stack, index); + setInflateAmount(properties, options, ruler.ratio); + this.updateElement(bars[i], i, properties, mode); + } + } + _getStacks(last, dataIndex) { + const {iScale} = this._cachedMeta; + const metasets = iScale.getMatchingVisibleMetas(this._type) + .filter(meta => meta.controller.options.grouped); + const stacked = iScale.options.stacked; + const stacks = []; + const skipNull = (meta) => { + const parsed = meta.controller.getParsed(dataIndex); + const val = parsed && parsed[meta.vScale.axis]; + if (isNullOrUndef(val) || isNaN(val)) { + return true; + } + }; + for (const meta of metasets) { + if (dataIndex !== undefined && skipNull(meta)) { + continue; + } + if (stacked === false || stacks.indexOf(meta.stack) === -1 || + (stacked === undefined && meta.stack === undefined)) { + stacks.push(meta.stack); + } + if (meta.index === last) { + break; + } + } + if (!stacks.length) { + stacks.push(undefined); + } + return stacks; + } + _getStackCount(index) { + return this._getStacks(undefined, index).length; + } + _getStackIndex(datasetIndex, name, dataIndex) { + const stacks = this._getStacks(datasetIndex, dataIndex); + const index = (name !== undefined) + ? stacks.indexOf(name) + : -1; + return (index === -1) + ? stacks.length - 1 + : index; + } + _getRuler() { + const opts = this.options; + const meta = this._cachedMeta; + const iScale = meta.iScale; + const pixels = []; + let i, ilen; + for (i = 0, ilen = meta.data.length; i < ilen; ++i) { + pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i)); + } + const barThickness = opts.barThickness; + const min = barThickness || computeMinSampleSize(meta); + return { + min, + pixels, + start: iScale._startPixel, + end: iScale._endPixel, + stackCount: this._getStackCount(), + scale: iScale, + grouped: opts.grouped, + ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage + }; + } + _calculateBarValuePixels(index) { + const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this; + const actualBase = baseValue || 0; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const floating = isFloatBar(custom); + let value = parsed[vScale.axis]; + let start = 0; + let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value; + let head, size; + if (length !== value) { + start = length - value; + length = value; + } + if (floating) { + value = custom.barStart; + length = custom.barEnd - custom.barStart; + if (value !== 0 && sign(value) !== sign(custom.barEnd)) { + start = 0; + } + start += value; + } + const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start; + let base = vScale.getPixelForValue(startValue); + if (this.chart.getDataVisibility(index)) { + head = vScale.getPixelForValue(start + length); + } else { + head = base; + } + size = head - base; + if (Math.abs(size) < minBarLength) { + size = barSign(size, vScale, actualBase) * minBarLength; + if (value === actualBase) { + base -= size / 2; + } + const startPixel = vScale.getPixelForDecimal(0); + const endPixel = vScale.getPixelForDecimal(1); + const min = Math.min(startPixel, endPixel); + const max = Math.max(startPixel, endPixel); + base = Math.max(Math.min(base, max), min); + head = base + size; + } + if (base === vScale.getPixelForValue(actualBase)) { + const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2; + base += halfGrid; + size -= halfGrid; + } + return { + size, + base, + head, + center: head + size / 2 + }; + } + _calculateBarIndexPixels(index, ruler) { + const scale = ruler.scale; + const options = this.options; + const skipNull = options.skipNull; + const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); + let center, size; + if (ruler.grouped) { + const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; + const range = options.barThickness === 'flex' + ? computeFlexCategoryTraits(index, ruler, options, stackCount) + : computeFitCategoryTraits(index, ruler, options, stackCount); + const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined); + center = range.start + (range.chunk * stackIndex) + (range.chunk / 2); + size = Math.min(maxBarThickness, range.chunk * range.ratio); + } else { + center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index); + size = Math.min(maxBarThickness, ruler.min * ruler.ratio); + } + return { + base: center - size / 2, + head: center + size / 2, + center, + size + }; + } + draw() { + const meta = this._cachedMeta; + const vScale = meta.vScale; + const rects = meta.data; + const ilen = rects.length; + let i = 0; + for (; i < ilen; ++i) { + if (this.getParsed(i)[vScale.axis] !== null) { + rects[i].draw(this._ctx); + } + } + } +} +BarController.id = 'bar'; +BarController.defaults = { + datasetElementType: false, + dataElementType: 'bar', + categoryPercentage: 0.8, + barPercentage: 0.9, + grouped: true, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'base', 'width', 'height'] + } + } +}; +BarController.overrides = { + scales: { + _index_: { + type: 'category', + offset: true, + grid: { + offset: true + } + }, + _value_: { + type: 'linear', + beginAtZero: true, + } + } +}; + +class BubbleController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + super.initialize(); + } + parsePrimitiveData(meta, data, start, count) { + const parsed = super.parsePrimitiveData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const parsed = super.parseArrayData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const parsed = super.parseObjectData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + getMaxOverflow() { + const data = this._cachedMeta.data; + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {xScale, yScale} = meta; + const parsed = this.getParsed(index); + const x = xScale.getLabelForValue(parsed.x); + const y = yScale.getLabelForValue(parsed.y); + const r = parsed._custom; + return { + label: meta.label, + value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')' + }; + } + update(mode) { + const points = this._cachedMeta.data; + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const parsed = !reset && this.getParsed(i); + const properties = {}; + const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); + const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); + properties.skip = isNaN(iPixel) || isNaN(vPixel); + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + if (reset) { + properties.options.radius = 0; + } + } + this.updateElement(point, i, properties, mode); + } + } + resolveDataElementOptions(index, mode) { + const parsed = this.getParsed(index); + let values = super.resolveDataElementOptions(index, mode); + if (values.$shared) { + values = Object.assign({}, values, {$shared: false}); + } + const radius = values.radius; + if (mode !== 'active') { + values.radius = 0; + } + values.radius += valueOrDefault(parsed && parsed._custom, radius); + return values; + } +} +BubbleController.id = 'bubble'; +BubbleController.defaults = { + datasetElementType: false, + dataElementType: 'point', + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'borderWidth', 'radius'] + } + } +}; +BubbleController.overrides = { + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + } + } + } + } +}; + +function getRatioAndOffset(rotation, circumference, cutout) { + let ratioX = 1; + let ratioY = 1; + let offsetX = 0; + let offsetY = 0; + if (circumference < TAU) { + const startAngle = rotation; + const endAngle = startAngle + circumference; + const startX = Math.cos(startAngle); + const startY = Math.sin(startAngle); + const endX = Math.cos(endAngle); + const endY = Math.sin(endAngle); + const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout); + const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout); + const maxX = calcMax(0, startX, endX); + const maxY = calcMax(HALF_PI, startY, endY); + const minX = calcMin(PI, startX, endX); + const minY = calcMin(PI + HALF_PI, startY, endY); + ratioX = (maxX - minX) / 2; + ratioY = (maxY - minY) / 2; + offsetX = -(maxX + minX) / 2; + offsetY = -(maxY + minY) / 2; + } + return {ratioX, ratioY, offsetX, offsetY}; +} +class DoughnutController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.enableOptionSharing = true; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.offsetX = undefined; + this.offsetY = undefined; + } + linkScales() {} + parse(start, count) { + const data = this.getDataset().data; + const meta = this._cachedMeta; + if (this._parsing === false) { + meta._parsed = data; + } else { + let getter = (i) => +data[i]; + if (isObject(data[start])) { + const {key = 'value'} = this._parsing; + getter = (i) => +resolveObjectKey(data[i], key); + } + let i, ilen; + for (i = start, ilen = start + count; i < ilen; ++i) { + meta._parsed[i] = getter(i); + } + } + } + _getRotation() { + return toRadians(this.options.rotation - 90); + } + _getCircumference() { + return toRadians(this.options.circumference); + } + _getRotationExtents() { + let min = TAU; + let max = -TAU; + for (let i = 0; i < this.chart.data.datasets.length; ++i) { + if (this.chart.isDatasetVisible(i)) { + const controller = this.chart.getDatasetMeta(i).controller; + const rotation = controller._getRotation(); + const circumference = controller._getCircumference(); + min = Math.min(min, rotation); + max = Math.max(max, rotation + circumference); + } + } + return { + rotation: min, + circumference: max - min, + }; + } + update(mode) { + const chart = this.chart; + const {chartArea} = chart; + const meta = this._cachedMeta; + const arcs = meta.data; + const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing; + const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0); + const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1); + const chartWeight = this._getRingWeight(this.index); + const {circumference, rotation} = this._getRotationExtents(); + const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout); + const maxWidth = (chartArea.width - spacing) / ratioX; + const maxHeight = (chartArea.height - spacing) / ratioY; + const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); + const outerRadius = toDimension(this.options.radius, maxRadius); + const innerRadius = Math.max(outerRadius * cutout, 0); + const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal(); + this.offsetX = offsetX * outerRadius; + this.offsetY = offsetY * outerRadius; + meta.total = this.calculateTotal(); + this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index); + this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0); + this.updateElements(arcs, 0, arcs.length, mode); + } + _circumference(i, reset) { + const opts = this.options; + const meta = this._cachedMeta; + const circumference = this._getCircumference(); + if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) { + return 0; + } + return this.calculateCircumference(meta._parsed[i] * circumference / TAU); + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const animationOpts = opts.animation; + const centerX = (chartArea.left + chartArea.right) / 2; + const centerY = (chartArea.top + chartArea.bottom) / 2; + const animateScale = reset && animationOpts.animateScale; + const innerRadius = animateScale ? 0 : this.innerRadius; + const outerRadius = animateScale ? 0 : this.outerRadius; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + let startAngle = this._getRotation(); + let i; + for (i = 0; i < start; ++i) { + startAngle += this._circumference(i, reset); + } + for (i = start; i < start + count; ++i) { + const circumference = this._circumference(i, reset); + const arc = arcs[i]; + const properties = { + x: centerX + this.offsetX, + y: centerY + this.offsetY, + startAngle, + endAngle: startAngle + circumference, + circumference, + outerRadius, + innerRadius + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode); + } + startAngle += circumference; + this.updateElement(arc, i, properties, mode); + } + } + calculateTotal() { + const meta = this._cachedMeta; + const metaData = meta.data; + let total = 0; + let i; + for (i = 0; i < metaData.length; i++) { + const value = meta._parsed[i]; + if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) { + total += Math.abs(value); + } + } + return total; + } + calculateCircumference(value) { + const total = this._cachedMeta.total; + if (total > 0 && !isNaN(value)) { + return TAU * (Math.abs(value) / total); + } + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index], chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + getMaxBorderWidth(arcs) { + let max = 0; + const chart = this.chart; + let i, ilen, meta, controller, options; + if (!arcs) { + for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) { + if (chart.isDatasetVisible(i)) { + meta = chart.getDatasetMeta(i); + arcs = meta.data; + controller = meta.controller; + break; + } + } + } + if (!arcs) { + return 0; + } + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + options = controller.resolveDataElementOptions(i); + if (options.borderAlign !== 'inner') { + max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0); + } + } + return max; + } + getMaxOffset(arcs) { + let max = 0; + for (let i = 0, ilen = arcs.length; i < ilen; ++i) { + const options = this.resolveDataElementOptions(i); + max = Math.max(max, options.offset || 0, options.hoverOffset || 0); + } + return max; + } + _getRingWeightOffset(datasetIndex) { + let ringWeightOffset = 0; + for (let i = 0; i < datasetIndex; ++i) { + if (this.chart.isDatasetVisible(i)) { + ringWeightOffset += this._getRingWeight(i); + } + } + return ringWeightOffset; + } + _getRingWeight(datasetIndex) { + return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0); + } + _getVisibleDatasetWeightTotal() { + return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; + } +} +DoughnutController.id = 'doughnut'; +DoughnutController.defaults = { + datasetElementType: false, + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: false + }, + animations: { + numbers: { + type: 'number', + properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing'] + }, + }, + cutout: '50%', + rotation: 0, + circumference: 360, + radius: '100%', + spacing: 0, + indexAxis: 'r', +}; +DoughnutController.descriptors = { + _scriptable: (name) => name !== 'spacing', + _indexable: (name) => name !== 'spacing', +}; +DoughnutController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(tooltipItem) { + let dataLabel = tooltipItem.label; + const value = ': ' + tooltipItem.formattedValue; + if (isArray(dataLabel)) { + dataLabel = dataLabel.slice(); + dataLabel[0] += value; + } else { + dataLabel += value; + } + return dataLabel; + } + } + } + } +}; + +class LineController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + this.supportsDecimation = true; + super.initialize(); + } + update(mode) { + const meta = this._cachedMeta; + const {dataset: line, data: points = [], _dataset} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + this.updateElements(points, start, count, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + } + getMaxOverflow() { + const meta = this._cachedMeta; + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + const data = meta.data || []; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } + draw() { + const meta = this._cachedMeta; + meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); + super.draw(); + } +} +LineController.id = 'line'; +LineController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + showLine: true, + spanGaps: false, +}; +LineController.overrides = { + scales: { + _index_: { + type: 'category', + }, + _value_: { + type: 'linear', + }, + } +}; + +class PolarAreaController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.innerRadius = undefined; + this.outerRadius = undefined; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index].r, chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const arcs = this._cachedMeta.data; + this._updateRadius(); + this.updateElements(arcs, 0, arcs.length, mode); + } + getMinMax() { + const meta = this._cachedMeta; + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + meta.data.forEach((element, index) => { + const parsed = this.getParsed(index).r; + if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { + if (parsed < range.min) { + range.min = parsed; + } + if (parsed > range.max) { + range.max = parsed; + } + } + }); + return range; + } + _updateRadius() { + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); + const outerRadius = Math.max(minSize / 2, 0); + const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0); + const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); + this.outerRadius = outerRadius - (radiusLength * this.index); + this.innerRadius = this.outerRadius - radiusLength; + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const opts = chart.options; + const animationOpts = opts.animation; + const scale = this._cachedMeta.rScale; + const centerX = scale.xCenter; + const centerY = scale.yCenter; + const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; + let angle = datasetStartAngle; + let i; + const defaultAngle = 360 / this.countVisibleElements(); + for (i = 0; i < start; ++i) { + angle += this._computeAngle(i, mode, defaultAngle); + } + for (i = start; i < start + count; i++) { + const arc = arcs[i]; + let startAngle = angle; + let endAngle = angle + this._computeAngle(i, mode, defaultAngle); + let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; + angle = endAngle; + if (reset) { + if (animationOpts.animateScale) { + outerRadius = 0; + } + if (animationOpts.animateRotate) { + startAngle = endAngle = datasetStartAngle; + } + } + const properties = { + x: centerX, + y: centerY, + innerRadius: 0, + outerRadius, + startAngle, + endAngle, + options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode) + }; + this.updateElement(arc, i, properties, mode); + } + } + countVisibleElements() { + const meta = this._cachedMeta; + let count = 0; + meta.data.forEach((element, index) => { + if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { + count++; + } + }); + return count; + } + _computeAngle(index, mode, defaultAngle) { + return this.chart.getDataVisibility(index) + ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) + : 0; + } +} +PolarAreaController.id = 'polarArea'; +PolarAreaController.defaults = { + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: true + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius'] + }, + }, + indexAxis: 'r', + startAngle: 0, +}; +PolarAreaController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(context) { + return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue; + } + } + } + }, + scales: { + r: { + type: 'radialLinear', + angleLines: { + display: false + }, + beginAtZero: true, + grid: { + circular: true + }, + pointLabels: { + display: false + }, + startAngle: 0 + } + } +}; + +class PieController extends DoughnutController { +} +PieController.id = 'pie'; +PieController.defaults = { + cutout: 0, + rotation: 0, + circumference: 360, + radius: '100%' +}; + +class RadarController extends DatasetController { + getLabelAndValue(index) { + const vScale = this._cachedMeta.vScale; + const parsed = this.getParsed(index); + return { + label: vScale.getLabels()[index], + value: '' + vScale.getLabelForValue(parsed[vScale.axis]) + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const meta = this._cachedMeta; + const line = meta.dataset; + const points = meta.data || []; + const labels = meta.iScale.getLabels(); + line.points = points; + if (mode !== 'resize') { + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + const properties = { + _loop: true, + _fullLoop: labels.length === points.length, + options + }; + this.updateElement(line, undefined, properties, mode); + } + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const scale = this._cachedMeta.rScale; + const reset = mode === 'reset'; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode); + const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); + const x = reset ? scale.xCenter : pointPosition.x; + const y = reset ? scale.yCenter : pointPosition.y; + const properties = { + x, + y, + angle: pointPosition.angle, + skip: isNaN(x) || isNaN(y), + options + }; + this.updateElement(point, i, properties, mode); + } + } +} +RadarController.id = 'radar'; +RadarController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + indexAxis: 'r', + showLine: true, + elements: { + line: { + fill: 'start' + } + }, +}; +RadarController.overrides = { + aspectRatio: 1, + scales: { + r: { + type: 'radialLinear', + } + } +}; + +class ScatterController extends DatasetController { + update(mode) { + const meta = this._cachedMeta; + const {data: points = []} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + if (this.options.showLine) { + const {dataset: line, _dataset} = meta; + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + } + this.updateElements(points, start, count, mode); + } + addElements() { + const {showLine} = this.options; + if (!this.datasetElementType && showLine) { + this.datasetElementType = registry.getElement('line'); + } + super.addElements(); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const firstOpts = this.resolveDataElementOptions(start, mode); + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + this.updateSharedOptions(sharedOptions, mode, firstOpts); + } + getMaxOverflow() { + const meta = this._cachedMeta; + const data = meta.data || []; + if (!this.options.showLine) { + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } +} +ScatterController.id = 'scatter'; +ScatterController.defaults = { + datasetElementType: false, + dataElementType: 'point', + showLine: false, + fill: false +}; +ScatterController.overrides = { + interaction: { + mode: 'point' + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + }, + label(item) { + return '(' + item.label + ', ' + item.formattedValue + ')'; + } + } + } + }, + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + } +}; + +var controllers = /*#__PURE__*/Object.freeze({ +__proto__: null, +BarController: BarController, +BubbleController: BubbleController, +DoughnutController: DoughnutController, +LineController: LineController, +PolarAreaController: PolarAreaController, +PieController: PieController, +RadarController: RadarController, +ScatterController: ScatterController +}); + +function clipArc(ctx, element, endAngle) { + const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element; + let angleMargin = pixelMargin / outerRadius; + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (innerRadius > pixelMargin) { + angleMargin = pixelMargin / innerRadius; + ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true); + } else { + ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI); + } + ctx.closePath(); + ctx.clip(); +} +function toRadiusCorners(value) { + return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']); +} +function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { + const o = toRadiusCorners(arc.options.borderRadius); + const halfThickness = (outerRadius - innerRadius) / 2; + const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2); + const computeOuterLimit = (val) => { + const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2; + return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit)); + }; + return { + outerStart: computeOuterLimit(o.outerStart), + outerEnd: computeOuterLimit(o.outerEnd), + innerStart: _limitValue(o.innerStart, 0, innerLimit), + innerEnd: _limitValue(o.innerEnd, 0, innerLimit), + }; +} +function rThetaToXY(r, theta, x, y) { + return { + x: x + r * Math.cos(theta), + y: y + r * Math.sin(theta), + }; +} +function pathArc(ctx, element, offset, spacing, end, circular) { + const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element; + const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); + const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; + let spacingOffset = 0; + const alpha = end - start; + if (spacing) { + const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0; + const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0; + const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2; + const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha; + spacingOffset = (alpha - adjustedAngle) / 2; + } + const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius; + const angleOffset = (alpha - beta) / 2; + const startAngle = start + angleOffset + spacingOffset; + const endAngle = end - angleOffset - spacingOffset; + const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle); + const outerStartAdjustedRadius = outerRadius - outerStart; + const outerEndAdjustedRadius = outerRadius - outerEnd; + const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius; + const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius; + const innerStartAdjustedRadius = innerRadius + innerStart; + const innerEndAdjustedRadius = innerRadius + innerEnd; + const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; + const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; + ctx.beginPath(); + if (circular) { + ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle); + if (outerEnd > 0) { + const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); + } + const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); + ctx.lineTo(p4.x, p4.y); + if (innerEnd > 0) { + const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); + } + ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true); + if (innerStart > 0) { + const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); + } + const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); + ctx.lineTo(p8.x, p8.y); + if (outerStart > 0) { + const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); + } + } else { + ctx.moveTo(x, y); + const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; + const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerStartX, outerStartY); + const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; + const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerEndX, outerEndY); + } + ctx.closePath(); +} +function drawArc(ctx, element, offset, spacing, circular) { + const {fullCircles, startAngle, circumference} = element; + let endAngle = element.endAngle; + if (fullCircles) { + pathArc(ctx, element, offset, spacing, startAngle + TAU, circular); + for (let i = 0; i < fullCircles; ++i) { + ctx.fill(); + } + if (!isNaN(circumference)) { + endAngle = startAngle + circumference % TAU; + if (circumference % TAU === 0) { + endAngle += TAU; + } + } + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.fill(); + return endAngle; +} +function drawFullCircleBorders(ctx, element, inner) { + const {x, y, startAngle, pixelMargin, fullCircles} = element; + const outerRadius = Math.max(element.outerRadius - pixelMargin, 0); + const innerRadius = element.innerRadius + pixelMargin; + let i; + if (inner) { + clipArc(ctx, element, startAngle + TAU); + } + ctx.beginPath(); + ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } +} +function drawBorder(ctx, element, offset, spacing, endAngle, circular) { + const {options} = element; + const {borderWidth, borderJoinStyle} = options; + const inner = options.borderAlign === 'inner'; + if (!borderWidth) { + return; + } + if (inner) { + ctx.lineWidth = borderWidth * 2; + ctx.lineJoin = borderJoinStyle || 'round'; + } else { + ctx.lineWidth = borderWidth; + ctx.lineJoin = borderJoinStyle || 'bevel'; + } + if (element.fullCircles) { + drawFullCircleBorders(ctx, element, inner); + } + if (inner) { + clipArc(ctx, element, endAngle); + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.stroke(); +} +class ArcElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.circumference = undefined; + this.startAngle = undefined; + this.endAngle = undefined; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.pixelMargin = 0; + this.fullCircles = 0; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(chartX, chartY, useFinalPosition) { + const point = this.getProps(['x', 'y'], useFinalPosition); + const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY}); + const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([ + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference' + ], useFinalPosition); + const rAdjust = this.options.spacing / 2; + const _circumference = valueOrDefault(circumference, endAngle - startAngle); + const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle); + const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); + return (betweenAngles && withinRadius); + } + getCenterPoint(useFinalPosition) { + const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([ + 'x', + 'y', + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference', + ], useFinalPosition); + const {offset, spacing} = this.options; + const halfAngle = (startAngle + endAngle) / 2; + const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2; + return { + x: x + Math.cos(halfAngle) * halfRadius, + y: y + Math.sin(halfAngle) * halfRadius + }; + } + tooltipPosition(useFinalPosition) { + return this.getCenterPoint(useFinalPosition); + } + draw(ctx) { + const {options, circumference} = this; + const offset = (options.offset || 0) / 2; + const spacing = (options.spacing || 0) / 2; + const circular = options.circular; + this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0; + this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; + if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { + return; + } + ctx.save(); + let radiusOffset = 0; + if (offset) { + radiusOffset = offset / 2; + const halfAngle = (this.startAngle + this.endAngle) / 2; + ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset); + if (this.circumference >= PI) { + radiusOffset = offset; + } + } + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular); + drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular); + ctx.restore(); + } +} +ArcElement.id = 'arc'; +ArcElement.defaults = { + borderAlign: 'center', + borderColor: '#fff', + borderJoinStyle: undefined, + borderRadius: 0, + borderWidth: 2, + offset: 0, + spacing: 0, + angle: undefined, + circular: true, +}; +ArcElement.defaultRoutes = { + backgroundColor: 'backgroundColor' +}; + +function setStyle(ctx, options, style = options) { + ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); + ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); + ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); + ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); + ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); + ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); +} +function lineTo(ctx, previous, target) { + ctx.lineTo(target.x, target.y); +} +function getLineMethod(options) { + if (options.stepped) { + return _steppedLineTo; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierCurveTo; + } + return lineTo; +} +function pathVars(points, segment, params = {}) { + const count = points.length; + const {start: paramsStart = 0, end: paramsEnd = count - 1} = params; + const {start: segmentStart, end: segmentEnd} = segment; + const start = Math.max(paramsStart, segmentStart); + const end = Math.min(paramsEnd, segmentEnd); + const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; + return { + count, + start, + loop: segment.loop, + ilen: end < start && !outside ? count + end - start : end - start + }; +} +function pathSegment(ctx, line, segment, params) { + const {points, options} = line; + const {count, start, loop, ilen} = pathVars(points, segment, params); + const lineMethod = getLineMethod(options); + let {move = true, reverse} = params || {}; + let i, point, prev; + for (i = 0; i <= ilen; ++i) { + point = points[(start + (reverse ? ilen - i : i)) % count]; + if (point.skip) { + continue; + } else if (move) { + ctx.moveTo(point.x, point.y); + move = false; + } else { + lineMethod(ctx, prev, point, reverse, options.stepped); + } + prev = point; + } + if (loop) { + point = points[(start + (reverse ? ilen : 0)) % count]; + lineMethod(ctx, prev, point, reverse, options.stepped); + } + return !!loop; +} +function fastPathSegment(ctx, line, segment, params) { + const points = line.points; + const {count, start, ilen} = pathVars(points, segment, params); + const {move = true, reverse} = params || {}; + let avgX = 0; + let countX = 0; + let i, point, prevX, minY, maxY, lastY; + const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count; + const drawX = () => { + if (minY !== maxY) { + ctx.lineTo(avgX, maxY); + ctx.lineTo(avgX, minY); + ctx.lineTo(avgX, lastY); + } + }; + if (move) { + point = points[pointIndex(0)]; + ctx.moveTo(point.x, point.y); + } + for (i = 0; i <= ilen; ++i) { + point = points[pointIndex(i)]; + if (point.skip) { + continue; + } + const x = point.x; + const y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + } else if (y > maxY) { + maxY = y; + } + avgX = (countX * avgX + x) / ++countX; + } else { + drawX(); + ctx.lineTo(x, y); + prevX = truncX; + countX = 0; + minY = maxY = y; + } + lastY = y; + } + drawX(); +} +function _getSegmentMethod(line) { + const opts = line.options; + const borderDash = opts.borderDash && opts.borderDash.length; + const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash; + return useFastPath ? fastPathSegment : pathSegment; +} +function _getInterpolationMethod(options) { + if (options.stepped) { + return _steppedInterpolation; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierInterpolation; + } + return _pointInLine; +} +function strokePathWithCache(ctx, line, start, count) { + let path = line._path; + if (!path) { + path = line._path = new Path2D(); + if (line.path(path, start, count)) { + path.closePath(); + } + } + setStyle(ctx, line.options); + ctx.stroke(path); +} +function strokePathDirect(ctx, line, start, count) { + const {segments, options} = line; + const segmentMethod = _getSegmentMethod(line); + for (const segment of segments) { + setStyle(ctx, options, segment.style); + ctx.beginPath(); + if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) { + ctx.closePath(); + } + ctx.stroke(); + } +} +const usePath2D = typeof Path2D === 'function'; +function draw(ctx, line, start, count) { + if (usePath2D && !line.options.segment) { + strokePathWithCache(ctx, line, start, count); + } else { + strokePathDirect(ctx, line, start, count); + } +} +class LineElement extends Element { + constructor(cfg) { + super(); + this.animated = true; + this.options = undefined; + this._chart = undefined; + this._loop = undefined; + this._fullLoop = undefined; + this._path = undefined; + this._points = undefined; + this._segments = undefined; + this._decimated = false; + this._pointsUpdated = false; + this._datasetIndex = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + updateControlPoints(chartArea, indexAxis) { + const options = this.options; + if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) { + const loop = options.spanGaps ? this._loop : this._fullLoop; + _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); + this._pointsUpdated = true; + } + } + set points(points) { + this._points = points; + delete this._segments; + delete this._path; + this._pointsUpdated = false; + } + get points() { + return this._points; + } + get segments() { + return this._segments || (this._segments = _computeSegments(this, this.options.segment)); + } + first() { + const segments = this.segments; + const points = this.points; + return segments.length && points[segments[0].start]; + } + last() { + const segments = this.segments; + const points = this.points; + const count = segments.length; + return count && points[segments[count - 1].end]; + } + interpolate(point, property) { + const options = this.options; + const value = point[property]; + const points = this.points; + const segments = _boundSegments(this, {property, start: value, end: value}); + if (!segments.length) { + return; + } + const result = []; + const _interpolate = _getInterpolationMethod(options); + let i, ilen; + for (i = 0, ilen = segments.length; i < ilen; ++i) { + const {start, end} = segments[i]; + const p1 = points[start]; + const p2 = points[end]; + if (p1 === p2) { + result.push(p1); + continue; + } + const t = Math.abs((value - p1[property]) / (p2[property] - p1[property])); + const interpolated = _interpolate(p1, p2, t, options.stepped); + interpolated[property] = point[property]; + result.push(interpolated); + } + return result.length === 1 ? result[0] : result; + } + pathSegment(ctx, segment, params) { + const segmentMethod = _getSegmentMethod(this); + return segmentMethod(ctx, this, segment, params); + } + path(ctx, start, count) { + const segments = this.segments; + const segmentMethod = _getSegmentMethod(this); + let loop = this._loop; + start = start || 0; + count = count || (this.points.length - start); + for (const segment of segments) { + loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1}); + } + return !!loop; + } + draw(ctx, chartArea, start, count) { + const options = this.options || {}; + const points = this.points || []; + if (points.length && options.borderWidth) { + ctx.save(); + draw(ctx, this, start, count); + ctx.restore(); + } + if (this.animated) { + this._pointsUpdated = false; + this._path = undefined; + } + } +} +LineElement.id = 'line'; +LineElement.defaults = { + borderCapStyle: 'butt', + borderDash: [], + borderDashOffset: 0, + borderJoinStyle: 'miter', + borderWidth: 3, + capBezierPoints: true, + cubicInterpolationMode: 'default', + fill: false, + spanGaps: false, + stepped: false, + tension: 0, +}; +LineElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; +LineElement.descriptors = { + _scriptable: true, + _indexable: (name) => name !== 'borderDash' && name !== 'fill', +}; + +function inRange$1(el, pos, axis, useFinalPosition) { + const options = el.options; + const {[axis]: value} = el.getProps([axis], useFinalPosition); + return (Math.abs(pos - value) < options.radius + options.hitRadius); +} +class PointElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.parsed = undefined; + this.skip = undefined; + this.stop = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(mouseX, mouseY, useFinalPosition) { + const options = this.options; + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2)); + } + inXRange(mouseX, useFinalPosition) { + return inRange$1(this, mouseX, 'x', useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange$1(this, mouseY, 'y', useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + size(options) { + options = options || this.options || {}; + let radius = options.radius || 0; + radius = Math.max(radius, radius && options.hoverRadius || 0); + const borderWidth = radius && options.borderWidth || 0; + return (radius + borderWidth) * 2; + } + draw(ctx, area) { + const options = this.options; + if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { + return; + } + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.fillStyle = options.backgroundColor; + drawPoint(ctx, options, this.x, this.y); + } + getRange() { + const options = this.options || {}; + return options.radius + options.hitRadius; + } +} +PointElement.id = 'point'; +PointElement.defaults = { + borderWidth: 1, + hitRadius: 1, + hoverBorderWidth: 1, + hoverRadius: 4, + pointStyle: 'circle', + radius: 3, + rotation: 0 +}; +PointElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +function getBarBounds(bar, useFinalPosition) { + const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition); + let left, right, top, bottom, half; + if (bar.horizontal) { + half = height / 2; + left = Math.min(x, base); + right = Math.max(x, base); + top = y - half; + bottom = y + half; + } else { + half = width / 2; + left = x - half; + right = x + half; + top = Math.min(y, base); + bottom = Math.max(y, base); + } + return {left, top, right, bottom}; +} +function skipOrLimit(skip, value, min, max) { + return skip ? 0 : _limitValue(value, min, max); +} +function parseBorderWidth(bar, maxW, maxH) { + const value = bar.options.borderWidth; + const skip = bar.borderSkipped; + const o = toTRBL(value); + return { + t: skipOrLimit(skip.top, o.top, 0, maxH), + r: skipOrLimit(skip.right, o.right, 0, maxW), + b: skipOrLimit(skip.bottom, o.bottom, 0, maxH), + l: skipOrLimit(skip.left, o.left, 0, maxW) + }; +} +function parseBorderRadius(bar, maxW, maxH) { + const {enableBorderRadius} = bar.getProps(['enableBorderRadius']); + const value = bar.options.borderRadius; + const o = toTRBLCorners(value); + const maxR = Math.min(maxW, maxH); + const skip = bar.borderSkipped; + const enableBorder = enableBorderRadius || isObject(value); + return { + topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR), + topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR), + bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR), + bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR) + }; +} +function boundingRects(bar) { + const bounds = getBarBounds(bar); + const width = bounds.right - bounds.left; + const height = bounds.bottom - bounds.top; + const border = parseBorderWidth(bar, width / 2, height / 2); + const radius = parseBorderRadius(bar, width / 2, height / 2); + return { + outer: { + x: bounds.left, + y: bounds.top, + w: width, + h: height, + radius + }, + inner: { + x: bounds.left + border.l, + y: bounds.top + border.t, + w: width - border.l - border.r, + h: height - border.t - border.b, + radius: { + topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)), + topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)), + bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)), + bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)), + } + } + }; +} +function inRange(bar, x, y, useFinalPosition) { + const skipX = x === null; + const skipY = y === null; + const skipBoth = skipX && skipY; + const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition); + return bounds + && (skipX || _isBetween(x, bounds.left, bounds.right)) + && (skipY || _isBetween(y, bounds.top, bounds.bottom)); +} +function hasRadius(radius) { + return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight; +} +function addNormalRectPath(ctx, rect) { + ctx.rect(rect.x, rect.y, rect.w, rect.h); +} +function inflateRect(rect, amount, refRect = {}) { + const x = rect.x !== refRect.x ? -amount : 0; + const y = rect.y !== refRect.y ? -amount : 0; + const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x; + const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y; + return { + x: rect.x + x, + y: rect.y + y, + w: rect.w + w, + h: rect.h + h, + radius: rect.radius + }; +} +class BarElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.horizontal = undefined; + this.base = undefined; + this.width = undefined; + this.height = undefined; + this.inflateAmount = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + draw(ctx) { + const {inflateAmount, options: {borderColor, backgroundColor}} = this; + const {inner, outer} = boundingRects(this); + const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath; + ctx.save(); + if (outer.w !== inner.w || outer.h !== inner.h) { + ctx.beginPath(); + addRectPath(ctx, inflateRect(outer, inflateAmount, inner)); + ctx.clip(); + addRectPath(ctx, inflateRect(inner, -inflateAmount, outer)); + ctx.fillStyle = borderColor; + ctx.fill('evenodd'); + } + ctx.beginPath(); + addRectPath(ctx, inflateRect(inner, inflateAmount)); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + inRange(mouseX, mouseY, useFinalPosition) { + return inRange(this, mouseX, mouseY, useFinalPosition); + } + inXRange(mouseX, useFinalPosition) { + return inRange(this, mouseX, null, useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange(this, null, mouseY, useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition); + return { + x: horizontal ? (x + base) / 2 : x, + y: horizontal ? y : (y + base) / 2 + }; + } + getRange(axis) { + return axis === 'x' ? this.width / 2 : this.height / 2; + } +} +BarElement.id = 'bar'; +BarElement.defaults = { + borderSkipped: 'start', + borderWidth: 0, + borderRadius: 0, + inflateAmount: 'auto', + pointStyle: undefined +}; +BarElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +var elements = /*#__PURE__*/Object.freeze({ +__proto__: null, +ArcElement: ArcElement, +LineElement: LineElement, +PointElement: PointElement, +BarElement: BarElement +}); + +function lttbDecimation(data, start, count, availableWidth, options) { + const samples = options.samples || availableWidth; + if (samples >= count) { + return data.slice(start, start + count); + } + const decimated = []; + const bucketWidth = (count - 2) / (samples - 2); + let sampledIndex = 0; + const endIndex = start + count - 1; + let a = start; + let i, maxAreaPoint, maxArea, area, nextA; + decimated[sampledIndex++] = data[a]; + for (i = 0; i < samples - 2; i++) { + let avgX = 0; + let avgY = 0; + let j; + const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start; + const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start; + const avgRangeLength = avgRangeEnd - avgRangeStart; + for (j = avgRangeStart; j < avgRangeEnd; j++) { + avgX += data[j].x; + avgY += data[j].y; + } + avgX /= avgRangeLength; + avgY /= avgRangeLength; + const rangeOffs = Math.floor(i * bucketWidth) + 1 + start; + const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start; + const {x: pointAx, y: pointAy} = data[a]; + maxArea = area = -1; + for (j = rangeOffs; j < rangeTo; j++) { + area = 0.5 * Math.abs( + (pointAx - avgX) * (data[j].y - pointAy) - + (pointAx - data[j].x) * (avgY - pointAy) + ); + if (area > maxArea) { + maxArea = area; + maxAreaPoint = data[j]; + nextA = j; + } + } + decimated[sampledIndex++] = maxAreaPoint; + a = nextA; + } + decimated[sampledIndex++] = data[endIndex]; + return decimated; +} +function minMaxDecimation(data, start, count, availableWidth) { + let avgX = 0; + let countX = 0; + let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY; + const decimated = []; + const endIndex = start + count - 1; + const xMin = data[start].x; + const xMax = data[endIndex].x; + const dx = xMax - xMin; + for (i = start; i < start + count; ++i) { + point = data[i]; + x = (point.x - xMin) / dx * availableWidth; + y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + minIndex = i; + } else if (y > maxY) { + maxY = y; + maxIndex = i; + } + avgX = (countX * avgX + point.x) / ++countX; + } else { + const lastIndex = i - 1; + if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) { + const intermediateIndex1 = Math.min(minIndex, maxIndex); + const intermediateIndex2 = Math.max(minIndex, maxIndex); + if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex1], + x: avgX, + }); + } + if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex2], + x: avgX + }); + } + } + if (i > 0 && lastIndex !== startIndex) { + decimated.push(data[lastIndex]); + } + decimated.push(point); + prevX = truncX; + countX = 0; + minY = maxY = y; + minIndex = maxIndex = startIndex = i; + } + } + return decimated; +} +function cleanDecimatedDataset(dataset) { + if (dataset._decimated) { + const data = dataset._data; + delete dataset._decimated; + delete dataset._data; + Object.defineProperty(dataset, 'data', {value: data}); + } +} +function cleanDecimatedData(chart) { + chart.data.datasets.forEach((dataset) => { + cleanDecimatedDataset(dataset); + }); +} +function getStartAndCountOfVisiblePointsSimplified(meta, points) { + const pointCount = points.length; + let start = 0; + let count; + const {iScale} = meta; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start; + } else { + count = pointCount - start; + } + return {start, count}; +} +var plugin_decimation = { + id: 'decimation', + defaults: { + algorithm: 'min-max', + enabled: false, + }, + beforeElementsUpdate: (chart, args, options) => { + if (!options.enabled) { + cleanDecimatedData(chart); + return; + } + const availableWidth = chart.width; + chart.data.datasets.forEach((dataset, datasetIndex) => { + const {_data, indexAxis} = dataset; + const meta = chart.getDatasetMeta(datasetIndex); + const data = _data || dataset.data; + if (resolve([indexAxis, chart.options.indexAxis]) === 'y') { + return; + } + if (!meta.controller.supportsDecimation) { + return; + } + const xAxis = chart.scales[meta.xAxisID]; + if (xAxis.type !== 'linear' && xAxis.type !== 'time') { + return; + } + if (chart.options.parsing) { + return; + } + let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data); + const threshold = options.threshold || 4 * availableWidth; + if (count <= threshold) { + cleanDecimatedDataset(dataset); + return; + } + if (isNullOrUndef(_data)) { + dataset._data = data; + delete dataset.data; + Object.defineProperty(dataset, 'data', { + configurable: true, + enumerable: true, + get: function() { + return this._decimated; + }, + set: function(d) { + this._data = d; + } + }); + } + let decimated; + switch (options.algorithm) { + case 'lttb': + decimated = lttbDecimation(data, start, count, availableWidth, options); + break; + case 'min-max': + decimated = minMaxDecimation(data, start, count, availableWidth); + break; + default: + throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`); + } + dataset._decimated = decimated; + }); + }, + destroy(chart) { + cleanDecimatedData(chart); + } +}; + +function _segments(line, target, property) { + const segments = line.segments; + const points = line.points; + const tpoints = target.points; + const parts = []; + for (const segment of segments) { + let {start, end} = segment; + end = _findSegmentEnd(start, end, points); + const bounds = _getBounds(property, points[start], points[end], segment.loop); + if (!target.segments) { + parts.push({ + source: segment, + target: bounds, + start: points[start], + end: points[end] + }); + continue; + } + const targetSegments = _boundSegments(target, bounds); + for (const tgt of targetSegments) { + const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop); + const fillSources = _boundSegment(segment, points, subBounds); + for (const fillSource of fillSources) { + parts.push({ + source: fillSource, + target: tgt, + start: { + [property]: _getEdge(bounds, subBounds, 'start', Math.max) + }, + end: { + [property]: _getEdge(bounds, subBounds, 'end', Math.min) + } + }); + } + } + } + return parts; +} +function _getBounds(property, first, last, loop) { + if (loop) { + return; + } + let start = first[property]; + let end = last[property]; + if (property === 'angle') { + start = _normalizeAngle(start); + end = _normalizeAngle(end); + } + return {property, start, end}; +} +function _pointsFromSegments(boundary, line) { + const {x = null, y = null} = boundary || {}; + const linePoints = line.points; + const points = []; + line.segments.forEach(({start, end}) => { + end = _findSegmentEnd(start, end, linePoints); + const first = linePoints[start]; + const last = linePoints[end]; + if (y !== null) { + points.push({x: first.x, y}); + points.push({x: last.x, y}); + } else if (x !== null) { + points.push({x, y: first.y}); + points.push({x, y: last.y}); + } + }); + return points; +} +function _findSegmentEnd(start, end, points) { + for (;end > start; end--) { + const point = points[end]; + if (!isNaN(point.x) && !isNaN(point.y)) { + break; + } + } + return end; +} +function _getEdge(a, b, prop, fn) { + if (a && b) { + return fn(a[prop], b[prop]); + } + return a ? a[prop] : b ? b[prop] : 0; +} + +function _createBoundaryLine(boundary, line) { + let points = []; + let _loop = false; + if (isArray(boundary)) { + _loop = true; + points = boundary; + } else { + points = _pointsFromSegments(boundary, line); + } + return points.length ? new LineElement({ + points, + options: {tension: 0}, + _loop, + _fullLoop: _loop + }) : null; +} +function _shouldApplyFill(source) { + return source && source.fill !== false; +} + +function _resolveTarget(sources, index, propagate) { + const source = sources[index]; + let fill = source.fill; + const visited = [index]; + let target; + if (!propagate) { + return fill; + } + while (fill !== false && visited.indexOf(fill) === -1) { + if (!isNumberFinite(fill)) { + return fill; + } + target = sources[fill]; + if (!target) { + return false; + } + if (target.visible) { + return fill; + } + visited.push(fill); + fill = target.fill; + } + return false; +} +function _decodeFill(line, index, count) { + const fill = parseFillOption(line); + if (isObject(fill)) { + return isNaN(fill.value) ? false : fill; + } + let target = parseFloat(fill); + if (isNumberFinite(target) && Math.floor(target) === target) { + return decodeTargetIndex(fill[0], index, target, count); + } + return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill; +} +function decodeTargetIndex(firstCh, index, target, count) { + if (firstCh === '-' || firstCh === '+') { + target = index + target; + } + if (target === index || target < 0 || target >= count) { + return false; + } + return target; +} +function _getTargetPixel(fill, scale) { + let pixel = null; + if (fill === 'start') { + pixel = scale.bottom; + } else if (fill === 'end') { + pixel = scale.top; + } else if (isObject(fill)) { + pixel = scale.getPixelForValue(fill.value); + } else if (scale.getBasePixel) { + pixel = scale.getBasePixel(); + } + return pixel; +} +function _getTargetValue(fill, scale, startValue) { + let value; + if (fill === 'start') { + value = startValue; + } else if (fill === 'end') { + value = scale.options.reverse ? scale.min : scale.max; + } else if (isObject(fill)) { + value = fill.value; + } else { + value = scale.getBaseValue(); + } + return value; +} +function parseFillOption(line) { + const options = line.options; + const fillOption = options.fill; + let fill = valueOrDefault(fillOption && fillOption.target, fillOption); + if (fill === undefined) { + fill = !!options.backgroundColor; + } + if (fill === false || fill === null) { + return false; + } + if (fill === true) { + return 'origin'; + } + return fill; +} + +function _buildStackLine(source) { + const {scale, index, line} = source; + const points = []; + const segments = line.segments; + const sourcePoints = line.points; + const linesBelow = getLinesBelow(scale, index); + linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line)); + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + for (let j = segment.start; j <= segment.end; j++) { + addPointsBelow(points, sourcePoints[j], linesBelow); + } + } + return new LineElement({points, options: {}}); +} +function getLinesBelow(scale, index) { + const below = []; + const metas = scale.getMatchingVisibleMetas('line'); + for (let i = 0; i < metas.length; i++) { + const meta = metas[i]; + if (meta.index === index) { + break; + } + if (!meta.hidden) { + below.unshift(meta.dataset); + } + } + return below; +} +function addPointsBelow(points, sourcePoint, linesBelow) { + const postponed = []; + for (let j = 0; j < linesBelow.length; j++) { + const line = linesBelow[j]; + const {first, last, point} = findPoint(line, sourcePoint, 'x'); + if (!point || (first && last)) { + continue; + } + if (first) { + postponed.unshift(point); + } else { + points.push(point); + if (!last) { + break; + } + } + } + points.push(...postponed); +} +function findPoint(line, sourcePoint, property) { + const point = line.interpolate(sourcePoint, property); + if (!point) { + return {}; + } + const pointValue = point[property]; + const segments = line.segments; + const linePoints = line.points; + let first = false; + let last = false; + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + const firstValue = linePoints[segment.start][property]; + const lastValue = linePoints[segment.end][property]; + if (_isBetween(pointValue, firstValue, lastValue)) { + first = pointValue === firstValue; + last = pointValue === lastValue; + break; + } + } + return {first, last, point}; +} + +class simpleArc { + constructor(opts) { + this.x = opts.x; + this.y = opts.y; + this.radius = opts.radius; + } + pathSegment(ctx, bounds, opts) { + const {x, y, radius} = this; + bounds = bounds || {start: 0, end: TAU}; + ctx.arc(x, y, radius, bounds.end, bounds.start, true); + return !opts.bounds; + } + interpolate(point) { + const {x, y, radius} = this; + const angle = point.angle; + return { + x: x + Math.cos(angle) * radius, + y: y + Math.sin(angle) * radius, + angle + }; + } +} + +function _getTarget(source) { + const {chart, fill, line} = source; + if (isNumberFinite(fill)) { + return getLineByIndex(chart, fill); + } + if (fill === 'stack') { + return _buildStackLine(source); + } + if (fill === 'shape') { + return true; + } + const boundary = computeBoundary(source); + if (boundary instanceof simpleArc) { + return boundary; + } + return _createBoundaryLine(boundary, line); +} +function getLineByIndex(chart, index) { + const meta = chart.getDatasetMeta(index); + const visible = meta && chart.isDatasetVisible(index); + return visible ? meta.dataset : null; +} +function computeBoundary(source) { + const scale = source.scale || {}; + if (scale.getPointPositionForValue) { + return computeCircularBoundary(source); + } + return computeLinearBoundary(source); +} +function computeLinearBoundary(source) { + const {scale = {}, fill} = source; + const pixel = _getTargetPixel(fill, scale); + if (isNumberFinite(pixel)) { + const horizontal = scale.isHorizontal(); + return { + x: horizontal ? pixel : null, + y: horizontal ? null : pixel + }; + } + return null; +} +function computeCircularBoundary(source) { + const {scale, fill} = source; + const options = scale.options; + const length = scale.getLabels().length; + const start = options.reverse ? scale.max : scale.min; + const value = _getTargetValue(fill, scale, start); + const target = []; + if (options.grid.circular) { + const center = scale.getPointPositionForValue(0, start); + return new simpleArc({ + x: center.x, + y: center.y, + radius: scale.getDistanceFromCenterForValue(value) + }); + } + for (let i = 0; i < length; ++i) { + target.push(scale.getPointPositionForValue(i, value)); + } + return target; +} + +function _drawfill(ctx, source, area) { + const target = _getTarget(source); + const {line, scale, axis} = source; + const lineOpts = line.options; + const fillOption = lineOpts.fill; + const color = lineOpts.backgroundColor; + const {above = color, below = color} = fillOption || {}; + if (target && line.points.length) { + clipArea(ctx, area); + doFill(ctx, {line, target, above, below, area, scale, axis}); + unclipArea(ctx); + } +} +function doFill(ctx, cfg) { + const {line, target, above, below, area, scale} = cfg; + const property = line._loop ? 'angle' : cfg.axis; + ctx.save(); + if (property === 'x' && below !== above) { + clipVertical(ctx, target, area.top); + fill(ctx, {line, target, color: above, scale, property}); + ctx.restore(); + ctx.save(); + clipVertical(ctx, target, area.bottom); + } + fill(ctx, {line, target, color: below, scale, property}); + ctx.restore(); +} +function clipVertical(ctx, target, clipY) { + const {segments, points} = target; + let first = true; + let lineLoop = false; + ctx.beginPath(); + for (const segment of segments) { + const {start, end} = segment; + const firstPoint = points[start]; + const lastPoint = points[_findSegmentEnd(start, end, points)]; + if (first) { + ctx.moveTo(firstPoint.x, firstPoint.y); + first = false; + } else { + ctx.lineTo(firstPoint.x, clipY); + ctx.lineTo(firstPoint.x, firstPoint.y); + } + lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop}); + if (lineLoop) { + ctx.closePath(); + } else { + ctx.lineTo(lastPoint.x, clipY); + } + } + ctx.lineTo(target.first().x, clipY); + ctx.closePath(); + ctx.clip(); +} +function fill(ctx, cfg) { + const {line, target, property, color, scale} = cfg; + const segments = _segments(line, target, property); + for (const {source: src, target: tgt, start, end} of segments) { + const {style: {backgroundColor = color} = {}} = src; + const notShape = target !== true; + ctx.save(); + ctx.fillStyle = backgroundColor; + clipBounds(ctx, scale, notShape && _getBounds(property, start, end)); + ctx.beginPath(); + const lineLoop = !!line.pathSegment(ctx, src); + let loop; + if (notShape) { + if (lineLoop) { + ctx.closePath(); + } else { + interpolatedLineTo(ctx, target, end, property); + } + const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true}); + loop = lineLoop && targetLoop; + if (!loop) { + interpolatedLineTo(ctx, target, start, property); + } + } + ctx.closePath(); + ctx.fill(loop ? 'evenodd' : 'nonzero'); + ctx.restore(); + } +} +function clipBounds(ctx, scale, bounds) { + const {top, bottom} = scale.chart.chartArea; + const {property, start, end} = bounds || {}; + if (property === 'x') { + ctx.beginPath(); + ctx.rect(start, top, end - start, bottom - top); + ctx.clip(); + } +} +function interpolatedLineTo(ctx, target, point, property) { + const interpolatedPoint = target.interpolate(point, property); + if (interpolatedPoint) { + ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y); + } +} + +var index = { + id: 'filler', + afterDatasetsUpdate(chart, _args, options) { + const count = (chart.data.datasets || []).length; + const sources = []; + let meta, i, line, source; + for (i = 0; i < count; ++i) { + meta = chart.getDatasetMeta(i); + line = meta.dataset; + source = null; + if (line && line.options && line instanceof LineElement) { + source = { + visible: chart.isDatasetVisible(i), + index: i, + fill: _decodeFill(line, i, count), + chart, + axis: meta.controller.options.indexAxis, + scale: meta.vScale, + line, + }; + } + meta.$filler = source; + sources.push(source); + } + for (i = 0; i < count; ++i) { + source = sources[i]; + if (!source || source.fill === false) { + continue; + } + source.fill = _resolveTarget(sources, i, options.propagate); + } + }, + beforeDraw(chart, _args, options) { + const draw = options.drawTime === 'beforeDraw'; + const metasets = chart.getSortedVisibleDatasetMetas(); + const area = chart.chartArea; + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (!source) { + continue; + } + source.line.updateControlPoints(area, source.axis); + if (draw && source.fill) { + _drawfill(chart.ctx, source, area); + } + } + }, + beforeDatasetsDraw(chart, _args, options) { + if (options.drawTime !== 'beforeDatasetsDraw') { + return; + } + const metasets = chart.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (_shouldApplyFill(source)) { + _drawfill(chart.ctx, source, chart.chartArea); + } + } + }, + beforeDatasetDraw(chart, args, options) { + const source = args.meta.$filler; + if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') { + return; + } + _drawfill(chart.ctx, source, chart.chartArea); + }, + defaults: { + propagate: true, + drawTime: 'beforeDatasetDraw' + } +}; + +const getBoxSize = (labelOpts, fontSize) => { + let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts; + if (labelOpts.usePointStyle) { + boxHeight = Math.min(boxHeight, fontSize); + boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); + } + return { + boxWidth, + boxHeight, + itemHeight: Math.max(fontSize, boxHeight) + }; +}; +const itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index; +class Legend extends Element { + constructor(config) { + super(); + this._added = false; + this.legendHitBoxes = []; + this._hoveredItem = null; + this.doughnutMode = false; + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this.legendItems = undefined; + this.columnSizes = undefined; + this.lineWidths = undefined; + this.maxHeight = undefined; + this.maxWidth = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.height = undefined; + this.width = undefined; + this._margins = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight, margins) { + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins; + this.setDimensions(); + this.buildLabels(); + this.fit(); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = this._margins.left; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = this._margins.top; + this.bottom = this.height; + } + } + buildLabels() { + const labelOpts = this.options.labels || {}; + let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || []; + if (labelOpts.filter) { + legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data)); + } + if (labelOpts.sort) { + legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data)); + } + if (this.options.reverse) { + legendItems.reverse(); + } + this.legendItems = legendItems; + } + fit() { + const {options, ctx} = this; + if (!options.display) { + this.width = this.height = 0; + return; + } + const labelOpts = options.labels; + const labelFont = toFont(labelOpts.font); + const fontSize = labelFont.size; + const titleHeight = this._computeTitleHeight(); + const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize); + let width, height; + ctx.font = labelFont.string; + if (this.isHorizontal()) { + width = this.maxWidth; + height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } else { + height = this.maxHeight; + width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } + this.width = Math.min(width, options.maxWidth || this.maxWidth); + this.height = Math.min(height, options.maxHeight || this.maxHeight); + } + _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxWidth, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const lineWidths = this.lineWidths = [0]; + const lineHeight = itemHeight + padding; + let totalHeight = titleHeight; + ctx.textAlign = 'left'; + ctx.textBaseline = 'middle'; + let row = -1; + let top = -lineHeight; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) { + totalHeight += lineHeight; + lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; + top += lineHeight; + row++; + } + hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight}; + lineWidths[lineWidths.length - 1] += itemWidth + padding; + }); + return totalHeight; + } + _fitCols(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxHeight, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const columnSizes = this.columnSizes = []; + const heightLimit = maxHeight - titleHeight; + let totalWidth = padding; + let currentColWidth = 0; + let currentColHeight = 0; + let left = 0; + let col = 0; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { + totalWidth += currentColWidth + padding; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + left += currentColWidth + padding; + col++; + currentColWidth = currentColHeight = 0; + } + hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight}; + currentColWidth = Math.max(currentColWidth, itemWidth); + currentColHeight += itemHeight + padding; + }); + totalWidth += currentColWidth; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + return totalWidth; + } + adjustHitBoxes() { + if (!this.options.display) { + return; + } + const titleHeight = this._computeTitleHeight(); + const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this; + const rtlHelper = getRtlAdapter(rtl, this.left, this.width); + if (this.isHorizontal()) { + let row = 0; + let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + for (const hitbox of hitboxes) { + if (row !== hitbox.row) { + row = hitbox.row; + left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + } + hitbox.top += this.top + titleHeight + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width); + left += hitbox.width + padding; + } + } else { + let col = 0; + let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + for (const hitbox of hitboxes) { + if (hitbox.col !== col) { + col = hitbox.col; + top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + } + hitbox.top = top; + hitbox.left += this.left + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); + top += hitbox.height + padding; + } + } + } + isHorizontal() { + return this.options.position === 'top' || this.options.position === 'bottom'; + } + draw() { + if (this.options.display) { + const ctx = this.ctx; + clipArea(ctx, this); + this._draw(); + unclipArea(ctx); + } + } + _draw() { + const {options: opts, columnSizes, lineWidths, ctx} = this; + const {align, labels: labelOpts} = opts; + const defaultColor = defaults.color; + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const labelFont = toFont(labelOpts.font); + const {color: fontColor, padding} = labelOpts; + const fontSize = labelFont.size; + const halfFontSize = fontSize / 2; + let cursor; + this.drawTitle(); + ctx.textAlign = rtlHelper.textAlign('left'); + ctx.textBaseline = 'middle'; + ctx.lineWidth = 0.5; + ctx.font = labelFont.string; + const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize); + const drawLegendBox = function(x, y, legendItem) { + if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) { + return; + } + ctx.save(); + const lineWidth = valueOrDefault(legendItem.lineWidth, 1); + ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor); + ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt'); + ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0); + ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter'); + ctx.lineWidth = lineWidth; + ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor); + ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); + if (labelOpts.usePointStyle) { + const drawOptions = { + radius: boxHeight * Math.SQRT2 / 2, + pointStyle: legendItem.pointStyle, + rotation: legendItem.rotation, + borderWidth: lineWidth + }; + const centerX = rtlHelper.xPlus(x, boxWidth / 2); + const centerY = y + halfFontSize; + drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); + } else { + const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); + const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); + const borderRadius = toTRBLCorners(legendItem.borderRadius); + ctx.beginPath(); + if (Object.values(borderRadius).some(v => v !== 0)) { + addRoundedRectPath(ctx, { + x: xBoxLeft, + y: yBoxTop, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + } else { + ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight); + } + ctx.fill(); + if (lineWidth !== 0) { + ctx.stroke(); + } + } + ctx.restore(); + }; + const fillText = function(x, y, legendItem) { + renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, { + strikethrough: legendItem.hidden, + textAlign: rtlHelper.textAlign(legendItem.textAlign) + }); + }; + const isHorizontal = this.isHorizontal(); + const titleHeight = this._computeTitleHeight(); + if (isHorizontal) { + cursor = { + x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]), + y: this.top + padding + titleHeight, + line: 0 + }; + } else { + cursor = { + x: this.left + padding, + y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height), + line: 0 + }; + } + overrideTextDirection(this.ctx, opts.textDirection); + const lineHeight = itemHeight + padding; + this.legendItems.forEach((legendItem, i) => { + ctx.strokeStyle = legendItem.fontColor || fontColor; + ctx.fillStyle = legendItem.fontColor || fontColor; + const textWidth = ctx.measureText(legendItem.text).width; + const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); + const width = boxWidth + halfFontSize + textWidth; + let x = cursor.x; + let y = cursor.y; + rtlHelper.setWidth(this.width); + if (isHorizontal) { + if (i > 0 && x + width + padding > this.right) { + y = cursor.y += lineHeight; + cursor.line++; + x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]); + } + } else if (i > 0 && y + lineHeight > this.bottom) { + x = cursor.x = x + columnSizes[cursor.line].width + padding; + cursor.line++; + y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height); + } + const realX = rtlHelper.x(x); + drawLegendBox(realX, y, legendItem); + x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl); + fillText(rtlHelper.x(x), y, legendItem); + if (isHorizontal) { + cursor.x += width + padding; + } else { + cursor.y += lineHeight; + } + }); + restoreTextDirection(this.ctx, opts.textDirection); + } + drawTitle() { + const opts = this.options; + const titleOpts = opts.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + if (!titleOpts.display) { + return; + } + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const ctx = this.ctx; + const position = titleOpts.position; + const halfFontSize = titleFont.size / 2; + const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize; + let y; + let left = this.left; + let maxWidth = this.width; + if (this.isHorizontal()) { + maxWidth = Math.max(...this.lineWidths); + y = this.top + topPaddingPlusHalfFontSize; + left = _alignStartEnd(opts.align, left, this.right - maxWidth); + } else { + const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0); + y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight()); + } + const x = _alignStartEnd(position, left, left + maxWidth); + ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position)); + ctx.textBaseline = 'middle'; + ctx.strokeStyle = titleOpts.color; + ctx.fillStyle = titleOpts.color; + ctx.font = titleFont.string; + renderText(ctx, titleOpts.text, x, y, titleFont); + } + _computeTitleHeight() { + const titleOpts = this.options.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0; + } + _getLegendItemAt(x, y) { + let i, hitBox, lh; + if (_isBetween(x, this.left, this.right) + && _isBetween(y, this.top, this.bottom)) { + lh = this.legendHitBoxes; + for (i = 0; i < lh.length; ++i) { + hitBox = lh[i]; + if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) + && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) { + return this.legendItems[i]; + } + } + } + return null; + } + handleEvent(e) { + const opts = this.options; + if (!isListened(e.type, opts)) { + return; + } + const hoveredItem = this._getLegendItemAt(e.x, e.y); + if (e.type === 'mousemove' || e.type === 'mouseout') { + const previous = this._hoveredItem; + const sameItem = itemsEqual(previous, hoveredItem); + if (previous && !sameItem) { + callback(opts.onLeave, [e, previous, this], this); + } + this._hoveredItem = hoveredItem; + if (hoveredItem && !sameItem) { + callback(opts.onHover, [e, hoveredItem, this], this); + } + } else if (hoveredItem) { + callback(opts.onClick, [e, hoveredItem, this], this); + } + } +} +function isListened(type, opts) { + if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) { + return true; + } + if (opts.onClick && (type === 'click' || type === 'mouseup')) { + return true; + } + return false; +} +var plugin_legend = { + id: 'legend', + _element: Legend, + start(chart, _args, options) { + const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart}); + layouts.configure(chart, legend, options); + layouts.addBox(chart, legend); + }, + stop(chart) { + layouts.removeBox(chart, chart.legend); + delete chart.legend; + }, + beforeUpdate(chart, _args, options) { + const legend = chart.legend; + layouts.configure(chart, legend, options); + legend.options = options; + }, + afterUpdate(chart) { + const legend = chart.legend; + legend.buildLabels(); + legend.adjustHitBoxes(); + }, + afterEvent(chart, args) { + if (!args.replay) { + chart.legend.handleEvent(args.event); + } + }, + defaults: { + display: true, + position: 'top', + align: 'center', + fullSize: true, + reverse: false, + weight: 1000, + onClick(e, legendItem, legend) { + const index = legendItem.datasetIndex; + const ci = legend.chart; + if (ci.isDatasetVisible(index)) { + ci.hide(index); + legendItem.hidden = true; + } else { + ci.show(index); + legendItem.hidden = false; + } + }, + onHover: null, + onLeave: null, + labels: { + color: (ctx) => ctx.chart.options.color, + boxWidth: 40, + padding: 10, + generateLabels(chart) { + const datasets = chart.data.datasets; + const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options; + return chart._getSortedDatasetMetas().map((meta) => { + const style = meta.controller.getStyle(usePointStyle ? 0 : undefined); + const borderWidth = toPadding(style.borderWidth); + return { + text: datasets[meta.index].label, + fillStyle: style.backgroundColor, + fontColor: color, + hidden: !meta.visible, + lineCap: style.borderCapStyle, + lineDash: style.borderDash, + lineDashOffset: style.borderDashOffset, + lineJoin: style.borderJoinStyle, + lineWidth: (borderWidth.width + borderWidth.height) / 4, + strokeStyle: style.borderColor, + pointStyle: pointStyle || style.pointStyle, + rotation: style.rotation, + textAlign: textAlign || style.textAlign, + borderRadius: 0, + datasetIndex: meta.index + }; + }, this); + } + }, + title: { + color: (ctx) => ctx.chart.options.color, + display: false, + position: 'center', + text: '', + } + }, + descriptors: { + _scriptable: (name) => !name.startsWith('on'), + labels: { + _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name), + } + }, +}; + +class Title extends Element { + constructor(config) { + super(); + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this._padding = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight) { + const opts = this.options; + this.left = 0; + this.top = 0; + if (!opts.display) { + this.width = this.height = this.right = this.bottom = 0; + return; + } + this.width = this.right = maxWidth; + this.height = this.bottom = maxHeight; + const lineCount = isArray(opts.text) ? opts.text.length : 1; + this._padding = toPadding(opts.padding); + const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height; + if (this.isHorizontal()) { + this.height = textSize; + } else { + this.width = textSize; + } + } + isHorizontal() { + const pos = this.options.position; + return pos === 'top' || pos === 'bottom'; + } + _drawArgs(offset) { + const {top, left, bottom, right, options} = this; + const align = options.align; + let rotation = 0; + let maxWidth, titleX, titleY; + if (this.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + titleY = top + offset; + maxWidth = right - left; + } else { + if (options.position === 'left') { + titleX = left + offset; + titleY = _alignStartEnd(align, bottom, top); + rotation = PI * -0.5; + } else { + titleX = right - offset; + titleY = _alignStartEnd(align, top, bottom); + rotation = PI * 0.5; + } + maxWidth = bottom - top; + } + return {titleX, titleY, maxWidth, rotation}; + } + draw() { + const ctx = this.ctx; + const opts = this.options; + if (!opts.display) { + return; + } + const fontOpts = toFont(opts.font); + const lineHeight = fontOpts.lineHeight; + const offset = lineHeight / 2 + this._padding.top; + const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset); + renderText(ctx, opts.text, 0, 0, fontOpts, { + color: opts.color, + maxWidth, + rotation, + textAlign: _toLeftRightCenter(opts.align), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } +} +function createTitle(chart, titleOpts) { + const title = new Title({ + ctx: chart.ctx, + options: titleOpts, + chart + }); + layouts.configure(chart, title, titleOpts); + layouts.addBox(chart, title); + chart.titleBlock = title; +} +var plugin_title = { + id: 'title', + _element: Title, + start(chart, _args, options) { + createTitle(chart, options); + }, + stop(chart) { + const titleBlock = chart.titleBlock; + layouts.removeBox(chart, titleBlock); + delete chart.titleBlock; + }, + beforeUpdate(chart, _args, options) { + const title = chart.titleBlock; + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'bold', + }, + fullSize: true, + padding: 10, + position: 'top', + text: '', + weight: 2000 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const map = new WeakMap(); +var plugin_subtitle = { + id: 'subtitle', + start(chart, _args, options) { + const title = new Title({ + ctx: chart.ctx, + options, + chart + }); + layouts.configure(chart, title, options); + layouts.addBox(chart, title); + map.set(chart, title); + }, + stop(chart) { + layouts.removeBox(chart, map.get(chart)); + map.delete(chart); + }, + beforeUpdate(chart, _args, options) { + const title = map.get(chart); + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'normal', + }, + fullSize: true, + padding: 0, + position: 'top', + text: '', + weight: 1500 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const positioners = { + average(items) { + if (!items.length) { + return false; + } + let i, len; + let x = 0; + let y = 0; + let count = 0; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const pos = el.tooltipPosition(); + x += pos.x; + y += pos.y; + ++count; + } + } + return { + x: x / count, + y: y / count + }; + }, + nearest(items, eventPosition) { + if (!items.length) { + return false; + } + let x = eventPosition.x; + let y = eventPosition.y; + let minDistance = Number.POSITIVE_INFINITY; + let i, len, nearestElement; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const center = el.getCenterPoint(); + const d = distanceBetweenPoints(eventPosition, center); + if (d < minDistance) { + minDistance = d; + nearestElement = el; + } + } + } + if (nearestElement) { + const tp = nearestElement.tooltipPosition(); + x = tp.x; + y = tp.y; + } + return { + x, + y + }; + } +}; +function pushOrConcat(base, toPush) { + if (toPush) { + if (isArray(toPush)) { + Array.prototype.push.apply(base, toPush); + } else { + base.push(toPush); + } + } + return base; +} +function splitNewlines(str) { + if ((typeof str === 'string' || str instanceof String) && str.indexOf('\n') > -1) { + return str.split('\n'); + } + return str; +} +function createTooltipItem(chart, item) { + const {element, datasetIndex, index} = item; + const controller = chart.getDatasetMeta(datasetIndex).controller; + const {label, value} = controller.getLabelAndValue(index); + return { + chart, + label, + parsed: controller.getParsed(index), + raw: chart.data.datasets[datasetIndex].data[index], + formattedValue: value, + dataset: controller.getDataset(), + dataIndex: index, + datasetIndex, + element + }; +} +function getTooltipSize(tooltip, options) { + const ctx = tooltip.chart.ctx; + const {body, footer, title} = tooltip; + const {boxWidth, boxHeight} = options; + const bodyFont = toFont(options.bodyFont); + const titleFont = toFont(options.titleFont); + const footerFont = toFont(options.footerFont); + const titleLineCount = title.length; + const footerLineCount = footer.length; + const bodyLineItemCount = body.length; + const padding = toPadding(options.padding); + let height = padding.height; + let width = 0; + let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0); + combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length; + if (titleLineCount) { + height += titleLineCount * titleFont.lineHeight + + (titleLineCount - 1) * options.titleSpacing + + options.titleMarginBottom; + } + if (combinedBodyLength) { + const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight; + height += bodyLineItemCount * bodyLineHeight + + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + + (combinedBodyLength - 1) * options.bodySpacing; + } + if (footerLineCount) { + height += options.footerMarginTop + + footerLineCount * footerFont.lineHeight + + (footerLineCount - 1) * options.footerSpacing; + } + let widthPadding = 0; + const maxLineWidth = function(line) { + width = Math.max(width, ctx.measureText(line).width + widthPadding); + }; + ctx.save(); + ctx.font = titleFont.string; + each(tooltip.title, maxLineWidth); + ctx.font = bodyFont.string; + each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth); + widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0; + each(body, (bodyItem) => { + each(bodyItem.before, maxLineWidth); + each(bodyItem.lines, maxLineWidth); + each(bodyItem.after, maxLineWidth); + }); + widthPadding = 0; + ctx.font = footerFont.string; + each(tooltip.footer, maxLineWidth); + ctx.restore(); + width += padding.width; + return {width, height}; +} +function determineYAlign(chart, size) { + const {y, height} = size; + if (y < height / 2) { + return 'top'; + } else if (y > (chart.height - height / 2)) { + return 'bottom'; + } + return 'center'; +} +function doesNotFitWithAlign(xAlign, chart, options, size) { + const {x, width} = size; + const caret = options.caretSize + options.caretPadding; + if (xAlign === 'left' && x + width + caret > chart.width) { + return true; + } + if (xAlign === 'right' && x - width - caret < 0) { + return true; + } +} +function determineXAlign(chart, options, size, yAlign) { + const {x, width} = size; + const {width: chartWidth, chartArea: {left, right}} = chart; + let xAlign = 'center'; + if (yAlign === 'center') { + xAlign = x <= (left + right) / 2 ? 'left' : 'right'; + } else if (x <= width / 2) { + xAlign = 'left'; + } else if (x >= chartWidth - width / 2) { + xAlign = 'right'; + } + if (doesNotFitWithAlign(xAlign, chart, options, size)) { + xAlign = 'center'; + } + return xAlign; +} +function determineAlignment(chart, options, size) { + const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size); + return { + xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign), + yAlign + }; +} +function alignX(size, xAlign) { + let {x, width} = size; + if (xAlign === 'right') { + x -= width; + } else if (xAlign === 'center') { + x -= (width / 2); + } + return x; +} +function alignY(size, yAlign, paddingAndSize) { + let {y, height} = size; + if (yAlign === 'top') { + y += paddingAndSize; + } else if (yAlign === 'bottom') { + y -= height + paddingAndSize; + } else { + y -= (height / 2); + } + return y; +} +function getBackgroundPoint(options, size, alignment, chart) { + const {caretSize, caretPadding, cornerRadius} = options; + const {xAlign, yAlign} = alignment; + const paddingAndSize = caretSize + caretPadding; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + let x = alignX(size, xAlign); + const y = alignY(size, yAlign, paddingAndSize); + if (yAlign === 'center') { + if (xAlign === 'left') { + x += paddingAndSize; + } else if (xAlign === 'right') { + x -= paddingAndSize; + } + } else if (xAlign === 'left') { + x -= Math.max(topLeft, bottomLeft) + caretSize; + } else if (xAlign === 'right') { + x += Math.max(topRight, bottomRight) + caretSize; + } + return { + x: _limitValue(x, 0, chart.width - size.width), + y: _limitValue(y, 0, chart.height - size.height) + }; +} +function getAlignedX(tooltip, align, options) { + const padding = toPadding(options.padding); + return align === 'center' + ? tooltip.x + tooltip.width / 2 + : align === 'right' + ? tooltip.x + tooltip.width - padding.right + : tooltip.x + padding.left; +} +function getBeforeAfterBodyLines(callback) { + return pushOrConcat([], splitNewlines(callback)); +} +function createTooltipContext(parent, tooltip, tooltipItems) { + return createContext(parent, { + tooltip, + tooltipItems, + type: 'tooltip' + }); +} +function overrideCallbacks(callbacks, context) { + const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; + return override ? callbacks.override(override) : callbacks; +} +class Tooltip extends Element { + constructor(config) { + super(); + this.opacity = 0; + this._active = []; + this._eventPosition = undefined; + this._size = undefined; + this._cachedAnimations = undefined; + this._tooltipItems = []; + this.$animations = undefined; + this.$context = undefined; + this.chart = config.chart || config._chart; + this._chart = this.chart; + this.options = config.options; + this.dataPoints = undefined; + this.title = undefined; + this.beforeBody = undefined; + this.body = undefined; + this.afterBody = undefined; + this.footer = undefined; + this.xAlign = undefined; + this.yAlign = undefined; + this.x = undefined; + this.y = undefined; + this.height = undefined; + this.width = undefined; + this.caretX = undefined; + this.caretY = undefined; + this.labelColors = undefined; + this.labelPointStyles = undefined; + this.labelTextColors = undefined; + } + initialize(options) { + this.options = options; + this._cachedAnimations = undefined; + this.$context = undefined; + } + _resolveAnimations() { + const cached = this._cachedAnimations; + if (cached) { + return cached; + } + const chart = this.chart; + const options = this.options.setContext(this.getContext()); + const opts = options.enabled && chart.options.animation && options.animations; + const animations = new Animations(this.chart, opts); + if (opts._cacheable) { + this._cachedAnimations = Object.freeze(animations); + } + return animations; + } + getContext() { + return this.$context || + (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems)); + } + getTitle(context, options) { + const {callbacks} = options; + const beforeTitle = callbacks.beforeTitle.apply(this, [context]); + const title = callbacks.title.apply(this, [context]); + const afterTitle = callbacks.afterTitle.apply(this, [context]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeTitle)); + lines = pushOrConcat(lines, splitNewlines(title)); + lines = pushOrConcat(lines, splitNewlines(afterTitle)); + return lines; + } + getBeforeBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems])); + } + getBody(tooltipItems, options) { + const {callbacks} = options; + const bodyItems = []; + each(tooltipItems, (context) => { + const bodyItem = { + before: [], + lines: [], + after: [] + }; + const scoped = overrideCallbacks(callbacks, context); + pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context))); + pushOrConcat(bodyItem.lines, scoped.label.call(this, context)); + pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context))); + bodyItems.push(bodyItem); + }); + return bodyItems; + } + getAfterBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems])); + } + getFooter(tooltipItems, options) { + const {callbacks} = options; + const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]); + const footer = callbacks.footer.apply(this, [tooltipItems]); + const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeFooter)); + lines = pushOrConcat(lines, splitNewlines(footer)); + lines = pushOrConcat(lines, splitNewlines(afterFooter)); + return lines; + } + _createItems(options) { + const active = this._active; + const data = this.chart.data; + const labelColors = []; + const labelPointStyles = []; + const labelTextColors = []; + let tooltipItems = []; + let i, len; + for (i = 0, len = active.length; i < len; ++i) { + tooltipItems.push(createTooltipItem(this.chart, active[i])); + } + if (options.filter) { + tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data)); + } + if (options.itemSort) { + tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data)); + } + each(tooltipItems, (context) => { + const scoped = overrideCallbacks(options.callbacks, context); + labelColors.push(scoped.labelColor.call(this, context)); + labelPointStyles.push(scoped.labelPointStyle.call(this, context)); + labelTextColors.push(scoped.labelTextColor.call(this, context)); + }); + this.labelColors = labelColors; + this.labelPointStyles = labelPointStyles; + this.labelTextColors = labelTextColors; + this.dataPoints = tooltipItems; + return tooltipItems; + } + update(changed, replay) { + const options = this.options.setContext(this.getContext()); + const active = this._active; + let properties; + let tooltipItems = []; + if (!active.length) { + if (this.opacity !== 0) { + properties = { + opacity: 0 + }; + } + } else { + const position = positioners[options.position].call(this, active, this._eventPosition); + tooltipItems = this._createItems(options); + this.title = this.getTitle(tooltipItems, options); + this.beforeBody = this.getBeforeBody(tooltipItems, options); + this.body = this.getBody(tooltipItems, options); + this.afterBody = this.getAfterBody(tooltipItems, options); + this.footer = this.getFooter(tooltipItems, options); + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, size); + const alignment = determineAlignment(this.chart, options, positionAndSize); + const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart); + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + properties = { + opacity: 1, + x: backgroundPoint.x, + y: backgroundPoint.y, + width: size.width, + height: size.height, + caretX: position.x, + caretY: position.y + }; + } + this._tooltipItems = tooltipItems; + this.$context = undefined; + if (properties) { + this._resolveAnimations().update(this, properties); + } + if (changed && options.external) { + options.external.call(this, {chart: this.chart, tooltip: this, replay}); + } + } + drawCaret(tooltipPoint, ctx, size, options) { + const caretPosition = this.getCaretPosition(tooltipPoint, size, options); + ctx.lineTo(caretPosition.x1, caretPosition.y1); + ctx.lineTo(caretPosition.x2, caretPosition.y2); + ctx.lineTo(caretPosition.x3, caretPosition.y3); + } + getCaretPosition(tooltipPoint, size, options) { + const {xAlign, yAlign} = this; + const {caretSize, cornerRadius} = options; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + const {x: ptX, y: ptY} = tooltipPoint; + const {width, height} = size; + let x1, x2, x3, y1, y2, y3; + if (yAlign === 'center') { + y2 = ptY + (height / 2); + if (xAlign === 'left') { + x1 = ptX; + x2 = x1 - caretSize; + y1 = y2 + caretSize; + y3 = y2 - caretSize; + } else { + x1 = ptX + width; + x2 = x1 + caretSize; + y1 = y2 - caretSize; + y3 = y2 + caretSize; + } + x3 = x1; + } else { + if (xAlign === 'left') { + x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize); + } else if (xAlign === 'right') { + x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize; + } else { + x2 = this.caretX; + } + if (yAlign === 'top') { + y1 = ptY; + y2 = y1 - caretSize; + x1 = x2 - caretSize; + x3 = x2 + caretSize; + } else { + y1 = ptY + height; + y2 = y1 + caretSize; + x1 = x2 + caretSize; + x3 = x2 - caretSize; + } + y3 = y1; + } + return {x1, x2, x3, y1, y2, y3}; + } + drawTitle(pt, ctx, options) { + const title = this.title; + const length = title.length; + let titleFont, titleSpacing, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.titleAlign, options); + ctx.textAlign = rtlHelper.textAlign(options.titleAlign); + ctx.textBaseline = 'middle'; + titleFont = toFont(options.titleFont); + titleSpacing = options.titleSpacing; + ctx.fillStyle = options.titleColor; + ctx.font = titleFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2); + pt.y += titleFont.lineHeight + titleSpacing; + if (i + 1 === length) { + pt.y += options.titleMarginBottom - titleSpacing; + } + } + } + } + _drawColorBox(ctx, pt, i, rtlHelper, options) { + const labelColors = this.labelColors[i]; + const labelPointStyle = this.labelPointStyles[i]; + const {boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + const colorX = getAlignedX(this, 'left', options); + const rtlColorX = rtlHelper.x(colorX); + const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0; + const colorY = pt.y + yOffSet; + if (options.usePointStyle) { + const drawOptions = { + radius: Math.min(boxWidth, boxHeight) / 2, + pointStyle: labelPointStyle.pointStyle, + rotation: labelPointStyle.rotation, + borderWidth: 1 + }; + const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2; + const centerY = colorY + boxHeight / 2; + ctx.strokeStyle = options.multiKeyBackground; + ctx.fillStyle = options.multiKeyBackground; + drawPoint(ctx, drawOptions, centerX, centerY); + ctx.strokeStyle = labelColors.borderColor; + ctx.fillStyle = labelColors.backgroundColor; + drawPoint(ctx, drawOptions, centerX, centerY); + } else { + ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1); + ctx.strokeStyle = labelColors.borderColor; + ctx.setLineDash(labelColors.borderDash || []); + ctx.lineDashOffset = labelColors.borderDashOffset || 0; + const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding); + const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2); + const borderRadius = toTRBLCorners(labelColors.borderRadius); + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + ctx.fillStyle = options.multiKeyBackground; + addRoundedRectPath(ctx, { + x: outerX, + y: colorY, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + ctx.fill(); + ctx.stroke(); + ctx.fillStyle = labelColors.backgroundColor; + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: innerX, + y: colorY + 1, + w: boxWidth - 2, + h: boxHeight - 2, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillStyle = options.multiKeyBackground; + ctx.fillRect(outerX, colorY, boxWidth, boxHeight); + ctx.strokeRect(outerX, colorY, boxWidth, boxHeight); + ctx.fillStyle = labelColors.backgroundColor; + ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2); + } + } + ctx.fillStyle = this.labelTextColors[i]; + } + drawBody(pt, ctx, options) { + const {body} = this; + const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + let bodyLineHeight = bodyFont.lineHeight; + let xLinePadding = 0; + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + const fillLineOfText = function(line) { + ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2); + pt.y += bodyLineHeight + bodySpacing; + }; + const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign); + let bodyItem, textColor, lines, i, j, ilen, jlen; + ctx.textAlign = bodyAlign; + ctx.textBaseline = 'middle'; + ctx.font = bodyFont.string; + pt.x = getAlignedX(this, bodyAlignForCalculation, options); + ctx.fillStyle = options.bodyColor; + each(this.beforeBody, fillLineOfText); + xLinePadding = displayColors && bodyAlignForCalculation !== 'right' + ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding) + : 0; + for (i = 0, ilen = body.length; i < ilen; ++i) { + bodyItem = body[i]; + textColor = this.labelTextColors[i]; + ctx.fillStyle = textColor; + each(bodyItem.before, fillLineOfText); + lines = bodyItem.lines; + if (displayColors && lines.length) { + this._drawColorBox(ctx, pt, i, rtlHelper, options); + bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight); + } + for (j = 0, jlen = lines.length; j < jlen; ++j) { + fillLineOfText(lines[j]); + bodyLineHeight = bodyFont.lineHeight; + } + each(bodyItem.after, fillLineOfText); + } + xLinePadding = 0; + bodyLineHeight = bodyFont.lineHeight; + each(this.afterBody, fillLineOfText); + pt.y -= bodySpacing; + } + drawFooter(pt, ctx, options) { + const footer = this.footer; + const length = footer.length; + let footerFont, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.footerAlign, options); + pt.y += options.footerMarginTop; + ctx.textAlign = rtlHelper.textAlign(options.footerAlign); + ctx.textBaseline = 'middle'; + footerFont = toFont(options.footerFont); + ctx.fillStyle = options.footerColor; + ctx.font = footerFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2); + pt.y += footerFont.lineHeight + options.footerSpacing; + } + } + } + drawBackground(pt, ctx, tooltipSize, options) { + const {xAlign, yAlign} = this; + const {x, y} = pt; + const {width, height} = tooltipSize; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius); + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.beginPath(); + ctx.moveTo(x + topLeft, y); + if (yAlign === 'top') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width - topRight, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + topRight); + if (yAlign === 'center' && xAlign === 'right') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width, y + height - bottomRight); + ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height); + if (yAlign === 'bottom') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + bottomLeft, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft); + if (yAlign === 'center' && xAlign === 'left') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x, y + topLeft); + ctx.quadraticCurveTo(x, y, x + topLeft, y); + ctx.closePath(); + ctx.fill(); + if (options.borderWidth > 0) { + ctx.stroke(); + } + } + _updateAnimationTarget(options) { + const chart = this.chart; + const anims = this.$animations; + const animX = anims && anims.x; + const animY = anims && anims.y; + if (animX || animY) { + const position = positioners[options.position].call(this, this._active, this._eventPosition); + if (!position) { + return; + } + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, this._size); + const alignment = determineAlignment(chart, options, positionAndSize); + const point = getBackgroundPoint(options, positionAndSize, alignment, chart); + if (animX._to !== point.x || animY._to !== point.y) { + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + this.width = size.width; + this.height = size.height; + this.caretX = position.x; + this.caretY = position.y; + this._resolveAnimations().update(this, point); + } + } + } + _willRender() { + return !!this.opacity; + } + draw(ctx) { + const options = this.options.setContext(this.getContext()); + let opacity = this.opacity; + if (!opacity) { + return; + } + this._updateAnimationTarget(options); + const tooltipSize = { + width: this.width, + height: this.height + }; + const pt = { + x: this.x, + y: this.y + }; + opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity; + const padding = toPadding(options.padding); + const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length; + if (options.enabled && hasTooltipContent) { + ctx.save(); + ctx.globalAlpha = opacity; + this.drawBackground(pt, ctx, tooltipSize, options); + overrideTextDirection(ctx, options.textDirection); + pt.y += padding.top; + this.drawTitle(pt, ctx, options); + this.drawBody(pt, ctx, options); + this.drawFooter(pt, ctx, options); + restoreTextDirection(ctx, options.textDirection); + ctx.restore(); + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements, eventPosition) { + const lastActive = this._active; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.chart.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('Cannot find a dataset at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(lastActive, active); + const positionChanged = this._positionChanged(active, eventPosition); + if (changed || positionChanged) { + this._active = active; + this._eventPosition = eventPosition; + this._ignoreReplayEvents = true; + this.update(true); + } + } + handleEvent(e, replay, inChartArea = true) { + if (replay && this._ignoreReplayEvents) { + return false; + } + this._ignoreReplayEvents = false; + const options = this.options; + const lastActive = this._active || []; + const active = this._getActiveElements(e, lastActive, replay, inChartArea); + const positionChanged = this._positionChanged(active, e); + const changed = replay || !_elementsEqual(active, lastActive) || positionChanged; + if (changed) { + this._active = active; + if (options.enabled || options.external) { + this._eventPosition = { + x: e.x, + y: e.y + }; + this.update(true, replay); + } + } + return changed; + } + _getActiveElements(e, lastActive, replay, inChartArea) { + const options = this.options; + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay); + if (options.reverse) { + active.reverse(); + } + return active; + } + _positionChanged(active, e) { + const {caretX, caretY, options} = this; + const position = positioners[options.position].call(this, active, e); + return position !== false && (caretX !== position.x || caretY !== position.y); + } +} +Tooltip.positioners = positioners; +var plugin_tooltip = { + id: 'tooltip', + _element: Tooltip, + positioners, + afterInit(chart, _args, options) { + if (options) { + chart.tooltip = new Tooltip({chart, options}); + } + }, + beforeUpdate(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + reset(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + afterDraw(chart) { + const tooltip = chart.tooltip; + if (tooltip && tooltip._willRender()) { + const args = { + tooltip + }; + if (chart.notifyPlugins('beforeTooltipDraw', args) === false) { + return; + } + tooltip.draw(chart.ctx); + chart.notifyPlugins('afterTooltipDraw', args); + } + }, + afterEvent(chart, args) { + if (chart.tooltip) { + const useFinalPosition = args.replay; + if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) { + args.changed = true; + } + } + }, + defaults: { + enabled: true, + external: null, + position: 'average', + backgroundColor: 'rgba(0,0,0,0.8)', + titleColor: '#fff', + titleFont: { + weight: 'bold', + }, + titleSpacing: 2, + titleMarginBottom: 6, + titleAlign: 'left', + bodyColor: '#fff', + bodySpacing: 2, + bodyFont: { + }, + bodyAlign: 'left', + footerColor: '#fff', + footerSpacing: 2, + footerMarginTop: 6, + footerFont: { + weight: 'bold', + }, + footerAlign: 'left', + padding: 6, + caretPadding: 2, + caretSize: 5, + cornerRadius: 6, + boxHeight: (ctx, opts) => opts.bodyFont.size, + boxWidth: (ctx, opts) => opts.bodyFont.size, + multiKeyBackground: '#fff', + displayColors: true, + boxPadding: 0, + borderColor: 'rgba(0,0,0,0)', + borderWidth: 0, + animation: { + duration: 400, + easing: 'easeOutQuart', + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'], + }, + opacity: { + easing: 'linear', + duration: 200 + } + }, + callbacks: { + beforeTitle: noop, + title(tooltipItems) { + if (tooltipItems.length > 0) { + const item = tooltipItems[0]; + const labels = item.chart.data.labels; + const labelCount = labels ? labels.length : 0; + if (this && this.options && this.options.mode === 'dataset') { + return item.dataset.label || ''; + } else if (item.label) { + return item.label; + } else if (labelCount > 0 && item.dataIndex < labelCount) { + return labels[item.dataIndex]; + } + } + return ''; + }, + afterTitle: noop, + beforeBody: noop, + beforeLabel: noop, + label(tooltipItem) { + if (this && this.options && this.options.mode === 'dataset') { + return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue; + } + let label = tooltipItem.dataset.label || ''; + if (label) { + label += ': '; + } + const value = tooltipItem.formattedValue; + if (!isNullOrUndef(value)) { + label += value; + } + return label; + }, + labelColor(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + borderColor: options.borderColor, + backgroundColor: options.backgroundColor, + borderWidth: options.borderWidth, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderRadius: 0, + }; + }, + labelTextColor() { + return this.options.bodyColor; + }, + labelPointStyle(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + pointStyle: options.pointStyle, + rotation: options.rotation, + }; + }, + afterLabel: noop, + afterBody: noop, + beforeFooter: noop, + footer: noop, + afterFooter: noop + } + }, + defaultRoutes: { + bodyFont: 'font', + footerFont: 'font', + titleFont: 'font' + }, + descriptors: { + _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external', + _indexable: false, + callbacks: { + _scriptable: false, + _indexable: false, + }, + animation: { + _fallback: false + }, + animations: { + _fallback: 'animation' + } + }, + additionalOptionScopes: ['interaction'] +}; + +var plugins = /*#__PURE__*/Object.freeze({ +__proto__: null, +Decimation: plugin_decimation, +Filler: index, +Legend: plugin_legend, +SubTitle: plugin_subtitle, +Title: plugin_title, +Tooltip: plugin_tooltip +}); + +const addIfString = (labels, raw, index, addedLabels) => { + if (typeof raw === 'string') { + index = labels.push(raw) - 1; + addedLabels.unshift({index, label: raw}); + } else if (isNaN(raw)) { + index = null; + } + return index; +}; +function findOrAddLabel(labels, raw, index, addedLabels) { + const first = labels.indexOf(raw); + if (first === -1) { + return addIfString(labels, raw, index, addedLabels); + } + const last = labels.lastIndexOf(raw); + return first !== last ? index : first; +} +const validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max); +class CategoryScale extends Scale { + constructor(cfg) { + super(cfg); + this._startValue = undefined; + this._valueRange = 0; + this._addedLabels = []; + } + init(scaleOptions) { + const added = this._addedLabels; + if (added.length) { + const labels = this.getLabels(); + for (const {index, label} of added) { + if (labels[index] === label) { + labels.splice(index, 1); + } + } + this._addedLabels = []; + } + super.init(scaleOptions); + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + const labels = this.getLabels(); + index = isFinite(index) && labels[index] === raw ? index + : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels); + return validIndex(index, labels.length - 1); + } + determineDataLimits() { + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this.getMinMax(true); + if (this.options.bounds === 'ticks') { + if (!minDefined) { + min = 0; + } + if (!maxDefined) { + max = this.getLabels().length - 1; + } + } + this.min = min; + this.max = max; + } + buildTicks() { + const min = this.min; + const max = this.max; + const offset = this.options.offset; + const ticks = []; + let labels = this.getLabels(); + labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1); + this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); + this._startValue = this.min - (offset ? 0.5 : 0); + for (let value = min; value <= max; value++) { + ticks.push({value}); + } + return ticks; + } + getLabelForValue(value) { + const labels = this.getLabels(); + if (value >= 0 && value < labels.length) { + return labels[value]; + } + return value; + } + configure() { + super.configure(); + if (!this.isHorizontal()) { + this._reversePixels = !this._reversePixels; + } + } + getPixelForValue(value) { + if (typeof value !== 'number') { + value = this.parse(value); + } + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getValueForPixel(pixel) { + return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange); + } + getBasePixel() { + return this.bottom; + } +} +CategoryScale.id = 'category'; +CategoryScale.defaults = { + ticks: { + callback: CategoryScale.prototype.getLabelForValue + } +}; + +function generateTicks$1(generationOptions, dataRange) { + const ticks = []; + const MIN_SPACING = 1e-14; + const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions; + const unit = step || 1; + const maxSpaces = maxTicks - 1; + const {min: rmin, max: rmax} = dataRange; + const minDefined = !isNullOrUndef(min); + const maxDefined = !isNullOrUndef(max); + const countDefined = !isNullOrUndef(count); + const minSpacing = (rmax - rmin) / (maxDigits + 1); + let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; + let factor, niceMin, niceMax, numSpaces; + if (spacing < MIN_SPACING && !minDefined && !maxDefined) { + return [{value: rmin}, {value: rmax}]; + } + numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); + if (numSpaces > maxSpaces) { + spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit; + } + if (!isNullOrUndef(precision)) { + factor = Math.pow(10, precision); + spacing = Math.ceil(spacing * factor) / factor; + } + if (bounds === 'ticks') { + niceMin = Math.floor(rmin / spacing) * spacing; + niceMax = Math.ceil(rmax / spacing) * spacing; + } else { + niceMin = rmin; + niceMax = rmax; + } + if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) { + numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks)); + spacing = (max - min) / numSpaces; + niceMin = min; + niceMax = max; + } else if (countDefined) { + niceMin = minDefined ? min : niceMin; + niceMax = maxDefined ? max : niceMax; + numSpaces = count - 1; + spacing = (niceMax - niceMin) / numSpaces; + } else { + numSpaces = (niceMax - niceMin) / spacing; + if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) { + numSpaces = Math.round(numSpaces); + } else { + numSpaces = Math.ceil(numSpaces); + } + } + const decimalPlaces = Math.max( + _decimalPlaces(spacing), + _decimalPlaces(niceMin) + ); + factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision); + niceMin = Math.round(niceMin * factor) / factor; + niceMax = Math.round(niceMax * factor) / factor; + let j = 0; + if (minDefined) { + if (includeBounds && niceMin !== min) { + ticks.push({value: min}); + if (niceMin < min) { + j++; + } + if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) { + j++; + } + } else if (niceMin < min) { + j++; + } + } + for (; j < numSpaces; ++j) { + ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor}); + } + if (maxDefined && includeBounds && niceMax !== max) { + if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { + ticks[ticks.length - 1].value = max; + } else { + ticks.push({value: max}); + } + } else if (!maxDefined || niceMax === max) { + ticks.push({value: niceMax}); + } + return ticks; +} +function relativeLabelSize(value, minSpacing, {horizontal, minRotation}) { + const rad = toRadians(minRotation); + const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001; + const length = 0.75 * minSpacing * ('' + value).length; + return Math.min(minSpacing / ratio, length); +} +class LinearScaleBase extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._endValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) { + return null; + } + return +raw; + } + handleTickRangeOptions() { + const {beginAtZero} = this.options; + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + if (beginAtZero) { + const minSign = sign(min); + const maxSign = sign(max); + if (minSign < 0 && maxSign < 0) { + setMax(0); + } else if (minSign > 0 && maxSign > 0) { + setMin(0); + } + } + if (min === max) { + let offset = 1; + if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) { + offset = Math.abs(max * 0.05); + } + setMax(max + offset); + if (!beginAtZero) { + setMin(min - offset); + } + } + this.min = min; + this.max = max; + } + getTickLimit() { + const tickOpts = this.options.ticks; + let {maxTicksLimit, stepSize} = tickOpts; + let maxTicks; + if (stepSize) { + maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1; + if (maxTicks > 1000) { + console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`); + maxTicks = 1000; + } + } else { + maxTicks = this.computeTickLimit(); + maxTicksLimit = maxTicksLimit || 11; + } + if (maxTicksLimit) { + maxTicks = Math.min(maxTicksLimit, maxTicks); + } + return maxTicks; + } + computeTickLimit() { + return Number.POSITIVE_INFINITY; + } + buildTicks() { + const opts = this.options; + const tickOpts = opts.ticks; + let maxTicks = this.getTickLimit(); + maxTicks = Math.max(2, maxTicks); + const numericGeneratorOptions = { + maxTicks, + bounds: opts.bounds, + min: opts.min, + max: opts.max, + precision: tickOpts.precision, + step: tickOpts.stepSize, + count: tickOpts.count, + maxDigits: this._maxDigits(), + horizontal: this.isHorizontal(), + minRotation: tickOpts.minRotation || 0, + includeBounds: tickOpts.includeBounds !== false + }; + const dataRange = this._range || this; + const ticks = generateTicks$1(numericGeneratorOptions, dataRange); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + configure() { + const ticks = this.ticks; + let start = this.min; + let end = this.max; + super.configure(); + if (this.options.offset && ticks.length) { + const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2; + start -= offset; + end += offset; + } + this._startValue = start; + this._endValue = end; + this._valueRange = end - start; + } + getLabelForValue(value) { + return formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } +} + +class LinearScale extends LinearScaleBase { + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? min : 0; + this.max = isNumberFinite(max) ? max : 1; + this.handleTickRangeOptions(); + } + computeTickLimit() { + const horizontal = this.isHorizontal(); + const length = horizontal ? this.width : this.height; + const minRotation = toRadians(this.options.ticks.minRotation); + const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001; + const tickFont = this._resolveTickFontOptions(0); + return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio)); + } + getPixelForValue(value) { + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; + } +} +LinearScale.id = 'linear'; +LinearScale.defaults = { + ticks: { + callback: Ticks.formatters.numeric + } +}; + +function isMajor(tickVal) { + const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal)))); + return remain === 1; +} +function generateTicks(generationOptions, dataRange) { + const endExp = Math.floor(log10(dataRange.max)); + const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp)); + const ticks = []; + let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min)))); + let exp = Math.floor(log10(tickVal)); + let significand = Math.floor(tickVal / Math.pow(10, exp)); + let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; + do { + ticks.push({value: tickVal, major: isMajor(tickVal)}); + ++significand; + if (significand === 10) { + significand = 1; + ++exp; + precision = exp >= 0 ? 1 : precision; + } + tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision; + } while (exp < endExp || (exp === endExp && significand < endSignificand)); + const lastTick = finiteOrDefault(generationOptions.max, tickVal); + ticks.push({value: lastTick, major: isMajor(tickVal)}); + return ticks; +} +class LogarithmicScale extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]); + if (value === 0) { + this._zero = true; + return undefined; + } + return isNumberFinite(value) && value > 0 ? value : null; + } + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? Math.max(0, min) : null; + this.max = isNumberFinite(max) ? Math.max(0, max) : null; + if (this.options.beginAtZero) { + this._zero = true; + } + this.handleTickRangeOptions(); + } + handleTickRangeOptions() { + const {minDefined, maxDefined} = this.getUserBounds(); + let min = this.min; + let max = this.max; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m); + if (min === max) { + if (min <= 0) { + setMin(1); + setMax(10); + } else { + setMin(exp(min, -1)); + setMax(exp(max, +1)); + } + } + if (min <= 0) { + setMin(exp(max, -1)); + } + if (max <= 0) { + setMax(exp(min, +1)); + } + if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) { + setMin(exp(min, -1)); + } + this.min = min; + this.max = max; + } + buildTicks() { + const opts = this.options; + const generationOptions = { + min: this._userMin, + max: this._userMax + }; + const ticks = generateTicks(generationOptions, this); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + getLabelForValue(value) { + return value === undefined + ? '0' + : formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } + configure() { + const start = this.min; + super.configure(); + this._startValue = log10(start); + this._valueRange = log10(this.max) - log10(start); + } + getPixelForValue(value) { + if (value === undefined || value === 0) { + value = this.min; + } + if (value === null || isNaN(value)) { + return NaN; + } + return this.getPixelForDecimal(value === this.min + ? 0 + : (log10(value) - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + const decimal = this.getDecimalForPixel(pixel); + return Math.pow(10, this._startValue + decimal * this._valueRange); + } +} +LogarithmicScale.id = 'logarithmic'; +LogarithmicScale.defaults = { + ticks: { + callback: Ticks.formatters.logarithmic, + major: { + enabled: true + } + } +}; + +function getTickBackdropHeight(opts) { + const tickOpts = opts.ticks; + if (tickOpts.display && opts.display) { + const padding = toPadding(tickOpts.backdropPadding); + return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height; + } + return 0; +} +function measureLabelSize(ctx, font, label) { + label = isArray(label) ? label : [label]; + return { + w: _longestText(ctx, font.string, label), + h: label.length * font.lineHeight + }; +} +function determineLimits(angle, pos, size, min, max) { + if (angle === min || angle === max) { + return { + start: pos - (size / 2), + end: pos + (size / 2) + }; + } else if (angle < min || angle > max) { + return { + start: pos - size, + end: pos + }; + } + return { + start: pos, + end: pos + size + }; +} +function fitWithPointLabels(scale) { + const orig = { + l: scale.left + scale._padding.left, + r: scale.right - scale._padding.right, + t: scale.top + scale._padding.top, + b: scale.bottom - scale._padding.bottom + }; + const limits = Object.assign({}, orig); + const labelSizes = []; + const padding = []; + const valueCount = scale._pointLabels.length; + const pointLabelOpts = scale.options.pointLabels; + const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i)); + padding[i] = opts.padding; + const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle); + const plFont = toFont(opts.font); + const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]); + labelSizes[i] = textSize; + const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle); + const angle = Math.round(toDegrees(angleRadians)); + const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180); + const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270); + updateLimits(limits, orig, angleRadians, hLimits, vLimits); + } + scale.setCenterPoint( + orig.l - limits.l, + limits.r - orig.r, + orig.t - limits.t, + limits.b - orig.b + ); + scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding); +} +function updateLimits(limits, orig, angle, hLimits, vLimits) { + const sin = Math.abs(Math.sin(angle)); + const cos = Math.abs(Math.cos(angle)); + let x = 0; + let y = 0; + if (hLimits.start < orig.l) { + x = (orig.l - hLimits.start) / sin; + limits.l = Math.min(limits.l, orig.l - x); + } else if (hLimits.end > orig.r) { + x = (hLimits.end - orig.r) / sin; + limits.r = Math.max(limits.r, orig.r + x); + } + if (vLimits.start < orig.t) { + y = (orig.t - vLimits.start) / cos; + limits.t = Math.min(limits.t, orig.t - y); + } else if (vLimits.end > orig.b) { + y = (vLimits.end - orig.b) / cos; + limits.b = Math.max(limits.b, orig.b + y); + } +} +function buildPointLabelItems(scale, labelSizes, padding) { + const items = []; + const valueCount = scale._pointLabels.length; + const opts = scale.options; + const extra = getTickBackdropHeight(opts) / 2; + const outerDistance = scale.drawingArea; + const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle); + const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI))); + const size = labelSizes[i]; + const y = yForAngle(pointLabelPosition.y, size.h, angle); + const textAlign = getTextAlignForAngle(angle); + const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign); + items.push({ + x: pointLabelPosition.x, + y, + textAlign, + left, + top: y, + right: left + size.w, + bottom: y + size.h + }); + } + return items; +} +function getTextAlignForAngle(angle) { + if (angle === 0 || angle === 180) { + return 'center'; + } else if (angle < 180) { + return 'left'; + } + return 'right'; +} +function leftForTextAlign(x, w, align) { + if (align === 'right') { + x -= w; + } else if (align === 'center') { + x -= (w / 2); + } + return x; +} +function yForAngle(y, h, angle) { + if (angle === 90 || angle === 270) { + y -= (h / 2); + } else if (angle > 270 || angle < 90) { + y -= h; + } + return y; +} +function drawPointLabels(scale, labelCount) { + const {ctx, options: {pointLabels}} = scale; + for (let i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i)); + const plFont = toFont(optsAtIndex.font); + const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i]; + const {backdropColor} = optsAtIndex; + if (!isNullOrUndef(backdropColor)) { + const borderRadius = toTRBLCorners(optsAtIndex.borderRadius); + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillStyle = backdropColor; + const backdropLeft = left - padding.left; + const backdropTop = top - padding.top; + const backdropWidth = right - left + padding.width; + const backdropHeight = bottom - top + padding.height; + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: backdropLeft, + y: backdropTop, + w: backdropWidth, + h: backdropHeight, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); + } + } + renderText( + ctx, + scale._pointLabels[i], + x, + y + (plFont.lineHeight / 2), + plFont, + { + color: optsAtIndex.color, + textAlign: textAlign, + textBaseline: 'middle' + } + ); + } +} +function pathRadiusLine(scale, radius, circular, labelCount) { + const {ctx} = scale; + if (circular) { + ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); + } else { + let pointPosition = scale.getPointPosition(0, radius); + ctx.moveTo(pointPosition.x, pointPosition.y); + for (let i = 1; i < labelCount; i++) { + pointPosition = scale.getPointPosition(i, radius); + ctx.lineTo(pointPosition.x, pointPosition.y); + } + } +} +function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { + const ctx = scale.ctx; + const circular = gridLineOpts.circular; + const {color, lineWidth} = gridLineOpts; + if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) { + return; + } + ctx.save(); + ctx.strokeStyle = color; + ctx.lineWidth = lineWidth; + ctx.setLineDash(gridLineOpts.borderDash); + ctx.lineDashOffset = gridLineOpts.borderDashOffset; + ctx.beginPath(); + pathRadiusLine(scale, radius, circular, labelCount); + ctx.closePath(); + ctx.stroke(); + ctx.restore(); +} +function createPointLabelContext(parent, index, label) { + return createContext(parent, { + label, + index, + type: 'pointLabel' + }); +} +class RadialLinearScale extends LinearScaleBase { + constructor(cfg) { + super(cfg); + this.xCenter = undefined; + this.yCenter = undefined; + this.drawingArea = undefined; + this._pointLabels = []; + this._pointLabelItems = []; + } + setDimensions() { + const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2); + const w = this.width = this.maxWidth - padding.width; + const h = this.height = this.maxHeight - padding.height; + this.xCenter = Math.floor(this.left + w / 2 + padding.left); + this.yCenter = Math.floor(this.top + h / 2 + padding.top); + this.drawingArea = Math.floor(Math.min(w, h) / 2); + } + determineDataLimits() { + const {min, max} = this.getMinMax(false); + this.min = isNumberFinite(min) && !isNaN(min) ? min : 0; + this.max = isNumberFinite(max) && !isNaN(max) ? max : 0; + this.handleTickRangeOptions(); + } + computeTickLimit() { + return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options)); + } + generateTickLabels(ticks) { + LinearScaleBase.prototype.generateTickLabels.call(this, ticks); + this._pointLabels = this.getLabels() + .map((value, index) => { + const label = callback(this.options.pointLabels.callback, [value, index], this); + return label || label === 0 ? label : ''; + }) + .filter((v, i) => this.chart.getDataVisibility(i)); + } + fit() { + const opts = this.options; + if (opts.display && opts.pointLabels.display) { + fitWithPointLabels(this); + } else { + this.setCenterPoint(0, 0, 0, 0); + } + } + setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) { + this.xCenter += Math.floor((leftMovement - rightMovement) / 2); + this.yCenter += Math.floor((topMovement - bottomMovement) / 2); + this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement)); + } + getIndexAngle(index) { + const angleMultiplier = TAU / (this._pointLabels.length || 1); + const startAngle = this.options.startAngle || 0; + return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); + } + getDistanceFromCenterForValue(value) { + if (isNullOrUndef(value)) { + return NaN; + } + const scalingFactor = this.drawingArea / (this.max - this.min); + if (this.options.reverse) { + return (this.max - value) * scalingFactor; + } + return (value - this.min) * scalingFactor; + } + getValueForDistanceFromCenter(distance) { + if (isNullOrUndef(distance)) { + return NaN; + } + const scaledDistance = distance / (this.drawingArea / (this.max - this.min)); + return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance; + } + getPointLabelContext(index) { + const pointLabels = this._pointLabels || []; + if (index >= 0 && index < pointLabels.length) { + const pointLabel = pointLabels[index]; + return createPointLabelContext(this.getContext(), index, pointLabel); + } + } + getPointPosition(index, distanceFromCenter, additionalAngle = 0) { + const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle; + return { + x: Math.cos(angle) * distanceFromCenter + this.xCenter, + y: Math.sin(angle) * distanceFromCenter + this.yCenter, + angle + }; + } + getPointPositionForValue(index, value) { + return this.getPointPosition(index, this.getDistanceFromCenterForValue(value)); + } + getBasePosition(index) { + return this.getPointPositionForValue(index || 0, this.getBaseValue()); + } + getPointLabelPosition(index) { + const {left, top, right, bottom} = this._pointLabelItems[index]; + return { + left, + top, + right, + bottom, + }; + } + drawBackground() { + const {backgroundColor, grid: {circular}} = this.options; + if (backgroundColor) { + const ctx = this.ctx; + ctx.save(); + ctx.beginPath(); + pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length); + ctx.closePath(); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + } + drawGrid() { + const ctx = this.ctx; + const opts = this.options; + const {angleLines, grid} = opts; + const labelCount = this._pointLabels.length; + let i, offset, position; + if (opts.pointLabels.display) { + drawPointLabels(this, labelCount); + } + if (grid.display) { + this.ticks.forEach((tick, index) => { + if (index !== 0) { + offset = this.getDistanceFromCenterForValue(tick.value); + const optsAtIndex = grid.setContext(this.getContext(index - 1)); + drawRadiusLine(this, optsAtIndex, offset, labelCount); + } + }); + } + if (angleLines.display) { + ctx.save(); + for (i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i)); + const {color, lineWidth} = optsAtIndex; + if (!lineWidth || !color) { + continue; + } + ctx.lineWidth = lineWidth; + ctx.strokeStyle = color; + ctx.setLineDash(optsAtIndex.borderDash); + ctx.lineDashOffset = optsAtIndex.borderDashOffset; + offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max); + position = this.getPointPosition(i, offset); + ctx.beginPath(); + ctx.moveTo(this.xCenter, this.yCenter); + ctx.lineTo(position.x, position.y); + ctx.stroke(); + } + ctx.restore(); + } + } + drawBorder() {} + drawLabels() { + const ctx = this.ctx; + const opts = this.options; + const tickOpts = opts.ticks; + if (!tickOpts.display) { + return; + } + const startAngle = this.getIndexAngle(0); + let offset, width; + ctx.save(); + ctx.translate(this.xCenter, this.yCenter); + ctx.rotate(startAngle); + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + this.ticks.forEach((tick, index) => { + if (index === 0 && !opts.reverse) { + return; + } + const optsAtIndex = tickOpts.setContext(this.getContext(index)); + const tickFont = toFont(optsAtIndex.font); + offset = this.getDistanceFromCenterForValue(this.ticks[index].value); + if (optsAtIndex.showLabelBackdrop) { + ctx.font = tickFont.string; + width = ctx.measureText(tick.label).width; + ctx.fillStyle = optsAtIndex.backdropColor; + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillRect( + -width / 2 - padding.left, + -offset - tickFont.size / 2 - padding.top, + width + padding.width, + tickFont.size + padding.height + ); + } + renderText(ctx, tick.label, 0, -offset, tickFont, { + color: optsAtIndex.color, + }); + }); + ctx.restore(); + } + drawTitle() {} +} +RadialLinearScale.id = 'radialLinear'; +RadialLinearScale.defaults = { + display: true, + animate: true, + position: 'chartArea', + angleLines: { + display: true, + lineWidth: 1, + borderDash: [], + borderDashOffset: 0.0 + }, + grid: { + circular: false + }, + startAngle: 0, + ticks: { + showLabelBackdrop: true, + callback: Ticks.formatters.numeric + }, + pointLabels: { + backdropColor: undefined, + backdropPadding: 2, + display: true, + font: { + size: 10 + }, + callback(label) { + return label; + }, + padding: 5, + centerPointLabels: false + } +}; +RadialLinearScale.defaultRoutes = { + 'angleLines.color': 'borderColor', + 'pointLabels.color': 'color', + 'ticks.color': 'color' +}; +RadialLinearScale.descriptors = { + angleLines: { + _fallback: 'grid' + } +}; + +const INTERVALS = { + millisecond: {common: true, size: 1, steps: 1000}, + second: {common: true, size: 1000, steps: 60}, + minute: {common: true, size: 60000, steps: 60}, + hour: {common: true, size: 3600000, steps: 24}, + day: {common: true, size: 86400000, steps: 30}, + week: {common: false, size: 604800000, steps: 4}, + month: {common: true, size: 2.628e9, steps: 12}, + quarter: {common: false, size: 7.884e9, steps: 4}, + year: {common: true, size: 3.154e10} +}; +const UNITS = (Object.keys(INTERVALS)); +function sorter(a, b) { + return a - b; +} +function parse(scale, input) { + if (isNullOrUndef(input)) { + return null; + } + const adapter = scale._adapter; + const {parser, round, isoWeekday} = scale._parseOpts; + let value = input; + if (typeof parser === 'function') { + value = parser(value); + } + if (!isNumberFinite(value)) { + value = typeof parser === 'string' + ? adapter.parse(value, parser) + : adapter.parse(value); + } + if (value === null) { + return null; + } + if (round) { + value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) + ? adapter.startOf(value, 'isoWeek', isoWeekday) + : adapter.startOf(value, round); + } + return +value; +} +function determineUnitForAutoTicks(minUnit, min, max, capacity) { + const ilen = UNITS.length; + for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) { + const interval = INTERVALS[UNITS[i]]; + const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER; + if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) { + return UNITS[i]; + } + } + return UNITS[ilen - 1]; +} +function determineUnitForFormatting(scale, numTicks, minUnit, min, max) { + for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) { + const unit = UNITS[i]; + if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) { + return unit; + } + } + return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0]; +} +function determineMajorUnit(unit) { + for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) { + if (INTERVALS[UNITS[i]].common) { + return UNITS[i]; + } + } +} +function addTick(ticks, time, timestamps) { + if (!timestamps) { + ticks[time] = true; + } else if (timestamps.length) { + const {lo, hi} = _lookup(timestamps, time); + const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi]; + ticks[timestamp] = true; + } +} +function setMajorTicks(scale, ticks, map, majorUnit) { + const adapter = scale._adapter; + const first = +adapter.startOf(ticks[0].value, majorUnit); + const last = ticks[ticks.length - 1].value; + let major, index; + for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) { + index = map[major]; + if (index >= 0) { + ticks[index].major = true; + } + } + return ticks; +} +function ticksFromTimestamps(scale, values, majorUnit) { + const ticks = []; + const map = {}; + const ilen = values.length; + let i, value; + for (i = 0; i < ilen; ++i) { + value = values[i]; + map[value] = i; + ticks.push({ + value, + major: false + }); + } + return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit); +} +class TimeScale extends Scale { + constructor(props) { + super(props); + this._cache = { + data: [], + labels: [], + all: [] + }; + this._unit = 'day'; + this._majorUnit = undefined; + this._offsets = {}; + this._normalized = false; + this._parseOpts = undefined; + } + init(scaleOpts, opts) { + const time = scaleOpts.time || (scaleOpts.time = {}); + const adapter = this._adapter = new _adapters._date(scaleOpts.adapters.date); + adapter.init(opts); + mergeIf(time.displayFormats, adapter.formats()); + this._parseOpts = { + parser: time.parser, + round: time.round, + isoWeekday: time.isoWeekday + }; + super.init(scaleOpts); + this._normalized = opts.normalized; + } + parse(raw, index) { + if (raw === undefined) { + return null; + } + return parse(this, raw); + } + beforeLayout() { + super.beforeLayout(); + this._cache = { + data: [], + labels: [], + all: [] + }; + } + determineDataLimits() { + const options = this.options; + const adapter = this._adapter; + const unit = options.time.unit || 'day'; + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + function _applyBounds(bounds) { + if (!minDefined && !isNaN(bounds.min)) { + min = Math.min(min, bounds.min); + } + if (!maxDefined && !isNaN(bounds.max)) { + max = Math.max(max, bounds.max); + } + } + if (!minDefined || !maxDefined) { + _applyBounds(this._getLabelBounds()); + if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') { + _applyBounds(this.getMinMax(false)); + } + } + min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit); + max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1; + this.min = Math.min(min, max - 1); + this.max = Math.max(min + 1, max); + } + _getLabelBounds() { + const arr = this.getLabelTimestamps(); + let min = Number.POSITIVE_INFINITY; + let max = Number.NEGATIVE_INFINITY; + if (arr.length) { + min = arr[0]; + max = arr[arr.length - 1]; + } + return {min, max}; + } + buildTicks() { + const options = this.options; + const timeOpts = options.time; + const tickOpts = options.ticks; + const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate(); + if (options.bounds === 'ticks' && timestamps.length) { + this.min = this._userMin || timestamps[0]; + this.max = this._userMax || timestamps[timestamps.length - 1]; + } + const min = this.min; + const max = this.max; + const ticks = _filterBetween(timestamps, min, max); + this._unit = timeOpts.unit || (tickOpts.autoSkip + ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) + : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max)); + this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined + : determineMajorUnit(this._unit); + this.initOffsets(timestamps); + if (options.reverse) { + ticks.reverse(); + } + return ticksFromTimestamps(this, ticks, this._majorUnit); + } + afterAutoSkip() { + if (this.options.offsetAfterAutoskip) { + this.initOffsets(this.ticks.map(tick => +tick.value)); + } + } + initOffsets(timestamps) { + let start = 0; + let end = 0; + let first, last; + if (this.options.offset && timestamps.length) { + first = this.getDecimalForValue(timestamps[0]); + if (timestamps.length === 1) { + start = 1 - first; + } else { + start = (this.getDecimalForValue(timestamps[1]) - first) / 2; + } + last = this.getDecimalForValue(timestamps[timestamps.length - 1]); + if (timestamps.length === 1) { + end = last; + } else { + end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2; + } + } + const limit = timestamps.length < 3 ? 0.5 : 0.25; + start = _limitValue(start, 0, limit); + end = _limitValue(end, 0, limit); + this._offsets = {start, end, factor: 1 / (start + 1 + end)}; + } + _generate() { + const adapter = this._adapter; + const min = this.min; + const max = this.max; + const options = this.options; + const timeOpts = options.time; + const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); + const stepSize = valueOrDefault(timeOpts.stepSize, 1); + const weekday = minor === 'week' ? timeOpts.isoWeekday : false; + const hasWeekday = isNumber(weekday) || weekday === true; + const ticks = {}; + let first = min; + let time, count; + if (hasWeekday) { + first = +adapter.startOf(first, 'isoWeek', weekday); + } + first = +adapter.startOf(first, hasWeekday ? 'day' : minor); + if (adapter.diff(max, min, minor) > 100000 * stepSize) { + throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor); + } + const timestamps = options.ticks.source === 'data' && this.getDataTimestamps(); + for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) { + addTick(ticks, time, timestamps); + } + if (time === max || options.bounds === 'ticks' || count === 1) { + addTick(ticks, time, timestamps); + } + return Object.keys(ticks).sort((a, b) => a - b).map(x => +x); + } + getLabelForValue(value) { + const adapter = this._adapter; + const timeOpts = this.options.time; + if (timeOpts.tooltipFormat) { + return adapter.format(value, timeOpts.tooltipFormat); + } + return adapter.format(value, timeOpts.displayFormats.datetime); + } + _tickFormatFunction(time, index, ticks, format) { + const options = this.options; + const formats = options.time.displayFormats; + const unit = this._unit; + const majorUnit = this._majorUnit; + const minorFormat = unit && formats[unit]; + const majorFormat = majorUnit && formats[majorUnit]; + const tick = ticks[index]; + const major = majorUnit && majorFormat && tick && tick.major; + const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat)); + const formatter = options.ticks.callback; + return formatter ? callback(formatter, [label, index, ticks], this) : label; + } + generateTickLabels(ticks) { + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + tick.label = this._tickFormatFunction(tick.value, i, ticks); + } + } + getDecimalForValue(value) { + return value === null ? NaN : (value - this.min) / (this.max - this.min); + } + getPixelForValue(value) { + const offsets = this._offsets; + const pos = this.getDecimalForValue(value); + return this.getPixelForDecimal((offsets.start + pos) * offsets.factor); + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return this.min + pos * (this.max - this.min); + } + _getLabelSize(label) { + const ticksOpts = this.options.ticks; + const tickLabelWidth = this.ctx.measureText(label).width; + const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation); + const cosRotation = Math.cos(angle); + const sinRotation = Math.sin(angle); + const tickFontSize = this._resolveTickFontOptions(0).size; + return { + w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation), + h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation) + }; + } + _getLabelCapacity(exampleTime) { + const timeOpts = this.options.time; + const displayFormats = timeOpts.displayFormats; + const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; + const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format); + const size = this._getLabelSize(exampleLabel); + const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; + return capacity > 0 ? capacity : 1; + } + getDataTimestamps() { + let timestamps = this._cache.data || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const metas = this.getMatchingVisibleMetas(); + if (this._normalized && metas.length) { + return (this._cache.data = metas[0].controller.getAllParsedValues(this)); + } + for (i = 0, ilen = metas.length; i < ilen; ++i) { + timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this)); + } + return (this._cache.data = this.normalize(timestamps)); + } + getLabelTimestamps() { + const timestamps = this._cache.labels || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const labels = this.getLabels(); + for (i = 0, ilen = labels.length; i < ilen; ++i) { + timestamps.push(parse(this, labels[i])); + } + return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps)); + } + normalize(values) { + return _arrayUnique(values.sort(sorter)); + } +} +TimeScale.id = 'time'; +TimeScale.defaults = { + bounds: 'data', + adapters: {}, + time: { + parser: false, + unit: false, + round: false, + isoWeekday: false, + minUnit: 'millisecond', + displayFormats: {} + }, + ticks: { + source: 'auto', + major: { + enabled: false + } + } +}; + +function interpolate(table, val, reverse) { + let lo = 0; + let hi = table.length - 1; + let prevSource, nextSource, prevTarget, nextTarget; + if (reverse) { + if (val >= table[lo].pos && val <= table[hi].pos) { + ({lo, hi} = _lookupByKey(table, 'pos', val)); + } + ({pos: prevSource, time: prevTarget} = table[lo]); + ({pos: nextSource, time: nextTarget} = table[hi]); + } else { + if (val >= table[lo].time && val <= table[hi].time) { + ({lo, hi} = _lookupByKey(table, 'time', val)); + } + ({time: prevSource, pos: prevTarget} = table[lo]); + ({time: nextSource, pos: nextTarget} = table[hi]); + } + const span = nextSource - prevSource; + return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget; +} +class TimeSeriesScale extends TimeScale { + constructor(props) { + super(props); + this._table = []; + this._minPos = undefined; + this._tableRange = undefined; + } + initOffsets() { + const timestamps = this._getTimestampsForTable(); + const table = this._table = this.buildLookupTable(timestamps); + this._minPos = interpolate(table, this.min); + this._tableRange = interpolate(table, this.max) - this._minPos; + super.initOffsets(timestamps); + } + buildLookupTable(timestamps) { + const {min, max} = this; + const items = []; + const table = []; + let i, ilen, prev, curr, next; + for (i = 0, ilen = timestamps.length; i < ilen; ++i) { + curr = timestamps[i]; + if (curr >= min && curr <= max) { + items.push(curr); + } + } + if (items.length < 2) { + return [ + {time: min, pos: 0}, + {time: max, pos: 1} + ]; + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + next = items[i + 1]; + prev = items[i - 1]; + curr = items[i]; + if (Math.round((next + prev) / 2) !== curr) { + table.push({time: curr, pos: i / (ilen - 1)}); + } + } + return table; + } + _getTimestampsForTable() { + let timestamps = this._cache.all || []; + if (timestamps.length) { + return timestamps; + } + const data = this.getDataTimestamps(); + const label = this.getLabelTimestamps(); + if (data.length && label.length) { + timestamps = this.normalize(data.concat(label)); + } else { + timestamps = data.length ? data : label; + } + timestamps = this._cache.all = timestamps; + return timestamps; + } + getDecimalForValue(value) { + return (interpolate(this._table, value) - this._minPos) / this._tableRange; + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return interpolate(this._table, decimal * this._tableRange + this._minPos, true); + } +} +TimeSeriesScale.id = 'timeseries'; +TimeSeriesScale.defaults = TimeScale.defaults; + +var scales = /*#__PURE__*/Object.freeze({ +__proto__: null, +CategoryScale: CategoryScale, +LinearScale: LinearScale, +LogarithmicScale: LogarithmicScale, +RadialLinearScale: RadialLinearScale, +TimeScale: TimeScale, +TimeSeriesScale: TimeSeriesScale +}); + +Chart.register(controllers, scales, elements, plugins); +Chart.helpers = {...helpers}; +Chart._adapters = _adapters; +Chart.Animation = Animation; +Chart.Animations = Animations; +Chart.animator = animator; +Chart.controllers = registry.controllers.items; +Chart.DatasetController = DatasetController; +Chart.Element = Element; +Chart.elements = elements; +Chart.Interaction = Interaction; +Chart.layouts = layouts; +Chart.platforms = platforms; +Chart.Scale = Scale; +Chart.Ticks = Ticks; +Object.assign(Chart, controllers, scales, elements, plugins, platforms); +Chart.Chart = Chart; +if (typeof window !== 'undefined') { + window.Chart = Chart; +} + +return Chart; + +})); diff --git a/scriptApl/chart.js/dist/chart.min.js b/scriptApl/chart.js/dist/chart.min.js new file mode 100644 index 00000000..8f69759e --- /dev/null +++ b/scriptApl/chart.js/dist/chart.min.js @@ -0,0 +1,13 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";function t(){}const e=function(){let t=0;return function(){return t++}}();function i(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function n(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const o=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function a(t,e){return o(t)?t:e}function r(t,e){return void 0===t?e:t}const l=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function c(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function d(t,e,i,o){let a,r,l;if(s(t))if(r=t.length,o)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function y(t,e){const i=_[e]||(_[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const M=t=>void 0!==t,k=t=>"function"==typeof t,S=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,O=2*D,C=O+D,A=Number.POSITIVE_INFINITY,T=D/180,L=D/2,E=D/4,R=2*D/3,I=Math.log10,z=Math.sign;function F(t){const e=Math.round(t);t=N(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(I(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function V(t){const e=[],i=Math.sqrt(t);let s;for(s=1;st-e)).pop(),e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function N(t,e,i){return Math.abs(t-e)=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function tt(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const et=(t,e,i,s)=>tt(t,i,s?s=>t[s][e]<=i:s=>t[s][e]tt(t,i,(s=>t[s][e]>=i));function st(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function at(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(nt.forEach((e=>{delete t[e]})),delete t._chartjs)}function rt(t){const e=new Set;let i,s;for(i=0,s=t.length;iArray.prototype.slice.call(t));let n=!1,o=[];return function(...i){o=s(i),n||(n=!0,lt.call(window,(()=>{n=!1,t.apply(e,o)})))}}function ct(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const dt=t=>"start"===t?"left":"end"===t?"right":"center",ut=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,ft=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function gt(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=Z(Math.min(et(r,a.axis,h).lo,i?s:et(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?Z(Math.max(et(r,a.axis,c,!0).hi+1,i?0:et(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function pt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}var mt=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=lt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}; +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */function bt(t){return t+.5|0}const xt=(t,e,i)=>Math.max(Math.min(t,i),e);function _t(t){return xt(bt(2.55*t),0,255)}function yt(t){return xt(bt(255*t),0,255)}function vt(t){return xt(bt(t/2.55)/100,0,1)}function wt(t){return xt(bt(100*t),0,100)}const Mt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},kt=[..."0123456789ABCDEF"],St=t=>kt[15&t],Pt=t=>kt[(240&t)>>4]+kt[15&t],Dt=t=>(240&t)>>4==(15&t);function Ot(t){var e=(t=>Dt(t.r)&&Dt(t.g)&&Dt(t.b)&&Dt(t.a))(t)?St:Pt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Ct=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function At(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Tt(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Lt(t,e,i){const s=At(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function Et(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Nt.transparent=[0,0,0,0]);const e=Nt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const jt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Ht=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,$t=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Yt(t,e,i){if(t){let s=Et(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=It(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function Ut(t,e){return t?Object.assign(e||{},t):t}function Xt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=yt(t[3]))):(e=Ut(t,{r:0,g:0,b:0,a:1})).a=yt(e.a),e}function qt(t){return"r"===t.charAt(0)?function(t){const e=jt.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?_t(t):xt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?_t(i):xt(i,0,255)),s=255&(e[4]?_t(s):xt(s,0,255)),n=255&(e[6]?_t(n):xt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Ft(t)}class Kt{constructor(t){if(t instanceof Kt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Xt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*Mt[s[1]],g:255&17*Mt[s[2]],b:255&17*Mt[s[3]],a:5===o?17*Mt[s[4]]:255}:7!==o&&9!==o||(n={r:Mt[s[1]]<<4|Mt[s[2]],g:Mt[s[3]]<<4|Mt[s[4]],b:Mt[s[5]]<<4|Mt[s[6]],a:9===o?Mt[s[7]]<<4|Mt[s[8]]:255})),i=n||Wt(t)||qt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Ut(this._rgb);return t&&(t.a=vt(t.a)),t}set rgb(t){this._rgb=Xt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${vt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?Ot(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=Et(t),i=e[0],s=wt(e[1]),n=wt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${vt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=$t(vt(t.r)),n=$t(vt(t.g)),o=$t(vt(t.b));return{r:yt(Ht(s+i*($t(vt(e.r))-s))),g:yt(Ht(n+i*($t(vt(e.g))-n))),b:yt(Ht(o+i*($t(vt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Kt(this.rgb)}alpha(t){return this._rgb.a=yt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=bt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Yt(this._rgb,2,t),this}darken(t){return Yt(this._rgb,2,-t),this}saturate(t){return Yt(this._rgb,1,t),this}desaturate(t){return Yt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=Et(t);i[0]=zt(i[0]+e),i=It(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Gt(t){return new Kt(t)}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Jt(t){return Zt(t)?t:Gt(t)}function Qt(t){return Zt(t)?t:Gt(t).saturate(.5).darken(.1).hexString()}const te=Object.create(null),ee=Object.create(null);function ie(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>Qt(e.backgroundColor),this.hoverBorderColor=(t,e)=>Qt(e.borderColor),this.hoverColor=(t,e)=>Qt(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return se(this,t,e)}get(t){return ie(this,t)}describe(t,e){return se(ee,t,e)}override(t,e){return se(te,t,e)}route(t,e,i,s){const o=ie(this,t),a=ie(this,i),l="_"+e;Object.defineProperties(o,{[l]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[l],e=a[s];return n(t)?Object.assign({},e,t):r(t,e)},set(t){this[l]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function oe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ae(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function re(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const le=t=>window.getComputedStyle(t,null);function he(t,e){return le(t).getPropertyValue(e)}const ce=["top","right","bottom","left"];function de(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=ce[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function ue(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=le(i),o="border-box"===n.boxSizing,a=de(n,"padding"),r=de(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(((t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot))(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const fe=t=>Math.round(10*t)/10;function ge(t,e,i,s){const n=le(t),o=de(n,"margin"),a=re(n.maxWidth,t,"clientWidth")||A,r=re(n.maxHeight,t,"clientHeight")||A,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=ae(t);if(o){const t=o.getBoundingClientRect(),a=le(o),r=de(a,"border","width"),l=de(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=re(a.maxWidth,o,"clientWidth"),n=re(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||A,maxHeight:n||A}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=de(n,"border","width"),e=de(n,"padding");h-=e.width+t.width,c-=e.height+t.height}return h=Math.max(0,h-o.width),c=Math.max(0,s?Math.floor(h/s):c-o.height),h=fe(Math.min(h,a,l.maxWidth)),c=fe(Math.min(c,r,l.maxHeight)),h&&!c&&(c=fe(h/2)),{width:h,height:c}}function pe(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=n/s,t.width=o/s;const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const me=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function be(t,e){const i=he(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function xe(t){return!t||i(t.size)||i(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function _e(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function ye(t,e,i,n){let o=(n=n||{}).data=n.data||{},a=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(o=n.data={},a=n.garbageCollect=[],n.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Se(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);i(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){M(s)||(s=$e("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:i,_fallback:s,_getTarget:n,override:n=>Ee([n,...t],e,i,s)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>Ve(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=$e(ze(o,t),i),M(n))return Fe(t,n)?je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>Ye(t).includes(e),ownKeys:t=>Ye(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function Re(t,e,i,o){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ie(t,o),setContext:e=>Re(t,e,i,o),override:s=>Re(t.override(s),e,i,o)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>Ve(t,e,(()=>function(t,e,i){const{_proxy:o,_context:a,_subProxy:r,_descriptors:l}=t;let h=o[e];k(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t),e=e(o,a||s),r.delete(t),Fe(t,e)&&(e=je(n._scopes,n,t,e));return e}(e,h,t,i));s(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:o,_context:a,_subProxy:r,_descriptors:l}=i;if(M(a.index)&&s(t))e=e[a.index%e.length];else if(n(e[0])){const i=e,s=o._scopes.filter((t=>t!==i));e=[];for(const n of i){const i=je(s,o,t,n);e.push(Re(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Fe(e,h)&&(h=Re(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ie(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:k(i)?i:()=>i,isIndexable:k(s)?s:()=>s}}const ze=(t,e)=>t?t+w(e):e,Fe=(t,e)=>n(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ve(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function Be(t,e,i){return k(t)?t(e,i):t}const Ne=(t,e)=>!0===t?e:"string"==typeof t?y(e,t):void 0;function We(t,e,i,s,n){for(const o of e){const e=Ne(i,o);if(e){t.add(e);const o=Be(e._fallback,i,n);if(M(o)&&o!==i&&o!==s)return o}else if(!1===e&&M(s)&&i!==s)return null}return!1}function je(t,e,i,o){const a=e._rootScopes,r=Be(e._fallback,i,o),l=[...t,...a],h=new Set;h.add(o);let c=He(h,l,i,r||i,o);return null!==c&&((!M(r)||r===i||(c=He(h,l,r,c,o),null!==c))&&Ee(Array.from(h),[""],a,r,(()=>function(t,e,i){const o=t._getTarget();e in o||(o[e]={});const a=o[e];if(s(a)&&n(i))return i;return a}(e,i,o))))}function He(t,e,i,s,n){for(;i;)i=We(t,e,i,s,n);return i}function $e(t,e){for(const i of e){if(!i)continue;const e=i[t];if(M(e))return e}}function Ye(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function Ue(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function Ge(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=X(o,n),l=X(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function Ze(t,e="x"){const i=Ke(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=qe(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)Ze(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,ei=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ii=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,si={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*L),easeOutSine:t=>Math.sin(t*L),easeInOutSine:t=>-.5*(Math.cos(D*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ti(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ti(t)?t:ei(t,.075,.3),easeOutElastic:t=>ti(t)?t:ii(t,.075,.3),easeInOutElastic(t){const e=.1125;return ti(t)?t:t<.5?.5*ei(2*t,e,.45):.5+.5*ii(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-si.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*si.easeInBounce(2*t):.5*si.easeOutBounce(2*t-1)+.5};function ni(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function oi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function ai(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=ni(t,n,i),r=ni(n,o,i),l=ni(o,e,i),h=ni(a,r,i),c=ni(r,l,i);return ni(h,c,i)}const ri=new Map;function li(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=ri.get(i);return s||(s=new Intl.NumberFormat(t,e),ri.set(i,s)),s}(e,i).format(t)}const hi=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),ci=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function di(t,e){const i=(""+t).match(hi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}function ui(t,e){const i={},s=n(e),o=s?Object.keys(e):e,a=n(t)?s?i=>r(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of o)i[t]=+a(t)||0;return i}function fi(t){return ui(t,{top:"y",right:"x",bottom:"y",left:"x"})}function gi(t){return ui(t,["topLeft","topRight","bottomLeft","bottomRight"])}function pi(t){const e=fi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function mi(t,e){t=t||{},e=e||ne.font;let i=r(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=r(t.style,e.style);s&&!(""+s).match(ci)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:r(t.family,e.family),lineHeight:di(r(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:r(t.weight,e.weight),string:""};return n.string=xe(n),n}function bi(t,e,i,n){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function _i(t,e){return Object.assign(Object.create(t),e)}function yi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function vi(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function wi(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Mi(t){return"angle"===t?{between:G,compare:q,normalize:K}:{between:Q,compare:(t,e)=>t-e,normalize:t=>t}}function ki({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Si(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Mi(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Mi(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hx||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(ki({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,b=p));return null!==_&&g.push(ki({start:_,end:d,loop:u,count:a,style:f})),g}function Pi(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Oi(t,[{start:a,end:r,loop:o}],i,e);return Oi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Vi={evaluateInteractionItems:Ei,modes:{index(t,e,i,s){const n=ue(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Ri(t,n,o,s,a):zi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ue(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Ri(t,n,o,s,a):zi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tRi(t,ue(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ue(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return zi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>Fi(t,ue(e,t),"x",i.intersect,s),y:(t,e,i,s)=>Fi(t,ue(e,t),"y",i.intersect,s)}};const Bi=["left","top","right","bottom"];function Ni(t,e){return t.filter((t=>t.pos===e))}function Wi(t,e){return t.filter((t=>-1===Bi.indexOf(t.pos)&&t.box.axis===e))}function ji(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Hi(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Bi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function qi(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=ji(Ni(e,"left"),!0),n=ji(Ni(e,"right")),o=ji(Ni(e,"top"),!0),a=ji(Ni(e,"bottom")),r=Wi(e,"x"),l=Wi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ni(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;d(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,u=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);Yi(f,pi(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Hi(l.concat(h),u);qi(r.fullSize,g,u,p),qi(l,g,u,p),qi(h,g,u,p)&&qi(l,g,u,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),Gi(r.leftAndTop,g,u,p),g.x+=g.w,g.y+=g.h,Gi(r.rightAndBottom,g,u,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},d(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class Ji{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class Qi extends Ji{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ts={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},es=t=>null===t||""===t;const is=!!me&&{passive:!0};function ss(t,e,i){t.canvas.removeEventListener(e,i,is)}function ns(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function os(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ns(i.addedNodes,s),e=e&&!ns(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function as(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ns(i.removedNodes,s),e=e&&!ns(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const rs=new Map;let ls=0;function hs(){const t=window.devicePixelRatio;t!==ls&&(ls=t,rs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function cs(t,e,i){const s=t.canvas,n=s&&ae(s);if(!n)return;const o=ht(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){rs.size||window.addEventListener("resize",hs),rs.set(t,e)}(t,o),a}function ds(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){rs.delete(t),rs.size||window.removeEventListener("resize",hs)}(t)}function us(t,e,i){const s=t.canvas,n=ht((e=>{null!==t.ctx&&i(function(t,e){const i=ts[t.type]||t.type,{x:s,y:n}=ue(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,i){t.addEventListener(e,i,is)}(s,e,n),n}class fs extends Ji{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",es(n)){const e=be(t,"width");void 0!==e&&(t.width=e)}if(es(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=be(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const s=e.$chartjs.initial;["height","width"].forEach((t=>{const n=s[t];i(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=s.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:os,detach:as,resize:cs}[e]||us;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ds,detach:ds,resize:ds}[e]||ss)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ge(t,e,i,s)}isAttached(t){const e=ae(t);return!(!e||!e.isConnected)}}function gs(t){return!oe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Qi:fs}var ps=Object.freeze({__proto__:null,_detectPlatform:gs,BasePlatform:Ji,BasicPlatform:Qi,DomPlatform:fs});const ms="transparent",bs={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Jt(t||ms),n=s.valid&&Jt(e||ms);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class xs{constructor(t,e,i,s){const n=e[i];s=bi([t.to,s,n,t.from]);const o=bi([t.from,n,s]);this._active=!0,this._fn=t.fn||bs[t.type||typeof o],this._easing=si[t.easing]||si.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=bi([t.to,e,s,t.from]),this._from=bi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),ne.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),ne.describe("animations",{_fallback:"animation"}),ne.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ys{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!n(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((i=>{const o=t[i];if(!n(o))return;const a={};for(const t of _s)a[t]=o[t];(s(o.properties)&&o.properties||[i]).forEach((t=>{t!==i&&e.has(t)||e.set(t,a)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new xs(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(mt.add(this._chart,i),!0):void 0}}function vs(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function ws(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function Ds(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Cs(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i]}}}const As=t=>"reset"===t||"none"===t,Ts=(t,e)=>e?t:Object.assign({},t);class Ls{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ks(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Cs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=r(i.xAxisID,Os(t,"x")),o=e.yAxisID=r(i.yAxisID,Os(t,"y")),a=e.rAxisID=r(i.rAxisID,Os(t,"r")),l=e.indexAxis,h=e.iAxisID=s(l,n,o,a),c=e.vAxisID=s(l,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&at(this._data,this),t._stacked&&Cs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(n(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=o,i._sorted=!0,d=o;else{d=s(o[t])?this.parseArrayData(i,o,t,e):n(o[t])?this.parseObjectData(i,o,t,e):this.parsePrimitiveData(i,o,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:ws(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!o(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,a;for(s=0,n=e.length;s=0&&tthis.getContext(i,s)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Ts(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new ys(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||As(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){As(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!As(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}Es.defaults={},Es.defaultRoutes=void 0;const Rs={values:t=>s(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=I(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),li(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=t/Math.pow(10,Math.floor(I(t)));return 1===s||2===s||5===s?Rs.numeric.call(this,t,e,i):""}};var Is={formatters:Rs};function zs(t,e){const s=t.options.ticks,n=s.maxTicksLimit||function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=s.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;in)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(o,e,n);if(a>0){let t,s;const n=a>1?Math.round((l-r)/(a-1)):null;for(Fs(e,h,c,i(n)?0:r-n,r),t=0,s=a-1;te.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Is.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),ne.route("scale.ticks","color","","color"),ne.route("scale.grid","color","","borderColor"),ne.route("scale.grid","borderColor","","borderColor"),ne.route("scale.title","color","","color"),ne.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),ne.describe("scales",{_fallback:"scale"}),ne.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Vs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i;function Bs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Ws(t){return t.drawTicks?t.tickLength:0}function js(t,e){if(!t.display)return 0;const i=mi(t.font,e),n=pi(t.padding);return(s(t.text)?t.text.length:1)*i.lineHeight+n.height}function Hs(t,e,i){let s=dt(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class $s extends Es{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=a(t,Number.POSITIVE_INFINITY),e=a(e,Number.NEGATIVE_INFINITY),i=a(i,Number.POSITIVE_INFINITY),s=a(s,Number.NEGATIVE_INFINITY),{min:a(t,i),max:a(e,s),minDefined:o(t),maxDefined:o(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const r=this.getMatchingVisibleMetas();for(let a=0,l=r.length;as?s:i,s=n&&i>s?i:s,{min:a(i,a(s,i)),max:a(s,a(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){c(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xi(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ws(t.grid)-e.padding-js(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=$(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){c(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){c(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=js(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ws(n)+o):(t.height=this.maxHeight,t.width=Ws(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=H(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){c(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,s;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,s=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:a[t]||0,height:r[t]||0});return{first:k(0),last:k(e-1),widest:k(w),highest:k(M),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return J(this._alignToPixels?ve(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:o,position:a}=s,l=o.offset,h=this.isHorizontal(),c=this.ticks.length+(l?1:0),d=Ws(o),u=[],f=o.setContext(this.getContext()),g=f.drawBorder?f.borderWidth:0,p=g/2,m=function(t){return ve(i,t,g)};let b,x,_,y,v,w,M,k,S,P,D,O;if("top"===a)b=m(this.bottom),w=this.bottom-d,k=b-p,P=m(t.top)+p,O=t.bottom;else if("bottom"===a)b=m(this.top),P=t.top,O=m(t.bottom)-p,w=b+p,k=this.top+d;else if("left"===a)b=m(this.right),v=this.right-d,M=b-p,S=m(t.left)+p,D=t.right;else if("right"===a)b=m(this.left),S=t.left,D=m(t.right)-p,v=b+p,M=this.left+d;else if("x"===e){if("center"===a)b=m((t.top+t.bottom)/2+.5);else if(n(a)){const t=Object.keys(a)[0],e=a[t];b=m(this.chart.scales[t].getPixelForValue(e))}P=t.top,O=t.bottom,w=b+p,k=w+d}else if("y"===e){if("center"===a)b=m((t.left+t.right)/2);else if(n(a)){const t=Object.keys(a)[0],e=a[t];b=m(this.chart.scales[t].getPixelForValue(e))}v=b-p,M=v-d,S=t.left,D=t.right}const C=r(s.ticks.maxTicksLimit,c),A=Math.max(1,Math.ceil(c/C));for(x=0;xe.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ne.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ne.describe(e,t.descriptors)}(t,o,i),this.override&&ne.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ne[s]&&(delete ne[s][i],this.override&&delete te[i])}}var Us=new class{constructor(){this.controllers=new Ys(Ls,"datasets",!0),this.elements=new Ys(Es,"elements"),this.plugins=new Ys(Object,"plugins"),this.scales=new Ys($s,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):d(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);c(i["before"+s],[],i),e[t](i),c(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function qs(t,e){return e||!1!==t?!0===t?{}:t:null}function Ks(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Gs(t,e){const i=ne.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Zs(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(i=e.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.charAt(0).toLowerCase();var i}function Js(t){const e=t.options||(t.options={});e.plugins=r(e.plugins,{}),e.scales=function(t,e){const i=te[t.type]||{scales:{}},s=e.scales||{},o=Gs(t.type,e),a=Object.create(null),r=Object.create(null);return Object.keys(s).forEach((t=>{const e=s[t];if(!n(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const l=Zs(t,e),h=function(t,e){return t===e?"_index_":"_value_"}(l,o),c=i.scales||{};a[l]=a[l]||t,r[t]=b(Object.create(null),[{axis:l},e,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||Gs(n,e),l=(te[n]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||a[e]||e;r[n]=r[n]||Object.create(null),b(r[n],[{axis:e},s[n],l[t]])}))})),Object.keys(r).forEach((t=>{const e=r[t];b(e,[ne.scales[e.type],ne.scale])})),r}(t,e)}function Qs(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const tn=new Map,en=new Set;function sn(t,e){let i=tn.get(t);return i||(i=e(),tn.set(t,i),en.add(i)),i}const nn=(t,e,i)=>{const s=y(e,i);void 0!==s&&t.add(s)};class on{constructor(t){this._config=function(t){return(t=t||{}).data=Qs(t.data),Js(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Qs(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Js(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return sn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return sn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return sn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return sn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>nn(r,t,e)))),e.forEach((t=>nn(r,s,t))),e.forEach((t=>nn(r,te[n]||{},t))),e.forEach((t=>nn(r,ne,t))),e.forEach((t=>nn(r,ee,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),en.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,te[e]||{},ne.datasets[e]||{},{type:e},ne,ee]}resolveNamedOptions(t,e,i,n=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=an(this._resolverCache,t,n);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:n}=Ie(t);for(const o of e){const e=i(o),a=n(o),r=(a||e)&&t[o];if(e&&(k(r)||rn(r))||a&&s(r))return!0}return!1}(a,e)){o.$shared=!1;l=Re(a,i=k(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:o}=an(this._resolverCache,t,i);return n(e)?Re(o,e,void 0,s):o}}function an(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:Ee(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const rn=t=>n(t)&&Object.getOwnPropertyNames(t).reduce(((e,i)=>e||k(t[i])),!1);const ln=["top","bottom","left","right","chartArea"];function hn(t,e){return"top"===t||"bottom"===t||-1===ln.indexOf(t)&&"x"===e}function cn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function dn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),c(i&&i.onComplete,[t],e)}function un(t){const e=t.chart,i=e.options.animation;c(i&&i.onProgress,[t],e)}function fn(t){return oe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const gn={},pn=t=>{const e=fn(t);return Object.values(gn).filter((t=>t.canvas===e)).pop()};function mn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class bn{constructor(t,i){const s=this.config=new on(i),n=fn(t),o=pn(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||gs(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=e(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Xs,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ct((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],gn[this.id]=this,r&&l?(mt.listen(this,"complete",dn),mt.listen(this,"progress",un),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return i(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():pe(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return we(this.canvas,this.ctx),this}stop(){return mt.stop(this),this}resize(t,e){mt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,pe(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),c(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){d(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Zs(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),d(n,(e=>{const n=e.options,o=n.id,a=Zs(o,n),l=r(n.type,e.dtype);void 0!==n.position&&hn(n.position,a)===hn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===l)h=i[o];else{h=new(Us.getScale(l))({id:o,type:l,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),d(s,((t,e)=>{t||delete i[e]})),d(i,(t=>{Zi.configure(this,t,t.options),Zi.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(cn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){d(this.scales,(t=>{Zi.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);S(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){mn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Zi.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],d(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Pe(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&De(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Se(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Vi.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=_i(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);M(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),mt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};d(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){d(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},d(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!u(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=P(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,c(n.onHover,[t,a,this],this),r&&c(n.onClick,[t,a,this],this));const h=!u(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}const xn=()=>d(bn.instances,(t=>t._plugins.invalidate())),_n=!0;function yn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}Object.defineProperties(bn,{defaults:{enumerable:_n,value:ne},instances:{enumerable:_n,value:gn},overrides:{enumerable:_n,value:te},registry:{enumerable:_n,value:Us},version:{enumerable:_n,value:"3.9.1"},getChart:{enumerable:_n,value:pn},register:{enumerable:_n,value:(...t)=>{Us.add(...t),xn()}},unregister:{enumerable:_n,value:(...t)=>{Us.remove(...t),xn()}}});class vn{constructor(t){this.options=t||{}}init(t){}formats(){return yn()}parse(t,e){return yn()}format(t,e){return yn()}add(t,e,i){return yn()}diff(t,e,i){return yn()}startOf(t,e,i){return yn()}endOf(t,e){return yn()}}vn.override=function(t){Object.assign(vn.prototype,t)};var wn={_date:vn};function Mn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(M(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,n):e[i.axis]=i.parse(t,n),e}function Sn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.baset.controller.options.grouped)),o=s.options.stacked,a=[],r=t=>{const s=t.controller.getParsed(e),n=s&&s[t.vScale.axis];if(i(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!r(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(d,e,a)*o,u===a&&(m-=d/2);const t=e.getPixelForDecimal(0),i=e.getPixelForDecimal(1),s=Math.min(t,i),n=Math.max(t,i);m=Math.max(Math.min(m,n),s),c=m+d}if(m===e.getPixelForValue(a)){const t=z(d)*e.getLineWidthForValue(a)/2;m+=t,d-=t}return{size:d,base:m,head:c,center:c+d/2}}_calculateBarIndexPixels(t,e){const s=e.scale,n=this.options,o=n.skipNull,a=r(n.maxBarThickness,1/0);let l,h;if(e.grouped){const s=o?this._getStackCount(t):e.stackCount,r="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:s}=e,n=this.getParsed(t),o=i.getLabelForValue(n.x),a=s.getLabelForValue(n.y),r=n._custom;return{label:e.label,value:"("+o+", "+a+(r?", "+r:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d""}}}};class En extends Ls{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let o,a,r=t=>+i[t];if(n(i[t])){const{key:t="value"}=this._parsing;r=e=>+y(i[e],t)}for(o=t,a=t+e;oG(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>G(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(L,c,u),b=g(D,h,d),x=g(D+L,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),b=(i.width-o)/f,x=(i.height-o)/g,_=Math.max(Math.min(b,x)/2,0),y=h(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*c,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=li(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s"spacing"!==t,_indexable:t=>"spacing"!==t},En.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const i=": "+t.formattedValue;return s(e)?(e=e.slice(),e[0]+=i):e+=i,e}}}}};class Rn extends Ls{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=gt(e,s,o);this._drawStart=a,this._drawCount=r,pt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,s,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=B(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let x=e>0&&this.getParsed(e-1);for(let g=e;g0&&Math.abs(s[u]-x[u])>m,p&&(_.parsed=s,_.raw=h.data[g]),d&&(_.options=c||this.resolveDataElementOptions(g,e.active?"active":n)),b||this.updateElement(e,g,_,n),x=s}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Rn.id="line",Rn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Rn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class In extends Ls{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=li(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return Ue.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*D;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?H(this.resolveDataElementOptions(t,e).angle||i):0}}In.id="polarArea",In.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},In.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class zn extends En{}zn.id="pie",zn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Fn extends Ls{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return Ue.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(s[f]-_[f])>b,m&&(p.parsed=s,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),x||this.updateElement(e,c,p,n),_=s}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}Vn.id="scatter",Vn.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},Vn.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Bn=Object.freeze({__proto__:null,BarController:Tn,BubbleController:Ln,DoughnutController:En,LineController:Rn,PolarAreaController:In,PieController:zn,RadarController:Fn,ScatterController:Vn});function Nn(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+L,s-L),t.closePath(),t.clip()}function Wn(t,e,i,s){const n=ui(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function jn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Hn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/D)/d)/2,m=l+p+f,b=n-p-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=Wn(e,u,d,b-m),w=d-x,M=d-_,k=m+x/w,S=b-_/M,P=u+y,O=u+v,C=m+y/P,A=b-v/O;if(t.beginPath(),o){if(t.arc(a,r,d,k,S),_>0){const e=jn(M,S,a,r);t.arc(e.x,e.y,_,S,b+L)}const e=jn(O,b,a,r);if(t.lineTo(e.x,e.y),v>0){const e=jn(O,A,a,r);t.arc(e.x,e.y,v,b+L,A+Math.PI)}if(t.arc(a,r,u,b-v/u,m+y/u,!0),y>0){const e=jn(P,C,a,r);t.arc(e.x,e.y,y,C+Math.PI,m-L)}const i=jn(w,m,a,r);if(t.lineTo(i.x,i.y),x>0){const e=jn(w,k,a,r);t.arc(e.x,e.y,x,m-L,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function $n(t,e,i,s,n,o){const{options:a}=e,{borderWidth:r,borderJoinStyle:l}=a,h="inner"===a.borderAlign;r&&(h?(t.lineWidth=2*r,t.lineJoin=l||"round"):(t.lineWidth=r,t.lineJoin=l||"bevel"),e.fullCircles&&function(t,e,i){const{x:s,y:n,startAngle:o,pixelMargin:a,fullCircles:r}=e,l=Math.max(e.outerRadius-a,0),h=e.innerRadius+a;let c;for(i&&Nn(t,e,o+O),t.beginPath(),t.arc(s,n,h,o+O,o,!0),c=0;c=O||G(n,a,l),g=Q(o,h+u,c+u);return f&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/2,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let a=0;if(s){a=s/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*a,Math.sin(e)*a),this.circumference>=D&&(a=s)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const r=function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Hn(t,e,i,s,a+O,n);for(let e=0;er&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=g=i),p=i}_()}function Zn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?Gn:Kn}Yn.id="arc",Yn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},Yn.defaultRoutes={backgroundColor:"backgroundColor"};const Jn="function"==typeof Path2D;function Qn(t,e,i,s){Jn&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Un(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Zn(e);for(const r of n)Un(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class to extends Es{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;Qe(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Di(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Pi(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?oi:t.tension||"monotone"===t.cubicInterpolationMode?ai:ni}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t&&"fill"!==t};class io extends Es{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2){uo(t)}))}var go={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,s)=>{if(!s.enabled)return void fo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===bi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(et(e,o.axis,a).lo,0,i-1)),s=h?Z(et(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(s.threshold||4*n))return void uo(e);let f;switch(i(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),s.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,s);break;case"min-max":f=function(t,e,s,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const b=[],x=e+s-1,_=t[e].x,y=t[x].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const s=o-1;if(!i(c)&&!i(d)){const e=Math.min(c,d),i=Math.max(c,d);e!==u&&e!==s&&b.push({...t[e],x:p}),i!==u&&i!==s&&b.push({...t[i],x:p})}o>0&&s!==u&&b.push(t[s]),b.push(a),h=e,m=0,f=g=l,c=d=u=o}}return b}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${s.algorithm}'`)}e._decimated=f}))},destroy(t){fo(t)}};function po(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=K(n),o=K(o)),{property:t,start:n,end:o}}function mo(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function bo(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function xo(t,e){let i=[],n=!1;return s(t)?(n=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=mo(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new to({points:i,options:{tension:0},_loop:n,_fullLoop:n}):null}function _o(t){return t&&!1!==t.fill}function yo(t,e,i){let s=t[e].fill;const n=[e];let a;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!o(s))return s;if(a=t[s],!a)return!1;if(a.visible)return s;n.push(s),s=a.fill}return!1}function vo(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=r(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(n(s))return!isNaN(s.value)&&s;let a=parseFloat(s);return o(a)&&Math.floor(a)===a?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,a,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function wo(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&Po(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;_o(i)&&Po(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;_o(s)&&"beforeDatasetDraw"===i.drawTime&&Po(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Lo=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class Eo extends Es{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=c(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=mi(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=Lo(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,n,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const p=i+e/2+n.measureText(t.text).width;o>0&&u+s+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:s},d=Math.max(d,p),u+=s+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=yi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ut(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ut(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ut(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ut(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Pe(t,this),this._draw(),De(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ne.color,l=yi(t.rtl,this.left,this.width),h=mi(o.font),{color:c,padding:d}=o,u=h.size,f=u/2;let g;this.drawTitle(),s.textAlign=l.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:p,boxHeight:m,itemHeight:b}=Lo(o,u),x=this.isHorizontal(),_=this._computeTitleHeight();g=x?{x:ut(n,this.left+d,this.right-i[0]),y:this.top+d+_,line:0}:{x:this.left+d,y:ut(n,this.top+_+d,this.bottom-e[0].height),line:0},vi(this.ctx,t.textDirection);const y=b+d;this.legendItems.forEach(((v,w)=>{s.strokeStyle=v.fontColor||c,s.fillStyle=v.fontColor||c;const M=s.measureText(v.text).width,k=l.textAlign(v.textAlign||(v.textAlign=o.textAlign)),S=p+f+M;let P=g.x,D=g.y;l.setWidth(this.width),x?w>0&&P+S+d>this.right&&(D=g.y+=y,g.line++,P=g.x=ut(n,this.left+d,this.right-i[g.line])):w>0&&D+y>this.bottom&&(P=g.x=P+e[g.line].width+d,g.line++,D=g.y=ut(n,this.top+_+d,this.bottom-e[g.line].height));!function(t,e,i){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;s.save();const n=r(i.lineWidth,1);if(s.fillStyle=r(i.fillStyle,a),s.lineCap=r(i.lineCap,"butt"),s.lineDashOffset=r(i.lineDashOffset,0),s.lineJoin=r(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=r(i.strokeStyle,a),s.setLineDash(r(i.lineDash,[])),o.usePointStyle){const a={radius:m*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},r=l.xPlus(t,p/2);ke(s,a,r,e+f,o.pointStyleWidth&&p)}else{const o=e+Math.max((u-m)/2,0),a=l.leftForLtr(t,p),r=gi(i.borderRadius);s.beginPath(),Object.values(r).some((t=>0!==t))?Le(s,{x:a,y:o,w:p,h:m,radius:r}):s.rect(a,o,p,m),s.fill(),0!==n&&s.stroke()}s.restore()}(l.x(P),D,v),P=ft(k,P+p+f,x?P+S:this.right,t.rtl),function(t,e,i){Ae(s,i.text,t,e+b/2,h,{strikethrough:i.hidden,textAlign:l.textAlign(i.textAlign)})}(l.x(P),D,v),x?g.x+=S+d:g.y+=y})),wi(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=mi(e.font),s=pi(e.padding);if(!e.display)return;const n=yi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ut(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ut(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ut(a,c,c+d);o.textAlign=n.textAlign(dt(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ae(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=mi(t.font),i=pi(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(Q(t,this.left,this.right)&&Q(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(i?0:void 0),r=pi(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(r.width+r.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Io extends Es{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const n=s(i.text)?i.text.length:1;this._padding=pi(i.padding);const o=n*mi(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ut(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ut(a,s,e),c=-.5*D):(l=n-t,h=ut(a,e,s),c=.5*D),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=mi(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ae(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:dt(e.align),textBaseline:"middle",translation:[n,o]})}}var zo={id:"title",_element:Io,start(t,e,i){!function(t,e){const i=new Io({ctx:t.ctx,options:e,chart:t});Zi.configure(t,i,e),Zi.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;Zi.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;Zi.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fo=new WeakMap;var Vo={id:"subtitle",start(t,e,i){const s=new Io({ctx:t.ctx,options:i,chart:t});Zi.configure(t,s,i),Zi.addBox(t,s),Fo.set(t,s)},stop(t){Zi.removeBox(t,Fo.get(t)),Fo.delete(t)},beforeUpdate(t,e,i){const s=Fo.get(t);Zi.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Bo={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e-1?t.split("\n"):t}function jo(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ho(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=mi(e.bodyFont),h=mi(e.titleFont),c=mi(e.footerFont),u=o.length,f=n.length,g=s.length,p=pi(e.padding);let m=p.height,b=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,u&&(m+=u*h.lineHeight+(u-1)*e.titleSpacing+e.titleMarginBottom),x){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-g)*l.lineHeight+(x-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){b=Math.max(b,i.measureText(t).width+_)};return i.save(),i.font=h.string,d(t.title,y),i.font=l.string,d(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,d(s,(t=>{d(t.before,y),d(t.lines,y),d(t.after,y)})),_=0,i.font=c.string,d(t.footer,y),i.restore(),b+=p.width,{width:b,height:m}}function $o(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Yo(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||$o(t,e,i,s),yAlign:s}}function Uo(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=gi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Xo(t,e,i){const s=pi(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function qo(t){return No([],Wo(t))}function Ko(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}class Go extends Es{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new ys(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,_i(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=i.beforeTitle.apply(this,[t]),n=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]);let a=[];return a=No(a,Wo(s)),a=No(a,Wo(n)),a=No(a,Wo(o)),a}getBeforeBody(t,e){return qo(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,s=[];return d(t,(t=>{const e={before:[],lines:[],after:[]},n=Ko(i,t);No(e.before,Wo(n.beforeLabel.call(this,t))),No(e.lines,n.label.call(this,t)),No(e.after,Wo(n.afterLabel.call(this,t))),s.push(e)})),s}getAfterBody(t,e){return qo(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,s=i.beforeFooter.apply(this,[t]),n=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]);let a=[];return a=No(a,Wo(s)),a=No(a,Wo(n)),a=No(a,Wo(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),d(l,(e=>{const i=Ko(t.callbacks,e);s.push(i.labelColor.call(this,e)),n.push(i.labelPointStyle.call(this,e)),o.push(i.labelTextColor.call(this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Bo[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ho(this,i),a=Object.assign({},t,e),r=Yo(this.chart,i,a),l=Uo(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=gi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,b,x,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+f,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+g,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=yi(i.rtl,this.x,this.width);for(t.x=Xo(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=mi(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Le(t,{x:e,y:p,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Le(t,{x:i,y:p+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,p,h,l),t.strokeRect(e,p,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,p+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=mi(i.bodyFont);let u=c.lineHeight,f=0;const g=yi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+u/2),t.y+=u+n},m=g.textAlign(o);let b,x,_,y,v,w,M;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Xo(this,m,i),e.fillStyle=i.bodyColor,d(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,w=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Bo[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ho(this,t),a=Object.assign({},i,this._size),r=Yo(e,t,a),l=Uo(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=pi(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),vi(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),wi(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!u(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!u(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e;const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Bo[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}Go.positioners=Bo;var Zo={id:"tooltip",_element:Go,positioners:Bo,afterInit(t,e,i){i&&(t.tooltip=new Go({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",i))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:t,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Jo=Object.freeze({__proto__:null,Decimation:go,Filler:To,Legend:Ro,SubTitle:Vo,Title:zo,Tooltip:Zo});function Qo(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}class ta extends $s{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(i(t))return null;const s=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&s[e]===t?e:Qo(s,t,r(e,t),this._addedLabels),s.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function ea(t,e,{horizontal:i,minRotation:s}){const n=H(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}ta.id="category",ta.defaults={ticks:{callback:ta.prototype.getLabelForValue}};class ia extends $s{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return i(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=z(s),e=z(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=1;(n>=Number.MAX_SAFE_INTEGER||s<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*n)),a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n=function(t,e){const s=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,b=!i(a),x=!i(r),_=!i(h),y=(m-p)/(d+1);let v,w,M,k,S=F((m-p)/g/f)*f;if(S<1e-14&&!b&&!x)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=F(k*S/g/f)*f),i(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(w=Math.floor(p/S)*S,M=Math.ceil(m/S)*S):(w=p,M=m),b&&x&&o&&W((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,w=a,M=r):_?(w=b?a:w,M=x?r:M,k=h-1,S=(M-w)/k):(k=(M-w)/S,k=N(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(Y(S),Y(w));v=Math.pow(10,i(l)?P:l),w=Math.round(w*v)/v,M=Math.round(M*v)/v;let D=0;for(b&&(u&&w!==a?(s.push({value:a}),w0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=o(t)?Math.max(0,t):null,this.max=o(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t,a=(t,e)=>Math.pow(10,Math.floor(I(t))+e);i===s&&(i<=0?(n(1),o(10)):(n(a(i,-1)),o(a(s,1)))),i<=0&&n(a(s,-1)),s<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&n(a(i,-1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=function(t,e){const i=Math.floor(I(e.max)),s=Math.ceil(e.max/Math.pow(10,i)),n=[];let o=a(t.min,Math.pow(10,Math.floor(I(e.min)))),r=Math.floor(I(o)),l=Math.floor(o/Math.pow(10,r)),h=r<0?Math.pow(10,Math.abs(r)):1;do{n.push({value:o,major:na(o)}),++l,10===l&&(l=1,++r,h=r>=0?1:h),o=Math.round(l*Math.pow(10,r)*h)/h}while(rn?{start:e-i,end:e}:{start:e,end:e+i}}function la(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),n=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?D/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function ca(t){return 0===t||180===t?"center":t<180?"left":"right"}function da(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function ua(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function fa(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o{const i=c(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?la(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return K(t*(O/(this._pointLabels.length||1))+H(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(i(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(i(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;o--){const e=n.setContext(t.getPointLabelContext(o)),a=mi(e.font),{x:r,y:l,textAlign:h,left:c,top:d,right:u,bottom:f}=t._pointLabelItems[o],{backdropColor:g}=e;if(!i(g)){const t=gi(e.borderRadius),i=pi(e.backdropPadding);s.fillStyle=g;const n=c-i.left,o=d-i.top,a=u-c+i.width,r=f-d+i.height;Object.values(t).some((t=>0!==t))?(s.beginPath(),Le(s,{x:n,y:o,w:a,h:r,radius:t}),s.fill()):s.fillRect(n,o,a,r)}Ae(s,t._pointLabels[o],r,l+a.lineHeight/2,a,{color:e.color,textAlign:h,textBaseline:"middle"})}}(this,o),n.display&&this.ticks.forEach(((t,e)=>{if(0!==e){r=this.getDistanceFromCenterForValue(t.value);!function(t,e,i,s){const n=t.ctx,o=e.circular,{color:a,lineWidth:r}=e;!o&&!s||!a||!r||i<0||(n.save(),n.strokeStyle=a,n.lineWidth=r,n.setLineDash(e.borderDash),n.lineDashOffset=e.borderDashOffset,n.beginPath(),fa(t,i,o,s),n.closePath(),n.stroke(),n.restore())}(this,n.setContext(this.getContext(e-1)),r,o)}})),s.display){for(t.save(),a=o-1;a>=0;a--){const i=s.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=i;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(i.borderDash),t.lineDashOffset=i.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=mi(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=pi(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ae(t,s.label,0,-n,l,{color:r.color})})),t.restore()}drawTitle(){}}ga.id="radialLinear",ga.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Is.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},ga.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},ga.descriptors={angleLines:{_fallback:"grid"}};const pa={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ma=Object.keys(pa);function ba(t,e){return t-e}function xa(t,e){if(i(e))return null;const s=t._adapter,{parser:n,round:a,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),o(l)||(l="string"==typeof n?s.parse(l,n):s.parse(l)),null===l?null:(a&&(l="week"!==a||!B(r)&&!0!==r?s.startOf(l,a):s.startOf(l,"isoWeek",r)),+l)}function _a(t,e,i,s){const n=ma.length;for(let o=ma.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function va(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class wa extends $s{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const i=t.time||(t.time={}),s=this._adapter=new wn._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:xa(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:a,maxDefined:r}=this.getUserBounds();function l(t){a||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}a&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=o(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=o(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=st(s,n,this.max);return this._unit=e.unit||(i.autoSkip?_a(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=ma.length-1;o>=ma.indexOf(i);o--){const i=ma[o];if(pa[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return ma[i?ma.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=ma.indexOf(t)+1,i=ma.length;e+t.value)))}initOffsets(t){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||_a(n.minUnit,e,i,this._getLabelCapacity(e)),a=r(n.stepSize,1),l="week"===o&&n.isoWeekday,h=B(l)||!0===l,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;dt-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.time.displayFormats,a=this._unit,r=this._majorUnit,l=a&&o[a],h=r&&o[r],d=i[e],u=r&&h&&d&&d.major,f=this._adapter.format(t,s||(u?h:l)),g=n.ticks.callback;return g?c(g,[f,e,i],this):f}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=et(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=et(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}wa.id="time",wa.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class ka extends wa{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ma(e,this.min),this._tableRange=Ma(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o fn({ + chart, + initial: anims.initial, + numSteps, + currentStep: Math.min(date - anims.start, numSteps) + })); + } + _refresh() { + if (this._request) { + return; + } + this._running = true; + this._request = requestAnimFrame.call(window, () => { + this._update(); + this._request = null; + if (this._running) { + this._refresh(); + } + }); + } + _update(date = Date.now()) { + let remaining = 0; + this._charts.forEach((anims, chart) => { + if (!anims.running || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + let draw = false; + let item; + for (; i >= 0; --i) { + item = items[i]; + if (item._active) { + if (item._total > anims.duration) { + anims.duration = item._total; + } + item.tick(date); + draw = true; + } else { + items[i] = items[items.length - 1]; + items.pop(); + } + } + if (draw) { + chart.draw(); + this._notify(chart, anims, date, 'progress'); + } + if (!items.length) { + anims.running = false; + this._notify(chart, anims, date, 'complete'); + anims.initial = false; + } + remaining += items.length; + }); + this._lastDate = date; + if (remaining === 0) { + this._running = false; + } + } + _getAnims(chart) { + const charts = this._charts; + let anims = charts.get(chart); + if (!anims) { + anims = { + running: false, + initial: true, + items: [], + listeners: { + complete: [], + progress: [] + } + }; + charts.set(chart, anims); + } + return anims; + } + listen(chart, event, cb) { + this._getAnims(chart).listeners[event].push(cb); + } + add(chart, items) { + if (!items || !items.length) { + return; + } + this._getAnims(chart).items.push(...items); + } + has(chart) { + return this._getAnims(chart).items.length > 0; + } + start(chart) { + const anims = this._charts.get(chart); + if (!anims) { + return; + } + anims.running = true; + anims.start = Date.now(); + anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0); + this._refresh(); + } + running(chart) { + if (!this._running) { + return false; + } + const anims = this._charts.get(chart); + if (!anims || !anims.running || !anims.items.length) { + return false; + } + return true; + } + stop(chart) { + const anims = this._charts.get(chart); + if (!anims || !anims.items.length) { + return; + } + const items = anims.items; + let i = items.length - 1; + for (; i >= 0; --i) { + items[i].cancel(); + } + anims.items = []; + this._notify(chart, anims, Date.now(), 'complete'); + } + remove(chart) { + return this._charts.delete(chart); + } +} +var animator = new Animator(); + +const transparent = 'transparent'; +const interpolators = { + boolean(from, to, factor) { + return factor > 0.5 ? to : from; + }, + color(from, to, factor) { + const c0 = color(from || transparent); + const c1 = c0.valid && color(to || transparent); + return c1 && c1.valid + ? c1.mix(c0, factor).hexString() + : to; + }, + number(from, to, factor) { + return from + (to - from) * factor; + } +}; +class Animation { + constructor(cfg, target, prop, to) { + const currentValue = target[prop]; + to = resolve([cfg.to, to, currentValue, cfg.from]); + const from = resolve([cfg.from, currentValue, to]); + this._active = true; + this._fn = cfg.fn || interpolators[cfg.type || typeof from]; + this._easing = effects[cfg.easing] || effects.linear; + this._start = Math.floor(Date.now() + (cfg.delay || 0)); + this._duration = this._total = Math.floor(cfg.duration); + this._loop = !!cfg.loop; + this._target = target; + this._prop = prop; + this._from = from; + this._to = to; + this._promises = undefined; + } + active() { + return this._active; + } + update(cfg, to, date) { + if (this._active) { + this._notify(false); + const currentValue = this._target[this._prop]; + const elapsed = date - this._start; + const remain = this._duration - elapsed; + this._start = date; + this._duration = Math.floor(Math.max(remain, cfg.duration)); + this._total += elapsed; + this._loop = !!cfg.loop; + this._to = resolve([cfg.to, to, currentValue, cfg.from]); + this._from = resolve([cfg.from, currentValue, to]); + } + } + cancel() { + if (this._active) { + this.tick(Date.now()); + this._active = false; + this._notify(false); + } + } + tick(date) { + const elapsed = date - this._start; + const duration = this._duration; + const prop = this._prop; + const from = this._from; + const loop = this._loop; + const to = this._to; + let factor; + this._active = from !== to && (loop || (elapsed < duration)); + if (!this._active) { + this._target[prop] = to; + this._notify(true); + return; + } + if (elapsed < 0) { + this._target[prop] = from; + return; + } + factor = (elapsed / duration) % 2; + factor = loop && factor > 1 ? 2 - factor : factor; + factor = this._easing(Math.min(1, Math.max(0, factor))); + this._target[prop] = this._fn(from, to, factor); + } + wait() { + const promises = this._promises || (this._promises = []); + return new Promise((res, rej) => { + promises.push({res, rej}); + }); + } + _notify(resolved) { + const method = resolved ? 'res' : 'rej'; + const promises = this._promises || []; + for (let i = 0; i < promises.length; i++) { + promises[i][method](); + } + } +} + +const numbers = ['x', 'y', 'borderWidth', 'radius', 'tension']; +const colors = ['color', 'borderColor', 'backgroundColor']; +defaults.set('animation', { + delay: undefined, + duration: 1000, + easing: 'easeOutQuart', + fn: undefined, + from: undefined, + loop: undefined, + to: undefined, + type: undefined, +}); +const animationOptions = Object.keys(defaults.animation); +defaults.describe('animation', { + _fallback: false, + _indexable: false, + _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn', +}); +defaults.set('animations', { + colors: { + type: 'color', + properties: colors + }, + numbers: { + type: 'number', + properties: numbers + }, +}); +defaults.describe('animations', { + _fallback: 'animation', +}); +defaults.set('transitions', { + active: { + animation: { + duration: 400 + } + }, + resize: { + animation: { + duration: 0 + } + }, + show: { + animations: { + colors: { + from: 'transparent' + }, + visible: { + type: 'boolean', + duration: 0 + }, + } + }, + hide: { + animations: { + colors: { + to: 'transparent' + }, + visible: { + type: 'boolean', + easing: 'linear', + fn: v => v | 0 + }, + } + } +}); +class Animations { + constructor(chart, config) { + this._chart = chart; + this._properties = new Map(); + this.configure(config); + } + configure(config) { + if (!isObject(config)) { + return; + } + const animatedProps = this._properties; + Object.getOwnPropertyNames(config).forEach(key => { + const cfg = config[key]; + if (!isObject(cfg)) { + return; + } + const resolved = {}; + for (const option of animationOptions) { + resolved[option] = cfg[option]; + } + (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => { + if (prop === key || !animatedProps.has(prop)) { + animatedProps.set(prop, resolved); + } + }); + }); + } + _animateOptions(target, values) { + const newOptions = values.options; + const options = resolveTargetOptions(target, newOptions); + if (!options) { + return []; + } + const animations = this._createAnimations(options, newOptions); + if (newOptions.$shared) { + awaitAll(target.options.$animations, newOptions).then(() => { + target.options = newOptions; + }, () => { + }); + } + return animations; + } + _createAnimations(target, values) { + const animatedProps = this._properties; + const animations = []; + const running = target.$animations || (target.$animations = {}); + const props = Object.keys(values); + const date = Date.now(); + let i; + for (i = props.length - 1; i >= 0; --i) { + const prop = props[i]; + if (prop.charAt(0) === '$') { + continue; + } + if (prop === 'options') { + animations.push(...this._animateOptions(target, values)); + continue; + } + const value = values[prop]; + let animation = running[prop]; + const cfg = animatedProps.get(prop); + if (animation) { + if (cfg && animation.active()) { + animation.update(cfg, value, date); + continue; + } else { + animation.cancel(); + } + } + if (!cfg || !cfg.duration) { + target[prop] = value; + continue; + } + running[prop] = animation = new Animation(cfg, target, prop, value); + animations.push(animation); + } + return animations; + } + update(target, values) { + if (this._properties.size === 0) { + Object.assign(target, values); + return; + } + const animations = this._createAnimations(target, values); + if (animations.length) { + animator.add(this._chart, animations); + return true; + } + } +} +function awaitAll(animations, properties) { + const running = []; + const keys = Object.keys(properties); + for (let i = 0; i < keys.length; i++) { + const anim = animations[keys[i]]; + if (anim && anim.active()) { + running.push(anim.wait()); + } + } + return Promise.all(running); +} +function resolveTargetOptions(target, newOptions) { + if (!newOptions) { + return; + } + let options = target.options; + if (!options) { + target.options = newOptions; + return; + } + if (options.$shared) { + target.options = options = Object.assign({}, options, {$shared: false, $animations: {}}); + } + return options; +} + +function scaleClip(scale, allowedOverflow) { + const opts = scale && scale.options || {}; + const reverse = opts.reverse; + const min = opts.min === undefined ? allowedOverflow : 0; + const max = opts.max === undefined ? allowedOverflow : 0; + return { + start: reverse ? max : min, + end: reverse ? min : max + }; +} +function defaultClip(xScale, yScale, allowedOverflow) { + if (allowedOverflow === false) { + return false; + } + const x = scaleClip(xScale, allowedOverflow); + const y = scaleClip(yScale, allowedOverflow); + return { + top: y.end, + right: x.end, + bottom: y.start, + left: x.start + }; +} +function toClip(value) { + let t, r, b, l; + if (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, + disabled: value === false + }; +} +function getSortedDatasetIndices(chart, filterVisible) { + const keys = []; + const metasets = chart._getSortedDatasetMetas(filterVisible); + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + keys.push(metasets[i].index); + } + return keys; +} +function applyStack(stack, value, dsIndex, options = {}) { + const keys = stack.keys; + const singleMode = options.mode === 'single'; + let i, ilen, datasetIndex, otherValue; + if (value === null) { + return; + } + for (i = 0, ilen = keys.length; i < ilen; ++i) { + datasetIndex = +keys[i]; + if (datasetIndex === dsIndex) { + if (options.all) { + continue; + } + break; + } + otherValue = stack.values[datasetIndex]; + if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) { + value += otherValue; + } + } + return value; +} +function convertObjectDataToArray(data) { + const keys = Object.keys(data); + const adata = new Array(keys.length); + let i, ilen, key; + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + adata[i] = { + x: key, + y: data[key] + }; + } + return adata; +} +function isStacked(scale, meta) { + const stacked = scale && scale.options.stacked; + return stacked || (stacked === undefined && meta.stack !== undefined); +} +function getStackKey(indexScale, valueScale, meta) { + return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`; +} +function getUserBounds(scale) { + const {min, max, minDefined, maxDefined} = scale.getUserBounds(); + return { + min: minDefined ? min : Number.NEGATIVE_INFINITY, + max: maxDefined ? max : Number.POSITIVE_INFINITY + }; +} +function getOrCreateStack(stacks, stackKey, indexValue) { + const subStack = stacks[stackKey] || (stacks[stackKey] = {}); + return subStack[indexValue] || (subStack[indexValue] = {}); +} +function getLastIndexInStack(stack, vScale, positive, type) { + for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) { + const value = stack[meta.index]; + if ((positive && value > 0) || (!positive && value < 0)) { + return meta.index; + } + } + return null; +} +function updateStacks(controller, parsed) { + const {chart, _cachedMeta: meta} = controller; + const stacks = chart._stacks || (chart._stacks = {}); + const {iScale, vScale, index: datasetIndex} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const key = getStackKey(iScale, vScale, meta); + const ilen = parsed.length; + let stack; + for (let i = 0; i < ilen; ++i) { + const item = parsed[i]; + const {[iAxis]: index, [vAxis]: value} = item; + const itemStacks = item._stacks || (item._stacks = {}); + stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index); + stack[datasetIndex] = value; + stack._top = getLastIndexInStack(stack, vScale, true, meta.type); + stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type); + } +} +function getFirstScaleId(chart, axis) { + const scales = chart.scales; + return Object.keys(scales).filter(key => scales[key].axis === axis).shift(); +} +function createDatasetContext(parent, index) { + return createContext(parent, + { + active: false, + dataset: undefined, + datasetIndex: index, + index, + mode: 'default', + type: 'dataset' + } + ); +} +function createDataContext(parent, index, element) { + return createContext(parent, { + active: false, + dataIndex: index, + parsed: undefined, + raw: undefined, + element, + index, + mode: 'default', + type: 'data' + }); +} +function clearStacks(meta, items) { + const datasetIndex = meta.controller.index; + const axis = meta.vScale && meta.vScale.axis; + if (!axis) { + return; + } + items = items || meta._parsed; + for (const parsed of items) { + const stacks = parsed._stacks; + if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) { + return; + } + delete stacks[axis][datasetIndex]; + } +} +const isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none'; +const cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached); +const createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked + && {keys: getSortedDatasetIndices(chart, true), values: null}; +class DatasetController { + constructor(chart, datasetIndex) { + this.chart = chart; + this._ctx = chart.ctx; + this.index = datasetIndex; + this._cachedDataOpts = {}; + this._cachedMeta = this.getMeta(); + this._type = this._cachedMeta.type; + this.options = undefined; + this._parsing = false; + this._data = undefined; + this._objectData = undefined; + this._sharedOptions = undefined; + this._drawStart = undefined; + this._drawCount = undefined; + this.enableOptionSharing = false; + this.supportsDecimation = false; + this.$context = undefined; + this._syncList = []; + this.initialize(); + } + initialize() { + const meta = this._cachedMeta; + this.configure(); + this.linkScales(); + meta._stacked = isStacked(meta.vScale, meta); + this.addElements(); + } + updateIndex(datasetIndex) { + if (this.index !== datasetIndex) { + clearStacks(this._cachedMeta); + } + this.index = datasetIndex; + } + linkScales() { + const chart = this.chart; + const meta = this._cachedMeta; + const dataset = this.getDataset(); + const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y; + const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x')); + const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y')); + const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r')); + const indexAxis = meta.indexAxis; + const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid); + const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid); + meta.xScale = this.getScaleForId(xid); + meta.yScale = this.getScaleForId(yid); + meta.rScale = this.getScaleForId(rid); + meta.iScale = this.getScaleForId(iid); + meta.vScale = this.getScaleForId(vid); + } + getDataset() { + return this.chart.data.datasets[this.index]; + } + getMeta() { + return this.chart.getDatasetMeta(this.index); + } + getScaleForId(scaleID) { + return this.chart.scales[scaleID]; + } + _getOtherScale(scale) { + const meta = this._cachedMeta; + return scale === meta.iScale + ? meta.vScale + : meta.iScale; + } + reset() { + this._update('reset'); + } + _destroy() { + const meta = this._cachedMeta; + if (this._data) { + unlistenArrayEvents(this._data, this); + } + if (meta._stacked) { + clearStacks(meta); + } + } + _dataCheck() { + const dataset = this.getDataset(); + const data = dataset.data || (dataset.data = []); + const _data = this._data; + if (isObject(data)) { + this._data = convertObjectDataToArray(data); + } else if (_data !== data) { + if (_data) { + unlistenArrayEvents(_data, this); + const meta = this._cachedMeta; + clearStacks(meta); + meta._parsed = []; + } + if (data && Object.isExtensible(data)) { + listenArrayEvents(data, this); + } + this._syncList = []; + this._data = data; + } + } + addElements() { + const meta = this._cachedMeta; + this._dataCheck(); + if (this.datasetElementType) { + meta.dataset = new this.datasetElementType(); + } + } + buildOrUpdateElements(resetNewElements) { + const meta = this._cachedMeta; + const dataset = this.getDataset(); + let stackChanged = false; + this._dataCheck(); + const oldStacked = meta._stacked; + meta._stacked = isStacked(meta.vScale, meta); + if (meta.stack !== dataset.stack) { + stackChanged = true; + clearStacks(meta); + meta.stack = dataset.stack; + } + this._resyncElements(resetNewElements); + if (stackChanged || oldStacked !== meta._stacked) { + updateStacks(this, meta._parsed); + } + } + configure() { + const config = this.chart.config; + const scopeKeys = config.datasetScopeKeys(this._type); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true); + this.options = config.createResolver(scopes, this.getContext()); + this._parsing = this.options.parsing; + this._cachedDataOpts = {}; + } + parse(start, count) { + const {_cachedMeta: meta, _data: data} = this; + const {iScale, _stacked} = meta; + const iAxis = iScale.axis; + let sorted = start === 0 && count === data.length ? true : meta._sorted; + let prev = start > 0 && meta._parsed[start - 1]; + let i, cur, parsed; + if (this._parsing === false) { + meta._parsed = data; + meta._sorted = true; + parsed = data; + } else { + if (isArray(data[start])) { + parsed = this.parseArrayData(meta, data, start, count); + } else if (isObject(data[start])) { + parsed = this.parseObjectData(meta, data, start, count); + } else { + parsed = this.parsePrimitiveData(meta, data, start, count); + } + const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]); + for (i = 0; i < count; ++i) { + meta._parsed[i + start] = cur = parsed[i]; + if (sorted) { + if (isNotInOrderComparedToPrev()) { + sorted = false; + } + prev = cur; + } + } + meta._sorted = sorted; + } + if (_stacked) { + updateStacks(this, parsed); + } + } + parsePrimitiveData(meta, data, start, count) { + const {iScale, vScale} = meta; + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = new Array(count); + let i, ilen, index; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + parsed[i] = { + [iAxis]: singleScale || iScale.parse(labels[index], index), + [vAxis]: vScale.parse(data[index], index) + }; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const {xScale, yScale} = meta; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(item[0], index), + y: yScale.parse(item[1], index) + }; + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const {xScale, yScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + x: xScale.parse(resolveObjectKey(item, xAxisKey), index), + y: yScale.parse(resolveObjectKey(item, yAxisKey), index) + }; + } + return parsed; + } + getParsed(index) { + return this._cachedMeta._parsed[index]; + } + getDataElement(index) { + return this._cachedMeta.data[index]; + } + applyStack(scale, parsed, mode) { + const chart = this.chart; + const meta = this._cachedMeta; + const value = parsed[scale.axis]; + const stack = { + keys: getSortedDatasetIndices(chart, true), + values: parsed._stacks[scale.axis] + }; + return applyStack(stack, value, meta.index, {mode}); + } + updateRangeFromParsed(range, scale, parsed, stack) { + const parsedValue = parsed[scale.axis]; + let value = parsedValue === null ? NaN : parsedValue; + const values = stack && parsed._stacks[scale.axis]; + if (stack && values) { + stack.values = values; + value = applyStack(stack, parsedValue, this._cachedMeta.index); + } + range.min = Math.min(range.min, value); + range.max = Math.max(range.max, value); + } + getMinMax(scale, canStack) { + const meta = this._cachedMeta; + const _parsed = meta._parsed; + const sorted = meta._sorted && scale === meta.iScale; + const ilen = _parsed.length; + const otherScale = this._getOtherScale(scale); + const stack = createStack(canStack, meta, this.chart); + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + const {min: otherMin, max: otherMax} = getUserBounds(otherScale); + let i, parsed; + function _skip() { + parsed = _parsed[i]; + const otherValue = parsed[otherScale.axis]; + return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue; + } + for (i = 0; i < ilen; ++i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + if (sorted) { + break; + } + } + if (sorted) { + for (i = ilen - 1; i >= 0; --i) { + if (_skip()) { + continue; + } + this.updateRangeFromParsed(range, scale, parsed, stack); + break; + } + } + return range; + } + getAllParsedValues(scale) { + const parsed = this._cachedMeta._parsed; + const values = []; + let i, ilen, value; + for (i = 0, ilen = parsed.length; i < ilen; ++i) { + value = parsed[i][scale.axis]; + if (isNumberFinite(value)) { + values.push(value); + } + } + return values; + } + getMaxOverflow() { + return false; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const iScale = meta.iScale; + const vScale = meta.vScale; + const parsed = this.getParsed(index); + return { + label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '', + value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : '' + }; + } + _update(mode) { + const meta = this._cachedMeta; + this.update(mode || 'default'); + meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow()))); + } + update(mode) {} + draw() { + const ctx = this._ctx; + const chart = this.chart; + const meta = this._cachedMeta; + const elements = meta.data || []; + const area = chart.chartArea; + const active = []; + const start = this._drawStart || 0; + const count = this._drawCount || (elements.length - start); + const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop; + let i; + if (meta.dataset) { + meta.dataset.draw(ctx, area, start, count); + } + for (i = start; i < start + count; ++i) { + const element = elements[i]; + if (element.hidden) { + continue; + } + if (element.active && drawActiveElementsOnTop) { + active.push(element); + } else { + element.draw(ctx, area); + } + } + for (i = 0; i < active.length; ++i) { + active[i].draw(ctx, area); + } + } + getStyle(index, active) { + const mode = active ? 'active' : 'default'; + return index === undefined && this._cachedMeta.dataset + ? this.resolveDatasetElementOptions(mode) + : this.resolveDataElementOptions(index || 0, mode); + } + getContext(index, active, mode) { + const dataset = this.getDataset(); + let context; + if (index >= 0 && index < this._cachedMeta.data.length) { + const element = this._cachedMeta.data[index]; + context = element.$context || + (element.$context = createDataContext(this.getContext(), index, element)); + context.parsed = this.getParsed(index); + context.raw = dataset.data[index]; + context.index = context.dataIndex = index; + } else { + context = this.$context || + (this.$context = createDatasetContext(this.chart.getContext(), this.index)); + context.dataset = dataset; + context.index = context.datasetIndex = this.index; + } + context.active = !!active; + context.mode = mode; + return context; + } + resolveDatasetElementOptions(mode) { + return this._resolveElementOptions(this.datasetElementType.id, mode); + } + resolveDataElementOptions(index, mode) { + return this._resolveElementOptions(this.dataElementType.id, mode, index); + } + _resolveElementOptions(elementType, mode = 'default', index) { + const active = mode === 'active'; + const cache = this._cachedDataOpts; + const cacheKey = elementType + '-' + mode; + const cached = cache[cacheKey]; + const sharing = this.enableOptionSharing && defined(index); + if (cached) { + return cloneIfNotShared(cached, sharing); + } + const config = this.chart.config; + const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); + const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, '']; + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + const names = Object.keys(defaults.elements[elementType]); + const context = () => this.getContext(index, active); + const values = config.resolveNamedOptions(scopes, names, context, prefixes); + if (values.$shared) { + values.$shared = sharing; + cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing)); + } + return values; + } + _resolveAnimations(index, transition, active) { + const chart = this.chart; + const cache = this._cachedDataOpts; + const cacheKey = `animation-${transition}`; + const cached = cache[cacheKey]; + if (cached) { + return cached; + } + let options; + if (chart.options.animation !== false) { + const config = this.chart.config; + const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition); + const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); + options = config.createResolver(scopes, this.getContext(index, active, transition)); + } + const animations = new Animations(chart, options && options.animations); + if (options && options._cacheable) { + cache[cacheKey] = Object.freeze(animations); + } + return animations; + } + getSharedOptions(options) { + if (!options.$shared) { + return; + } + return this._sharedOptions || (this._sharedOptions = Object.assign({}, options)); + } + includeOptions(mode, sharedOptions) { + return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; + } + _getSharedOptions(start, mode) { + const firstOpts = this.resolveDataElementOptions(start, mode); + const previouslySharedOptions = this._sharedOptions; + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions); + this.updateSharedOptions(sharedOptions, mode, firstOpts); + return {sharedOptions, includeOptions}; + } + updateElement(element, index, properties, mode) { + if (isDirectUpdateMode(mode)) { + Object.assign(element, properties); + } else { + this._resolveAnimations(index, mode).update(element, properties); + } + } + updateSharedOptions(sharedOptions, mode, newOptions) { + if (sharedOptions && !isDirectUpdateMode(mode)) { + this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions); + } + } + _setStyle(element, index, mode, active) { + element.active = active; + const options = this.getStyle(index, active); + this._resolveAnimations(index, mode, active).update(element, { + options: (!active && this.getSharedOptions(options)) || options + }); + } + removeHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', false); + } + setHoverStyle(element, datasetIndex, index) { + this._setStyle(element, index, 'active', true); + } + _removeDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', false); + } + } + _setDatasetHoverStyle() { + const element = this._cachedMeta.dataset; + if (element) { + this._setStyle(element, undefined, 'active', true); + } + } + _resyncElements(resetNewElements) { + const data = this._data; + const elements = this._cachedMeta.data; + for (const [method, arg1, arg2] of this._syncList) { + this[method](arg1, arg2); + } + this._syncList = []; + const numMeta = elements.length; + const numData = data.length; + const count = Math.min(numData, numMeta); + if (count) { + this.parse(0, count); + } + if (numData > numMeta) { + this._insertElements(numMeta, numData - numMeta, resetNewElements); + } else if (numData < numMeta) { + this._removeElements(numData, numMeta - numData); + } + } + _insertElements(start, count, resetNewElements = true) { + const meta = this._cachedMeta; + const data = meta.data; + const end = start + count; + let i; + const move = (arr) => { + arr.length += count; + for (i = arr.length - 1; i >= end; i--) { + arr[i] = arr[i - count]; + } + }; + move(data); + for (i = start; i < end; ++i) { + data[i] = new this.dataElementType(); + } + if (this._parsing) { + move(meta._parsed); + } + this.parse(start, count); + if (resetNewElements) { + this.updateElements(data, start, count, 'reset'); + } + } + updateElements(element, start, count, mode) {} + _removeElements(start, count) { + const meta = this._cachedMeta; + if (this._parsing) { + const removed = meta._parsed.splice(start, count); + if (meta._stacked) { + clearStacks(meta, removed); + } + } + meta.data.splice(start, count); + } + _sync(args) { + if (this._parsing) { + this._syncList.push(args); + } else { + const [method, arg1, arg2] = args; + this[method](arg1, arg2); + } + this.chart._dataChanges.push([this.index, ...args]); + } + _onDataPush() { + const count = arguments.length; + this._sync(['_insertElements', this.getDataset().data.length - count, count]); + } + _onDataPop() { + this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]); + } + _onDataShift() { + this._sync(['_removeElements', 0, 1]); + } + _onDataSplice(start, count) { + if (count) { + this._sync(['_removeElements', start, count]); + } + const newCount = arguments.length - 2; + if (newCount) { + this._sync(['_insertElements', start, newCount]); + } + } + _onDataUnshift() { + this._sync(['_insertElements', 0, arguments.length]); + } +} +DatasetController.defaults = {}; +DatasetController.prototype.datasetElementType = null; +DatasetController.prototype.dataElementType = null; + +function getAllScaleValues(scale, type) { + if (!scale._cache.$bar) { + const visibleMetas = scale.getMatchingVisibleMetas(type); + let values = []; + for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) { + values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale)); + } + scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b)); + } + return scale._cache.$bar; +} +function computeMinSampleSize(meta) { + const scale = meta.iScale; + const values = getAllScaleValues(scale, meta.type); + let min = scale._length; + let i, ilen, curr, prev; + const updateMinAndPrev = () => { + if (curr === 32767 || curr === -32768) { + return; + } + if (defined(prev)) { + min = Math.min(min, Math.abs(curr - prev) || min); + } + prev = curr; + }; + for (i = 0, ilen = values.length; i < ilen; ++i) { + curr = scale.getPixelForValue(values[i]); + updateMinAndPrev(); + } + prev = undefined; + for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) { + curr = scale.getPixelForTick(i); + updateMinAndPrev(); + } + return min; +} +function computeFitCategoryTraits(index, ruler, options, stackCount) { + const thickness = options.barThickness; + let size, ratio; + if (isNullOrUndef(thickness)) { + size = ruler.min * options.categoryPercentage; + ratio = options.barPercentage; + } else { + size = thickness * stackCount; + ratio = 1; + } + return { + chunk: size / stackCount, + ratio, + start: ruler.pixels[index] - (size / 2) + }; +} +function computeFlexCategoryTraits(index, ruler, options, stackCount) { + const pixels = ruler.pixels; + const curr = pixels[index]; + let prev = index > 0 ? pixels[index - 1] : null; + let next = index < pixels.length - 1 ? pixels[index + 1] : null; + const percent = options.categoryPercentage; + if (prev === null) { + prev = curr - (next === null ? ruler.end - ruler.start : next - curr); + } + if (next === null) { + next = curr + curr - prev; + } + const start = curr - (curr - Math.min(prev, next)) / 2 * percent; + const size = Math.abs(next - prev) / 2 * percent; + return { + chunk: size / stackCount, + ratio: options.barPercentage, + start + }; +} +function parseFloatBar(entry, item, vScale, i) { + const startValue = vScale.parse(entry[0], i); + const endValue = vScale.parse(entry[1], i); + const min = Math.min(startValue, endValue); + const max = Math.max(startValue, endValue); + let barStart = min; + let barEnd = max; + if (Math.abs(min) > Math.abs(max)) { + barStart = max; + barEnd = min; + } + item[vScale.axis] = barEnd; + item._custom = { + barStart, + barEnd, + start: startValue, + end: endValue, + min, + max + }; +} +function parseValue(entry, item, vScale, i) { + if (isArray(entry)) { + parseFloatBar(entry, item, vScale, i); + } else { + item[vScale.axis] = vScale.parse(entry, i); + } + return item; +} +function parseArrayOrPrimitive(meta, data, start, count) { + const iScale = meta.iScale; + const vScale = meta.vScale; + const labels = iScale.getLabels(); + const singleScale = iScale === vScale; + const parsed = []; + let i, ilen, item, entry; + for (i = start, ilen = start + count; i < ilen; ++i) { + entry = data[i]; + item = {}; + item[iScale.axis] = singleScale || iScale.parse(labels[i], i); + parsed.push(parseValue(entry, item, vScale, i)); + } + return parsed; +} +function isFloatBar(custom) { + return custom && custom.barStart !== undefined && custom.barEnd !== undefined; +} +function barSign(size, vScale, actualBase) { + if (size !== 0) { + return sign(size); + } + return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1); +} +function borderProps(properties) { + let reverse, start, end, top, bottom; + if (properties.horizontal) { + reverse = properties.base > properties.x; + start = 'left'; + end = 'right'; + } else { + reverse = properties.base < properties.y; + start = 'bottom'; + end = 'top'; + } + if (reverse) { + top = 'end'; + bottom = 'start'; + } else { + top = 'start'; + bottom = 'end'; + } + return {start, end, reverse, top, bottom}; +} +function setBorderSkipped(properties, options, stack, index) { + let edge = options.borderSkipped; + const res = {}; + if (!edge) { + properties.borderSkipped = res; + return; + } + if (edge === true) { + properties.borderSkipped = {top: true, right: true, bottom: true, left: true}; + return; + } + const {start, end, reverse, top, bottom} = borderProps(properties); + if (edge === 'middle' && stack) { + properties.enableBorderRadius = true; + if ((stack._top || 0) === index) { + edge = top; + } else if ((stack._bottom || 0) === index) { + edge = bottom; + } else { + res[parseEdge(bottom, start, end, reverse)] = true; + edge = top; + } + } + res[parseEdge(edge, start, end, reverse)] = true; + properties.borderSkipped = res; +} +function parseEdge(edge, a, b, reverse) { + if (reverse) { + edge = swap(edge, a, b); + edge = startEnd(edge, b, a); + } else { + edge = startEnd(edge, a, b); + } + return edge; +} +function swap(orig, v1, v2) { + return orig === v1 ? v2 : orig === v2 ? v1 : orig; +} +function startEnd(v, start, end) { + return v === 'start' ? start : v === 'end' ? end : v; +} +function setInflateAmount(properties, {inflateAmount}, ratio) { + properties.inflateAmount = inflateAmount === 'auto' + ? ratio === 1 ? 0.33 : 0 + : inflateAmount; +} +class BarController extends DatasetController { + parsePrimitiveData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseArrayData(meta, data, start, count) { + return parseArrayOrPrimitive(meta, data, start, count); + } + parseObjectData(meta, data, start, count) { + const {iScale, vScale} = meta; + const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing; + const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey; + const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey; + const parsed = []; + let i, ilen, item, obj; + for (i = start, ilen = start + count; i < ilen; ++i) { + obj = data[i]; + item = {}; + item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i); + parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i)); + } + return parsed; + } + updateRangeFromParsed(range, scale, parsed, stack) { + super.updateRangeFromParsed(range, scale, parsed, stack); + const custom = parsed._custom; + if (custom && scale === this._cachedMeta.vScale) { + range.min = Math.min(range.min, custom.min); + range.max = Math.max(range.max, custom.max); + } + } + getMaxOverflow() { + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {iScale, vScale} = meta; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const value = isFloatBar(custom) + ? '[' + custom.start + ', ' + custom.end + ']' + : '' + vScale.getLabelForValue(parsed[vScale.axis]); + return { + label: '' + iScale.getLabelForValue(parsed[iScale.axis]), + value + }; + } + initialize() { + this.enableOptionSharing = true; + super.initialize(); + const meta = this._cachedMeta; + meta.stack = this.getDataset().stack; + } + update(mode) { + const meta = this._cachedMeta; + this.updateElements(meta.data, 0, meta.data.length, mode); + } + updateElements(bars, start, count, mode) { + const reset = mode === 'reset'; + const {index, _cachedMeta: {vScale}} = this; + const base = vScale.getBasePixel(); + const horizontal = vScale.isHorizontal(); + const ruler = this._getRuler(); + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + for (let i = start; i < start + count; i++) { + const parsed = this.getParsed(i); + const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i); + const ipixels = this._calculateBarIndexPixels(i, ruler); + const stack = (parsed._stacks || {})[vScale.axis]; + const properties = { + horizontal, + base: vpixels.base, + enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom), + x: horizontal ? vpixels.head : ipixels.center, + y: horizontal ? ipixels.center : vpixels.head, + height: horizontal ? ipixels.size : Math.abs(vpixels.size), + width: horizontal ? Math.abs(vpixels.size) : ipixels.size + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode); + } + const options = properties.options || bars[i].options; + setBorderSkipped(properties, options, stack, index); + setInflateAmount(properties, options, ruler.ratio); + this.updateElement(bars[i], i, properties, mode); + } + } + _getStacks(last, dataIndex) { + const {iScale} = this._cachedMeta; + const metasets = iScale.getMatchingVisibleMetas(this._type) + .filter(meta => meta.controller.options.grouped); + const stacked = iScale.options.stacked; + const stacks = []; + const skipNull = (meta) => { + const parsed = meta.controller.getParsed(dataIndex); + const val = parsed && parsed[meta.vScale.axis]; + if (isNullOrUndef(val) || isNaN(val)) { + return true; + } + }; + for (const meta of metasets) { + if (dataIndex !== undefined && skipNull(meta)) { + continue; + } + if (stacked === false || stacks.indexOf(meta.stack) === -1 || + (stacked === undefined && meta.stack === undefined)) { + stacks.push(meta.stack); + } + if (meta.index === last) { + break; + } + } + if (!stacks.length) { + stacks.push(undefined); + } + return stacks; + } + _getStackCount(index) { + return this._getStacks(undefined, index).length; + } + _getStackIndex(datasetIndex, name, dataIndex) { + const stacks = this._getStacks(datasetIndex, dataIndex); + const index = (name !== undefined) + ? stacks.indexOf(name) + : -1; + return (index === -1) + ? stacks.length - 1 + : index; + } + _getRuler() { + const opts = this.options; + const meta = this._cachedMeta; + const iScale = meta.iScale; + const pixels = []; + let i, ilen; + for (i = 0, ilen = meta.data.length; i < ilen; ++i) { + pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i)); + } + const barThickness = opts.barThickness; + const min = barThickness || computeMinSampleSize(meta); + return { + min, + pixels, + start: iScale._startPixel, + end: iScale._endPixel, + stackCount: this._getStackCount(), + scale: iScale, + grouped: opts.grouped, + ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage + }; + } + _calculateBarValuePixels(index) { + const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this; + const actualBase = baseValue || 0; + const parsed = this.getParsed(index); + const custom = parsed._custom; + const floating = isFloatBar(custom); + let value = parsed[vScale.axis]; + let start = 0; + let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value; + let head, size; + if (length !== value) { + start = length - value; + length = value; + } + if (floating) { + value = custom.barStart; + length = custom.barEnd - custom.barStart; + if (value !== 0 && sign(value) !== sign(custom.barEnd)) { + start = 0; + } + start += value; + } + const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start; + let base = vScale.getPixelForValue(startValue); + if (this.chart.getDataVisibility(index)) { + head = vScale.getPixelForValue(start + length); + } else { + head = base; + } + size = head - base; + if (Math.abs(size) < minBarLength) { + size = barSign(size, vScale, actualBase) * minBarLength; + if (value === actualBase) { + base -= size / 2; + } + const startPixel = vScale.getPixelForDecimal(0); + const endPixel = vScale.getPixelForDecimal(1); + const min = Math.min(startPixel, endPixel); + const max = Math.max(startPixel, endPixel); + base = Math.max(Math.min(base, max), min); + head = base + size; + } + if (base === vScale.getPixelForValue(actualBase)) { + const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2; + base += halfGrid; + size -= halfGrid; + } + return { + size, + base, + head, + center: head + size / 2 + }; + } + _calculateBarIndexPixels(index, ruler) { + const scale = ruler.scale; + const options = this.options; + const skipNull = options.skipNull; + const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); + let center, size; + if (ruler.grouped) { + const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; + const range = options.barThickness === 'flex' + ? computeFlexCategoryTraits(index, ruler, options, stackCount) + : computeFitCategoryTraits(index, ruler, options, stackCount); + const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined); + center = range.start + (range.chunk * stackIndex) + (range.chunk / 2); + size = Math.min(maxBarThickness, range.chunk * range.ratio); + } else { + center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index); + size = Math.min(maxBarThickness, ruler.min * ruler.ratio); + } + return { + base: center - size / 2, + head: center + size / 2, + center, + size + }; + } + draw() { + const meta = this._cachedMeta; + const vScale = meta.vScale; + const rects = meta.data; + const ilen = rects.length; + let i = 0; + for (; i < ilen; ++i) { + if (this.getParsed(i)[vScale.axis] !== null) { + rects[i].draw(this._ctx); + } + } + } +} +BarController.id = 'bar'; +BarController.defaults = { + datasetElementType: false, + dataElementType: 'bar', + categoryPercentage: 0.8, + barPercentage: 0.9, + grouped: true, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'base', 'width', 'height'] + } + } +}; +BarController.overrides = { + scales: { + _index_: { + type: 'category', + offset: true, + grid: { + offset: true + } + }, + _value_: { + type: 'linear', + beginAtZero: true, + } + } +}; + +class BubbleController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + super.initialize(); + } + parsePrimitiveData(meta, data, start, count) { + const parsed = super.parsePrimitiveData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; + } + return parsed; + } + parseArrayData(meta, data, start, count) { + const parsed = super.parseArrayData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + parseObjectData(meta, data, start, count) { + const parsed = super.parseObjectData(meta, data, start, count); + for (let i = 0; i < parsed.length; i++) { + const item = data[start + i]; + parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); + } + return parsed; + } + getMaxOverflow() { + const data = this._cachedMeta.data; + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const {xScale, yScale} = meta; + const parsed = this.getParsed(index); + const x = xScale.getLabelForValue(parsed.x); + const y = yScale.getLabelForValue(parsed.y); + const r = parsed._custom; + return { + label: meta.label, + value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')' + }; + } + update(mode) { + const points = this._cachedMeta.data; + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const parsed = !reset && this.getParsed(i); + const properties = {}; + const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); + const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); + properties.skip = isNaN(iPixel) || isNaN(vPixel); + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + if (reset) { + properties.options.radius = 0; + } + } + this.updateElement(point, i, properties, mode); + } + } + resolveDataElementOptions(index, mode) { + const parsed = this.getParsed(index); + let values = super.resolveDataElementOptions(index, mode); + if (values.$shared) { + values = Object.assign({}, values, {$shared: false}); + } + const radius = values.radius; + if (mode !== 'active') { + values.radius = 0; + } + values.radius += valueOrDefault(parsed && parsed._custom, radius); + return values; + } +} +BubbleController.id = 'bubble'; +BubbleController.defaults = { + datasetElementType: false, + dataElementType: 'point', + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'borderWidth', 'radius'] + } + } +}; +BubbleController.overrides = { + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + } + } + } + } +}; + +function getRatioAndOffset(rotation, circumference, cutout) { + let ratioX = 1; + let ratioY = 1; + let offsetX = 0; + let offsetY = 0; + if (circumference < TAU) { + const startAngle = rotation; + const endAngle = startAngle + circumference; + const startX = Math.cos(startAngle); + const startY = Math.sin(startAngle); + const endX = Math.cos(endAngle); + const endY = Math.sin(endAngle); + const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout); + const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout); + const maxX = calcMax(0, startX, endX); + const maxY = calcMax(HALF_PI, startY, endY); + const minX = calcMin(PI, startX, endX); + const minY = calcMin(PI + HALF_PI, startY, endY); + ratioX = (maxX - minX) / 2; + ratioY = (maxY - minY) / 2; + offsetX = -(maxX + minX) / 2; + offsetY = -(maxY + minY) / 2; + } + return {ratioX, ratioY, offsetX, offsetY}; +} +class DoughnutController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.enableOptionSharing = true; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.offsetX = undefined; + this.offsetY = undefined; + } + linkScales() {} + parse(start, count) { + const data = this.getDataset().data; + const meta = this._cachedMeta; + if (this._parsing === false) { + meta._parsed = data; + } else { + let getter = (i) => +data[i]; + if (isObject(data[start])) { + const {key = 'value'} = this._parsing; + getter = (i) => +resolveObjectKey(data[i], key); + } + let i, ilen; + for (i = start, ilen = start + count; i < ilen; ++i) { + meta._parsed[i] = getter(i); + } + } + } + _getRotation() { + return toRadians(this.options.rotation - 90); + } + _getCircumference() { + return toRadians(this.options.circumference); + } + _getRotationExtents() { + let min = TAU; + let max = -TAU; + for (let i = 0; i < this.chart.data.datasets.length; ++i) { + if (this.chart.isDatasetVisible(i)) { + const controller = this.chart.getDatasetMeta(i).controller; + const rotation = controller._getRotation(); + const circumference = controller._getCircumference(); + min = Math.min(min, rotation); + max = Math.max(max, rotation + circumference); + } + } + return { + rotation: min, + circumference: max - min, + }; + } + update(mode) { + const chart = this.chart; + const {chartArea} = chart; + const meta = this._cachedMeta; + const arcs = meta.data; + const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing; + const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0); + const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1); + const chartWeight = this._getRingWeight(this.index); + const {circumference, rotation} = this._getRotationExtents(); + const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout); + const maxWidth = (chartArea.width - spacing) / ratioX; + const maxHeight = (chartArea.height - spacing) / ratioY; + const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); + const outerRadius = toDimension(this.options.radius, maxRadius); + const innerRadius = Math.max(outerRadius * cutout, 0); + const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal(); + this.offsetX = offsetX * outerRadius; + this.offsetY = offsetY * outerRadius; + meta.total = this.calculateTotal(); + this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index); + this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0); + this.updateElements(arcs, 0, arcs.length, mode); + } + _circumference(i, reset) { + const opts = this.options; + const meta = this._cachedMeta; + const circumference = this._getCircumference(); + if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) { + return 0; + } + return this.calculateCircumference(meta._parsed[i] * circumference / TAU); + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const animationOpts = opts.animation; + const centerX = (chartArea.left + chartArea.right) / 2; + const centerY = (chartArea.top + chartArea.bottom) / 2; + const animateScale = reset && animationOpts.animateScale; + const innerRadius = animateScale ? 0 : this.innerRadius; + const outerRadius = animateScale ? 0 : this.outerRadius; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + let startAngle = this._getRotation(); + let i; + for (i = 0; i < start; ++i) { + startAngle += this._circumference(i, reset); + } + for (i = start; i < start + count; ++i) { + const circumference = this._circumference(i, reset); + const arc = arcs[i]; + const properties = { + x: centerX + this.offsetX, + y: centerY + this.offsetY, + startAngle, + endAngle: startAngle + circumference, + circumference, + outerRadius, + innerRadius + }; + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode); + } + startAngle += circumference; + this.updateElement(arc, i, properties, mode); + } + } + calculateTotal() { + const meta = this._cachedMeta; + const metaData = meta.data; + let total = 0; + let i; + for (i = 0; i < metaData.length; i++) { + const value = meta._parsed[i]; + if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) { + total += Math.abs(value); + } + } + return total; + } + calculateCircumference(value) { + const total = this._cachedMeta.total; + if (total > 0 && !isNaN(value)) { + return TAU * (Math.abs(value) / total); + } + return 0; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index], chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + getMaxBorderWidth(arcs) { + let max = 0; + const chart = this.chart; + let i, ilen, meta, controller, options; + if (!arcs) { + for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) { + if (chart.isDatasetVisible(i)) { + meta = chart.getDatasetMeta(i); + arcs = meta.data; + controller = meta.controller; + break; + } + } + } + if (!arcs) { + return 0; + } + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + options = controller.resolveDataElementOptions(i); + if (options.borderAlign !== 'inner') { + max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0); + } + } + return max; + } + getMaxOffset(arcs) { + let max = 0; + for (let i = 0, ilen = arcs.length; i < ilen; ++i) { + const options = this.resolveDataElementOptions(i); + max = Math.max(max, options.offset || 0, options.hoverOffset || 0); + } + return max; + } + _getRingWeightOffset(datasetIndex) { + let ringWeightOffset = 0; + for (let i = 0; i < datasetIndex; ++i) { + if (this.chart.isDatasetVisible(i)) { + ringWeightOffset += this._getRingWeight(i); + } + } + return ringWeightOffset; + } + _getRingWeight(datasetIndex) { + return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0); + } + _getVisibleDatasetWeightTotal() { + return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; + } +} +DoughnutController.id = 'doughnut'; +DoughnutController.defaults = { + datasetElementType: false, + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: false + }, + animations: { + numbers: { + type: 'number', + properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing'] + }, + }, + cutout: '50%', + rotation: 0, + circumference: 360, + radius: '100%', + spacing: 0, + indexAxis: 'r', +}; +DoughnutController.descriptors = { + _scriptable: (name) => name !== 'spacing', + _indexable: (name) => name !== 'spacing', +}; +DoughnutController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(tooltipItem) { + let dataLabel = tooltipItem.label; + const value = ': ' + tooltipItem.formattedValue; + if (isArray(dataLabel)) { + dataLabel = dataLabel.slice(); + dataLabel[0] += value; + } else { + dataLabel += value; + } + return dataLabel; + } + } + } + } +}; + +class LineController extends DatasetController { + initialize() { + this.enableOptionSharing = true; + this.supportsDecimation = true; + super.initialize(); + } + update(mode) { + const meta = this._cachedMeta; + const {dataset: line, data: points = [], _dataset} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + this.updateElements(points, start, count, mode); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + } + getMaxOverflow() { + const meta = this._cachedMeta; + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + const data = meta.data || []; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } + draw() { + const meta = this._cachedMeta; + meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); + super.draw(); + } +} +LineController.id = 'line'; +LineController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + showLine: true, + spanGaps: false, +}; +LineController.overrides = { + scales: { + _index_: { + type: 'category', + }, + _value_: { + type: 'linear', + }, + } +}; + +class PolarAreaController extends DatasetController { + constructor(chart, datasetIndex) { + super(chart, datasetIndex); + this.innerRadius = undefined; + this.outerRadius = undefined; + } + getLabelAndValue(index) { + const meta = this._cachedMeta; + const chart = this.chart; + const labels = chart.data.labels || []; + const value = formatNumber(meta._parsed[index].r, chart.options.locale); + return { + label: labels[index] || '', + value, + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const arcs = this._cachedMeta.data; + this._updateRadius(); + this.updateElements(arcs, 0, arcs.length, mode); + } + getMinMax() { + const meta = this._cachedMeta; + const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY}; + meta.data.forEach((element, index) => { + const parsed = this.getParsed(index).r; + if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { + if (parsed < range.min) { + range.min = parsed; + } + if (parsed > range.max) { + range.max = parsed; + } + } + }); + return range; + } + _updateRadius() { + const chart = this.chart; + const chartArea = chart.chartArea; + const opts = chart.options; + const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); + const outerRadius = Math.max(minSize / 2, 0); + const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0); + const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); + this.outerRadius = outerRadius - (radiusLength * this.index); + this.innerRadius = this.outerRadius - radiusLength; + } + updateElements(arcs, start, count, mode) { + const reset = mode === 'reset'; + const chart = this.chart; + const opts = chart.options; + const animationOpts = opts.animation; + const scale = this._cachedMeta.rScale; + const centerX = scale.xCenter; + const centerY = scale.yCenter; + const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; + let angle = datasetStartAngle; + let i; + const defaultAngle = 360 / this.countVisibleElements(); + for (i = 0; i < start; ++i) { + angle += this._computeAngle(i, mode, defaultAngle); + } + for (i = start; i < start + count; i++) { + const arc = arcs[i]; + let startAngle = angle; + let endAngle = angle + this._computeAngle(i, mode, defaultAngle); + let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; + angle = endAngle; + if (reset) { + if (animationOpts.animateScale) { + outerRadius = 0; + } + if (animationOpts.animateRotate) { + startAngle = endAngle = datasetStartAngle; + } + } + const properties = { + x: centerX, + y: centerY, + innerRadius: 0, + outerRadius, + startAngle, + endAngle, + options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode) + }; + this.updateElement(arc, i, properties, mode); + } + } + countVisibleElements() { + const meta = this._cachedMeta; + let count = 0; + meta.data.forEach((element, index) => { + if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { + count++; + } + }); + return count; + } + _computeAngle(index, mode, defaultAngle) { + return this.chart.getDataVisibility(index) + ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) + : 0; + } +} +PolarAreaController.id = 'polarArea'; +PolarAreaController.defaults = { + dataElementType: 'arc', + animation: { + animateRotate: true, + animateScale: true + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius'] + }, + }, + indexAxis: 'r', + startAngle: 0, +}; +PolarAreaController.overrides = { + aspectRatio: 1, + plugins: { + legend: { + labels: { + generateLabels(chart) { + const data = chart.data; + if (data.labels.length && data.datasets.length) { + const {labels: {pointStyle}} = chart.legend.options; + return data.labels.map((label, i) => { + const meta = chart.getDatasetMeta(0); + const style = meta.controller.getStyle(i); + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + pointStyle: pointStyle, + hidden: !chart.getDataVisibility(i), + index: i + }; + }); + } + return []; + } + }, + onClick(e, legendItem, legend) { + legend.chart.toggleDataVisibility(legendItem.index); + legend.chart.update(); + } + }, + tooltip: { + callbacks: { + title() { + return ''; + }, + label(context) { + return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue; + } + } + } + }, + scales: { + r: { + type: 'radialLinear', + angleLines: { + display: false + }, + beginAtZero: true, + grid: { + circular: true + }, + pointLabels: { + display: false + }, + startAngle: 0 + } + } +}; + +class PieController extends DoughnutController { +} +PieController.id = 'pie'; +PieController.defaults = { + cutout: 0, + rotation: 0, + circumference: 360, + radius: '100%' +}; + +class RadarController extends DatasetController { + getLabelAndValue(index) { + const vScale = this._cachedMeta.vScale; + const parsed = this.getParsed(index); + return { + label: vScale.getLabels()[index], + value: '' + vScale.getLabelForValue(parsed[vScale.axis]) + }; + } + parseObjectData(meta, data, start, count) { + return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); + } + update(mode) { + const meta = this._cachedMeta; + const line = meta.dataset; + const points = meta.data || []; + const labels = meta.iScale.getLabels(); + line.points = points; + if (mode !== 'resize') { + const options = this.resolveDatasetElementOptions(mode); + if (!this.options.showLine) { + options.borderWidth = 0; + } + const properties = { + _loop: true, + _fullLoop: labels.length === points.length, + options + }; + this.updateElement(line, undefined, properties, mode); + } + this.updateElements(points, 0, points.length, mode); + } + updateElements(points, start, count, mode) { + const scale = this._cachedMeta.rScale; + const reset = mode === 'reset'; + for (let i = start; i < start + count; i++) { + const point = points[i]; + const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode); + const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); + const x = reset ? scale.xCenter : pointPosition.x; + const y = reset ? scale.yCenter : pointPosition.y; + const properties = { + x, + y, + angle: pointPosition.angle, + skip: isNaN(x) || isNaN(y), + options + }; + this.updateElement(point, i, properties, mode); + } + } +} +RadarController.id = 'radar'; +RadarController.defaults = { + datasetElementType: 'line', + dataElementType: 'point', + indexAxis: 'r', + showLine: true, + elements: { + line: { + fill: 'start' + } + }, +}; +RadarController.overrides = { + aspectRatio: 1, + scales: { + r: { + type: 'radialLinear', + } + } +}; + +class Element { + constructor() { + this.x = undefined; + this.y = undefined; + this.active = false; + this.options = undefined; + this.$animations = undefined; + } + tooltipPosition(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + hasValue() { + return isNumber(this.x) && isNumber(this.y); + } + getProps(props, final) { + const anims = this.$animations; + if (!final || !anims) { + return this; + } + const ret = {}; + props.forEach(prop => { + ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop]; + }); + return ret; + } +} +Element.defaults = {}; +Element.defaultRoutes = undefined; + +const formatters = { + values(value) { + return isArray(value) ? value : '' + value; + }, + numeric(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const locale = this.chart.options.locale; + let notation; + let delta = tickValue; + if (ticks.length > 1) { + const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); + if (maxTick < 1e-4 || maxTick > 1e+15) { + notation = 'scientific'; + } + delta = calculateDelta(tickValue, ticks); + } + const logDelta = log10(Math.abs(delta)); + const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); + const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal}; + Object.assign(options, this.options.ticks.format); + return formatNumber(tickValue, locale, options); + }, + logarithmic(tickValue, index, ticks) { + if (tickValue === 0) { + return '0'; + } + const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue)))); + if (remain === 1 || remain === 2 || remain === 5) { + return formatters.numeric.call(this, tickValue, index, ticks); + } + return ''; + } +}; +function calculateDelta(tickValue, ticks) { + let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; + if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { + delta = tickValue - Math.floor(tickValue); + } + return delta; +} +var Ticks = {formatters}; + +defaults.set('scale', { + display: true, + offset: false, + reverse: false, + beginAtZero: false, + bounds: 'ticks', + grace: 0, + grid: { + display: true, + lineWidth: 1, + drawBorder: true, + drawOnChartArea: true, + drawTicks: true, + tickLength: 8, + tickWidth: (_ctx, options) => options.lineWidth, + tickColor: (_ctx, options) => options.color, + offset: false, + borderDash: [], + borderDashOffset: 0.0, + borderWidth: 1 + }, + title: { + display: false, + text: '', + padding: { + top: 4, + bottom: 4 + } + }, + ticks: { + minRotation: 0, + maxRotation: 50, + mirror: false, + textStrokeWidth: 0, + textStrokeColor: '', + padding: 3, + display: true, + autoSkip: true, + autoSkipPadding: 3, + labelOffset: 0, + callback: Ticks.formatters.values, + minor: {}, + major: {}, + align: 'center', + crossAlign: 'near', + showLabelBackdrop: false, + backdropColor: 'rgba(255, 255, 255, 0.75)', + backdropPadding: 2, + } +}); +defaults.route('scale.ticks', 'color', '', 'color'); +defaults.route('scale.grid', 'color', '', 'borderColor'); +defaults.route('scale.grid', 'borderColor', '', 'borderColor'); +defaults.route('scale.title', 'color', '', 'color'); +defaults.describe('scale', { + _fallback: false, + _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser', + _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash', +}); +defaults.describe('scales', { + _fallback: 'scale', +}); +defaults.describe('scale.ticks', { + _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback', + _indexable: (name) => name !== 'backdropPadding', +}); + +function autoSkip(scale, ticks) { + const tickOpts = scale.options.ticks; + const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale); + const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; + const numMajorIndices = majorIndices.length; + const first = majorIndices[0]; + const last = majorIndices[numMajorIndices - 1]; + const newTicks = []; + if (numMajorIndices > ticksLimit) { + skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit); + return newTicks; + } + const spacing = calculateSpacing(majorIndices, ticks, ticksLimit); + if (numMajorIndices > 0) { + let i, ilen; + const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null; + skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first); + for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) { + skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]); + } + skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing); + return newTicks; + } + skip(ticks, newTicks, spacing); + return newTicks; +} +function determineMaxTicks(scale) { + const offset = scale.options.offset; + const tickLength = scale._tickSize(); + const maxScale = scale._length / tickLength + (offset ? 0 : 1); + const maxChart = scale._maxLength / tickLength; + return Math.floor(Math.min(maxScale, maxChart)); +} +function calculateSpacing(majorIndices, ticks, ticksLimit) { + const evenMajorSpacing = getEvenSpacing(majorIndices); + const spacing = ticks.length / ticksLimit; + if (!evenMajorSpacing) { + return Math.max(spacing, 1); + } + const factors = _factorize(evenMajorSpacing); + for (let i = 0, ilen = factors.length - 1; i < ilen; i++) { + const factor = factors[i]; + if (factor > spacing) { + return factor; + } + } + return Math.max(spacing, 1); +} +function getMajorIndices(ticks) { + const result = []; + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (ticks[i].major) { + result.push(i); + } + } + return result; +} +function skipMajors(ticks, newTicks, majorIndices, spacing) { + let count = 0; + let next = majorIndices[0]; + let i; + spacing = Math.ceil(spacing); + for (i = 0; i < ticks.length; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = majorIndices[count * spacing]; + } + } +} +function skip(ticks, newTicks, spacing, majorStart, majorEnd) { + const start = valueOrDefault(majorStart, 0); + const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length); + let count = 0; + let length, i, next; + spacing = Math.ceil(spacing); + if (majorEnd) { + length = majorEnd - majorStart; + spacing = length / Math.floor(length / spacing); + } + next = start; + while (next < 0) { + count++; + next = Math.round(start + count * spacing); + } + for (i = Math.max(start, 0); i < end; i++) { + if (i === next) { + newTicks.push(ticks[i]); + count++; + next = Math.round(start + count * spacing); + } + } +} +function getEvenSpacing(arr) { + const len = arr.length; + let i, diff; + if (len < 2) { + return false; + } + for (diff = arr[0], i = 1; i < len; ++i) { + if (arr[i] - arr[i - 1] !== diff) { + return false; + } + } + return diff; +} + +const reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align; +const offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset; +function sample(arr, numItems) { + const result = []; + const increment = arr.length / numItems; + const len = arr.length; + let i = 0; + for (; i < len; i += increment) { + result.push(arr[Math.floor(i)]); + } + return result; +} +function getPixelForGridLine(scale, index, offsetGridLines) { + const length = scale.ticks.length; + const validIndex = Math.min(index, length - 1); + const start = scale._startPixel; + const end = scale._endPixel; + const epsilon = 1e-6; + let lineValue = scale.getPixelForTick(validIndex); + let offset; + if (offsetGridLines) { + if (length === 1) { + offset = Math.max(lineValue - start, end - lineValue); + } else if (index === 0) { + offset = (scale.getPixelForTick(1) - lineValue) / 2; + } else { + offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2; + } + lineValue += validIndex < index ? offset : -offset; + if (lineValue < start - epsilon || lineValue > end + epsilon) { + return; + } + } + return lineValue; +} +function garbageCollect(caches, length) { + each(caches, (cache) => { + const gc = cache.gc; + const gcLen = gc.length / 2; + let i; + if (gcLen > length) { + for (i = 0; i < gcLen; ++i) { + delete cache.data[gc[i]]; + } + gc.splice(0, gcLen); + } + }); +} +function getTickMarkLength(options) { + return options.drawTicks ? options.tickLength : 0; +} +function getTitleHeight(options, fallback) { + if (!options.display) { + return 0; + } + const font = toFont(options.font, fallback); + const padding = toPadding(options.padding); + const lines = isArray(options.text) ? options.text.length : 1; + return (lines * font.lineHeight) + padding.height; +} +function createScaleContext(parent, scale) { + return createContext(parent, { + scale, + type: 'scale' + }); +} +function createTickContext(parent, index, tick) { + return createContext(parent, { + tick, + index, + type: 'tick' + }); +} +function titleAlign(align, position, reverse) { + let ret = _toLeftRightCenter(align); + if ((reverse && position !== 'right') || (!reverse && position === 'right')) { + ret = reverseAlign(ret); + } + return ret; +} +function titleArgs(scale, offset, position, align) { + const {top, left, bottom, right, chart} = scale; + const {chartArea, scales} = chart; + let rotation = 0; + let maxWidth, titleX, titleY; + const height = bottom - top; + const width = right - left; + if (scale.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleY = scales[positionAxisID].getPixelForValue(value) + height - offset; + } else if (position === 'center') { + titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset; + } else { + titleY = offsetFromEdge(scale, position, offset); + } + maxWidth = right - left; + } else { + if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; + } else if (position === 'center') { + titleX = (chartArea.left + chartArea.right) / 2 - width + offset; + } else { + titleX = offsetFromEdge(scale, position, offset); + } + titleY = _alignStartEnd(align, bottom, top); + rotation = position === 'left' ? -HALF_PI : HALF_PI; + } + return {titleX, titleY, maxWidth, rotation}; +} +class Scale extends Element { + constructor(cfg) { + super(); + this.id = cfg.id; + this.type = cfg.type; + this.options = undefined; + this.ctx = cfg.ctx; + this.chart = cfg.chart; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this._margins = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + this.maxWidth = undefined; + this.maxHeight = undefined; + this.paddingTop = undefined; + this.paddingBottom = undefined; + this.paddingLeft = undefined; + this.paddingRight = undefined; + this.axis = undefined; + this.labelRotation = undefined; + this.min = undefined; + this.max = undefined; + this._range = undefined; + this.ticks = []; + this._gridLineItems = null; + this._labelItems = null; + this._labelSizes = null; + this._length = 0; + this._maxLength = 0; + this._longestTextCache = {}; + this._startPixel = undefined; + this._endPixel = undefined; + this._reversePixels = false; + this._userMax = undefined; + this._userMin = undefined; + this._suggestedMax = undefined; + this._suggestedMin = undefined; + this._ticksLength = 0; + this._borderValue = 0; + this._cache = {}; + this._dataLimitsCached = false; + this.$context = undefined; + } + init(options) { + this.options = options.setContext(this.getContext()); + this.axis = options.axis; + this._userMin = this.parse(options.min); + this._userMax = this.parse(options.max); + this._suggestedMin = this.parse(options.suggestedMin); + this._suggestedMax = this.parse(options.suggestedMax); + } + parse(raw, index) { + return raw; + } + getUserBounds() { + let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this; + _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY); + _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY); + _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY); + _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY); + return { + min: finiteOrDefault(_userMin, _suggestedMin), + max: finiteOrDefault(_userMax, _suggestedMax), + minDefined: isNumberFinite(_userMin), + maxDefined: isNumberFinite(_userMax) + }; + } + getMinMax(canStack) { + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + let range; + if (minDefined && maxDefined) { + return {min, max}; + } + const metas = this.getMatchingVisibleMetas(); + for (let i = 0, ilen = metas.length; i < ilen; ++i) { + range = metas[i].controller.getMinMax(this, canStack); + if (!minDefined) { + min = Math.min(min, range.min); + } + if (!maxDefined) { + max = Math.max(max, range.max); + } + } + min = maxDefined && min > max ? max : min; + max = minDefined && min > max ? min : max; + return { + min: finiteOrDefault(min, finiteOrDefault(max, min)), + max: finiteOrDefault(max, finiteOrDefault(min, max)) + }; + } + getPadding() { + return { + left: this.paddingLeft || 0, + top: this.paddingTop || 0, + right: this.paddingRight || 0, + bottom: this.paddingBottom || 0 + }; + } + getTicks() { + return this.ticks; + } + getLabels() { + const data = this.chart.data; + return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || []; + } + beforeLayout() { + this._cache = {}; + this._dataLimitsCached = false; + } + beforeUpdate() { + callback(this.options.beforeUpdate, [this]); + } + update(maxWidth, maxHeight, margins) { + const {beginAtZero, grace, ticks: tickOpts} = this.options; + const sampleSize = tickOpts.sampleSize; + this.beforeUpdate(); + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins = Object.assign({ + left: 0, + right: 0, + top: 0, + bottom: 0 + }, margins); + this.ticks = null; + this._labelSizes = null; + this._gridLineItems = null; + this._labelItems = null; + this.beforeSetDimensions(); + this.setDimensions(); + this.afterSetDimensions(); + this._maxLength = this.isHorizontal() + ? this.width + margins.left + margins.right + : this.height + margins.top + margins.bottom; + if (!this._dataLimitsCached) { + this.beforeDataLimits(); + this.determineDataLimits(); + this.afterDataLimits(); + this._range = _addGrace(this, grace, beginAtZero); + this._dataLimitsCached = true; + } + this.beforeBuildTicks(); + this.ticks = this.buildTicks() || []; + this.afterBuildTicks(); + const samplingEnabled = sampleSize < this.ticks.length; + this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks); + this.configure(); + this.beforeCalculateLabelRotation(); + this.calculateLabelRotation(); + this.afterCalculateLabelRotation(); + if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) { + this.ticks = autoSkip(this, this.ticks); + this._labelSizes = null; + this.afterAutoSkip(); + } + if (samplingEnabled) { + this._convertTicksToLabels(this.ticks); + } + this.beforeFit(); + this.fit(); + this.afterFit(); + this.afterUpdate(); + } + configure() { + let reversePixels = this.options.reverse; + let startPixel, endPixel; + if (this.isHorizontal()) { + startPixel = this.left; + endPixel = this.right; + } else { + startPixel = this.top; + endPixel = this.bottom; + reversePixels = !reversePixels; + } + this._startPixel = startPixel; + this._endPixel = endPixel; + this._reversePixels = reversePixels; + this._length = endPixel - startPixel; + this._alignToPixels = this.options.alignToPixels; + } + afterUpdate() { + callback(this.options.afterUpdate, [this]); + } + beforeSetDimensions() { + callback(this.options.beforeSetDimensions, [this]); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = 0; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = 0; + this.bottom = this.height; + } + this.paddingLeft = 0; + this.paddingTop = 0; + this.paddingRight = 0; + this.paddingBottom = 0; + } + afterSetDimensions() { + callback(this.options.afterSetDimensions, [this]); + } + _callHooks(name) { + this.chart.notifyPlugins(name, this.getContext()); + callback(this.options[name], [this]); + } + beforeDataLimits() { + this._callHooks('beforeDataLimits'); + } + determineDataLimits() {} + afterDataLimits() { + this._callHooks('afterDataLimits'); + } + beforeBuildTicks() { + this._callHooks('beforeBuildTicks'); + } + buildTicks() { + return []; + } + afterBuildTicks() { + this._callHooks('afterBuildTicks'); + } + beforeTickToLabelConversion() { + callback(this.options.beforeTickToLabelConversion, [this]); + } + generateTickLabels(ticks) { + const tickOpts = this.options.ticks; + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + tick = ticks[i]; + tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this); + } + } + afterTickToLabelConversion() { + callback(this.options.afterTickToLabelConversion, [this]); + } + beforeCalculateLabelRotation() { + callback(this.options.beforeCalculateLabelRotation, [this]); + } + calculateLabelRotation() { + const options = this.options; + const tickOpts = options.ticks; + const numTicks = this.ticks.length; + const minRotation = tickOpts.minRotation || 0; + const maxRotation = tickOpts.maxRotation; + let labelRotation = minRotation; + let tickWidth, maxHeight, maxLabelDiagonal; + if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) { + this.labelRotation = minRotation; + return; + } + const labelSizes = this._getLabelSizes(); + const maxLabelWidth = labelSizes.widest.width; + const maxLabelHeight = labelSizes.highest.height; + const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth); + tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1); + if (maxLabelWidth + 6 > tickWidth) { + tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1)); + maxHeight = this.maxHeight - getTickMarkLength(options.grid) + - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font); + maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight); + labelRotation = toDegrees(Math.min( + Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), + Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1)) + )); + labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation)); + } + this.labelRotation = labelRotation; + } + afterCalculateLabelRotation() { + callback(this.options.afterCalculateLabelRotation, [this]); + } + afterAutoSkip() {} + beforeFit() { + callback(this.options.beforeFit, [this]); + } + fit() { + const minSize = { + width: 0, + height: 0 + }; + const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this; + const display = this._isVisible(); + const isHorizontal = this.isHorizontal(); + if (display) { + const titleHeight = getTitleHeight(titleOpts, chart.options.font); + if (isHorizontal) { + minSize.width = this.maxWidth; + minSize.height = getTickMarkLength(gridOpts) + titleHeight; + } else { + minSize.height = this.maxHeight; + minSize.width = getTickMarkLength(gridOpts) + titleHeight; + } + if (tickOpts.display && this.ticks.length) { + const {first, last, widest, highest} = this._getLabelSizes(); + const tickPadding = tickOpts.padding * 2; + const angleRadians = toRadians(this.labelRotation); + const cos = Math.cos(angleRadians); + const sin = Math.sin(angleRadians); + if (isHorizontal) { + const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; + minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding); + } else { + const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height; + minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding); + } + this._calculatePadding(first, last, sin, cos); + } + } + this._handleMargins(); + if (isHorizontal) { + this.width = this._length = chart.width - this._margins.left - this._margins.right; + this.height = minSize.height; + } else { + this.width = minSize.width; + this.height = this._length = chart.height - this._margins.top - this._margins.bottom; + } + } + _calculatePadding(first, last, sin, cos) { + const {ticks: {align, padding}, position} = this.options; + const isRotated = this.labelRotation !== 0; + const labelsBelowTicks = position !== 'top' && this.axis === 'x'; + if (this.isHorizontal()) { + const offsetLeft = this.getPixelForTick(0) - this.left; + const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1); + let paddingLeft = 0; + let paddingRight = 0; + if (isRotated) { + if (labelsBelowTicks) { + paddingLeft = cos * first.width; + paddingRight = sin * last.height; + } else { + paddingLeft = sin * first.height; + paddingRight = cos * last.width; + } + } else if (align === 'start') { + paddingRight = last.width; + } else if (align === 'end') { + paddingLeft = first.width; + } else if (align !== 'inner') { + paddingLeft = first.width / 2; + paddingRight = last.width / 2; + } + this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0); + this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0); + } else { + let paddingTop = last.height / 2; + let paddingBottom = first.height / 2; + if (align === 'start') { + paddingTop = 0; + paddingBottom = first.height; + } else if (align === 'end') { + paddingTop = last.height; + paddingBottom = 0; + } + this.paddingTop = paddingTop + padding; + this.paddingBottom = paddingBottom + padding; + } + } + _handleMargins() { + if (this._margins) { + this._margins.left = Math.max(this.paddingLeft, this._margins.left); + this._margins.top = Math.max(this.paddingTop, this._margins.top); + this._margins.right = Math.max(this.paddingRight, this._margins.right); + this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom); + } + } + afterFit() { + callback(this.options.afterFit, [this]); + } + isHorizontal() { + const {axis, position} = this.options; + return position === 'top' || position === 'bottom' || axis === 'x'; + } + isFullSize() { + return this.options.fullSize; + } + _convertTicksToLabels(ticks) { + this.beforeTickToLabelConversion(); + this.generateTickLabels(ticks); + let i, ilen; + for (i = 0, ilen = ticks.length; i < ilen; i++) { + if (isNullOrUndef(ticks[i].label)) { + ticks.splice(i, 1); + ilen--; + i--; + } + } + this.afterTickToLabelConversion(); + } + _getLabelSizes() { + let labelSizes = this._labelSizes; + if (!labelSizes) { + const sampleSize = this.options.ticks.sampleSize; + let ticks = this.ticks; + if (sampleSize < ticks.length) { + ticks = sample(ticks, sampleSize); + } + this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length); + } + return labelSizes; + } + _computeLabelSizes(ticks, length) { + const {ctx, _longestTextCache: caches} = this; + const widths = []; + const heights = []; + let widestLabelSize = 0; + let highestLabelSize = 0; + let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel; + for (i = 0; i < length; ++i) { + label = ticks[i].label; + tickFont = this._resolveTickFontOptions(i); + ctx.font = fontString = tickFont.string; + cache = caches[fontString] = caches[fontString] || {data: {}, gc: []}; + lineHeight = tickFont.lineHeight; + width = height = 0; + if (!isNullOrUndef(label) && !isArray(label)) { + width = _measureText(ctx, cache.data, cache.gc, width, label); + height = lineHeight; + } else if (isArray(label)) { + for (j = 0, jlen = label.length; j < jlen; ++j) { + nestedLabel = label[j]; + if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) { + width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel); + height += lineHeight; + } + } + } + widths.push(width); + heights.push(height); + widestLabelSize = Math.max(width, widestLabelSize); + highestLabelSize = Math.max(height, highestLabelSize); + } + garbageCollect(caches, length); + const widest = widths.indexOf(widestLabelSize); + const highest = heights.indexOf(highestLabelSize); + const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0}); + return { + first: valueAt(0), + last: valueAt(length - 1), + widest: valueAt(widest), + highest: valueAt(highest), + widths, + heights, + }; + } + getLabelForValue(value) { + return value; + } + getPixelForValue(value, index) { + return NaN; + } + getValueForPixel(pixel) {} + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getPixelForDecimal(decimal) { + if (this._reversePixels) { + decimal = 1 - decimal; + } + const pixel = this._startPixel + decimal * this._length; + return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel); + } + getDecimalForPixel(pixel) { + const decimal = (pixel - this._startPixel) / this._length; + return this._reversePixels ? 1 - decimal : decimal; + } + getBasePixel() { + return this.getPixelForValue(this.getBaseValue()); + } + getBaseValue() { + const {min, max} = this; + return min < 0 && max < 0 ? max : + min > 0 && max > 0 ? min : + 0; + } + getContext(index) { + const ticks = this.ticks || []; + if (index >= 0 && index < ticks.length) { + const tick = ticks[index]; + return tick.$context || + (tick.$context = createTickContext(this.getContext(), index, tick)); + } + return this.$context || + (this.$context = createScaleContext(this.chart.getContext(), this)); + } + _tickSize() { + const optionTicks = this.options.ticks; + const rot = toRadians(this.labelRotation); + const cos = Math.abs(Math.cos(rot)); + const sin = Math.abs(Math.sin(rot)); + const labelSizes = this._getLabelSizes(); + const padding = optionTicks.autoSkipPadding || 0; + const w = labelSizes ? labelSizes.widest.width + padding : 0; + const h = labelSizes ? labelSizes.highest.height + padding : 0; + return this.isHorizontal() + ? h * cos > w * sin ? w / cos : h / sin + : h * sin < w * cos ? h / cos : w / sin; + } + _isVisible() { + const display = this.options.display; + if (display !== 'auto') { + return !!display; + } + return this.getMatchingVisibleMetas().length > 0; + } + _computeGridLineItems(chartArea) { + const axis = this.axis; + const chart = this.chart; + const options = this.options; + const {grid, position} = options; + const offset = grid.offset; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const ticksLength = ticks.length + (offset ? 1 : 0); + const tl = getTickMarkLength(grid); + const items = []; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0; + const axisHalfWidth = axisWidth / 2; + const alignBorderValue = function(pixel) { + return _alignPixel(chart, pixel, axisWidth); + }; + let borderValue, i, lineValue, alignedLineValue; + let tx1, ty1, tx2, ty2, x1, y1, x2, y2; + if (position === 'top') { + borderValue = alignBorderValue(this.bottom); + ty1 = this.bottom - tl; + ty2 = borderValue - axisHalfWidth; + y1 = alignBorderValue(chartArea.top) + axisHalfWidth; + y2 = chartArea.bottom; + } else if (position === 'bottom') { + borderValue = alignBorderValue(this.top); + y1 = chartArea.top; + y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth; + ty1 = borderValue + axisHalfWidth; + ty2 = this.top + tl; + } else if (position === 'left') { + borderValue = alignBorderValue(this.right); + tx1 = this.right - tl; + tx2 = borderValue - axisHalfWidth; + x1 = alignBorderValue(chartArea.left) + axisHalfWidth; + x2 = chartArea.right; + } else if (position === 'right') { + borderValue = alignBorderValue(this.left); + x1 = chartArea.left; + x2 = alignBorderValue(chartArea.right) - axisHalfWidth; + tx1 = borderValue + axisHalfWidth; + tx2 = this.left + tl; + } else if (axis === 'x') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + y1 = chartArea.top; + y2 = chartArea.bottom; + ty1 = borderValue + axisHalfWidth; + ty2 = ty1 + tl; + } else if (axis === 'y') { + if (position === 'center') { + borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); + } + tx1 = borderValue - axisHalfWidth; + tx2 = tx1 - tl; + x1 = chartArea.left; + x2 = chartArea.right; + } + const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); + const step = Math.max(1, Math.ceil(ticksLength / limit)); + for (i = 0; i < ticksLength; i += step) { + const optsAtIndex = grid.setContext(this.getContext(i)); + const lineWidth = optsAtIndex.lineWidth; + const lineColor = optsAtIndex.color; + const borderDash = optsAtIndex.borderDash || []; + const borderDashOffset = optsAtIndex.borderDashOffset; + const tickWidth = optsAtIndex.tickWidth; + const tickColor = optsAtIndex.tickColor; + const tickBorderDash = optsAtIndex.tickBorderDash || []; + const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset; + lineValue = getPixelForGridLine(this, i, offset); + if (lineValue === undefined) { + continue; + } + alignedLineValue = _alignPixel(chart, lineValue, lineWidth); + if (isHorizontal) { + tx1 = tx2 = x1 = x2 = alignedLineValue; + } else { + ty1 = ty2 = y1 = y2 = alignedLineValue; + } + items.push({ + tx1, + ty1, + tx2, + ty2, + x1, + y1, + x2, + y2, + width: lineWidth, + color: lineColor, + borderDash, + borderDashOffset, + tickWidth, + tickColor, + tickBorderDash, + tickBorderDashOffset, + }); + } + this._ticksLength = ticksLength; + this._borderValue = borderValue; + return items; + } + _computeLabelItems(chartArea) { + const axis = this.axis; + const options = this.options; + const {position, ticks: optionTicks} = options; + const isHorizontal = this.isHorizontal(); + const ticks = this.ticks; + const {align, crossAlign, padding, mirror} = optionTicks; + const tl = getTickMarkLength(options.grid); + const tickAndPadding = tl + padding; + const hTickAndPadding = mirror ? -padding : tickAndPadding; + const rotation = -toRadians(this.labelRotation); + const items = []; + let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; + let textBaseline = 'middle'; + if (position === 'top') { + y = this.bottom - hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'bottom') { + y = this.top + hTickAndPadding; + textAlign = this._getXAxisLabelAlignment(); + } else if (position === 'left') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (position === 'right') { + const ret = this._getYAxisLabelAlignment(tl); + textAlign = ret.textAlign; + x = ret.x; + } else if (axis === 'x') { + if (position === 'center') { + y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding; + } + textAlign = this._getXAxisLabelAlignment(); + } else if (axis === 'y') { + if (position === 'center') { + x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding; + } else if (isObject(position)) { + const positionAxisID = Object.keys(position)[0]; + const value = position[positionAxisID]; + x = this.chart.scales[positionAxisID].getPixelForValue(value); + } + textAlign = this._getYAxisLabelAlignment(tl).textAlign; + } + if (axis === 'y') { + if (align === 'start') { + textBaseline = 'top'; + } else if (align === 'end') { + textBaseline = 'bottom'; + } + } + const labelSizes = this._getLabelSizes(); + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + label = tick.label; + const optsAtIndex = optionTicks.setContext(this.getContext(i)); + pixel = this.getPixelForTick(i) + optionTicks.labelOffset; + font = this._resolveTickFontOptions(i); + lineHeight = font.lineHeight; + lineCount = isArray(label) ? label.length : 1; + const halfCount = lineCount / 2; + const color = optsAtIndex.color; + const strokeColor = optsAtIndex.textStrokeColor; + const strokeWidth = optsAtIndex.textStrokeWidth; + let tickTextAlign = textAlign; + if (isHorizontal) { + x = pixel; + if (textAlign === 'inner') { + if (i === ilen - 1) { + tickTextAlign = !this.options.reverse ? 'right' : 'left'; + } else if (i === 0) { + tickTextAlign = !this.options.reverse ? 'left' : 'right'; + } else { + tickTextAlign = 'center'; + } + } + if (position === 'top') { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = -lineCount * lineHeight + lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight; + } else { + textOffset = -labelSizes.highest.height + lineHeight / 2; + } + } else { + if (crossAlign === 'near' || rotation !== 0) { + textOffset = lineHeight / 2; + } else if (crossAlign === 'center') { + textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight; + } else { + textOffset = labelSizes.highest.height - lineCount * lineHeight; + } + } + if (mirror) { + textOffset *= -1; + } + } else { + y = pixel; + textOffset = (1 - lineCount) * lineHeight / 2; + } + let backdrop; + if (optsAtIndex.showLabelBackdrop) { + const labelPadding = toPadding(optsAtIndex.backdropPadding); + const height = labelSizes.heights[i]; + const width = labelSizes.widths[i]; + let top = y + textOffset - labelPadding.top; + let left = x - labelPadding.left; + switch (textBaseline) { + case 'middle': + top -= height / 2; + break; + case 'bottom': + top -= height; + break; + } + switch (textAlign) { + case 'center': + left -= width / 2; + break; + case 'right': + left -= width; + break; + } + backdrop = { + left, + top, + width: width + labelPadding.width, + height: height + labelPadding.height, + color: optsAtIndex.backdropColor, + }; + } + items.push({ + rotation, + label, + font, + color, + strokeColor, + strokeWidth, + textOffset, + textAlign: tickTextAlign, + textBaseline, + translation: [x, y], + backdrop, + }); + } + return items; + } + _getXAxisLabelAlignment() { + const {position, ticks} = this.options; + const rotation = -toRadians(this.labelRotation); + if (rotation) { + return position === 'top' ? 'left' : 'right'; + } + let align = 'center'; + if (ticks.align === 'start') { + align = 'left'; + } else if (ticks.align === 'end') { + align = 'right'; + } else if (ticks.align === 'inner') { + align = 'inner'; + } + return align; + } + _getYAxisLabelAlignment(tl) { + const {position, ticks: {crossAlign, mirror, padding}} = this.options; + const labelSizes = this._getLabelSizes(); + const tickAndPadding = tl + padding; + const widest = labelSizes.widest.width; + let textAlign; + let x; + if (position === 'left') { + if (mirror) { + x = this.right + padding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += (widest / 2); + } else { + textAlign = 'right'; + x += widest; + } + } else { + x = this.right - tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x = this.left; + } + } + } else if (position === 'right') { + if (mirror) { + x = this.left + padding; + if (crossAlign === 'near') { + textAlign = 'right'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x -= (widest / 2); + } else { + textAlign = 'left'; + x -= widest; + } + } else { + x = this.left + tickAndPadding; + if (crossAlign === 'near') { + textAlign = 'left'; + } else if (crossAlign === 'center') { + textAlign = 'center'; + x += widest / 2; + } else { + textAlign = 'right'; + x = this.right; + } + } + } else { + textAlign = 'right'; + } + return {textAlign, x}; + } + _computeLabelArea() { + if (this.options.ticks.mirror) { + return; + } + const chart = this.chart; + const position = this.options.position; + if (position === 'left' || position === 'right') { + return {top: 0, left: this.left, bottom: chart.height, right: this.right}; + } if (position === 'top' || position === 'bottom') { + return {top: this.top, left: 0, bottom: this.bottom, right: chart.width}; + } + } + drawBackground() { + const {ctx, options: {backgroundColor}, left, top, width, height} = this; + if (backgroundColor) { + ctx.save(); + ctx.fillStyle = backgroundColor; + ctx.fillRect(left, top, width, height); + ctx.restore(); + } + } + getLineWidthForValue(value) { + const grid = this.options.grid; + if (!this._isVisible() || !grid.display) { + return 0; + } + const ticks = this.ticks; + const index = ticks.findIndex(t => t.value === value); + if (index >= 0) { + const opts = grid.setContext(this.getContext(index)); + return opts.lineWidth; + } + return 0; + } + drawGrid(chartArea) { + const grid = this.options.grid; + const ctx = this.ctx; + const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea)); + let i, ilen; + const drawLine = (p1, p2, style) => { + if (!style.width || !style.color) { + return; + } + ctx.save(); + ctx.lineWidth = style.width; + ctx.strokeStyle = style.color; + ctx.setLineDash(style.borderDash || []); + ctx.lineDashOffset = style.borderDashOffset; + ctx.beginPath(); + ctx.moveTo(p1.x, p1.y); + ctx.lineTo(p2.x, p2.y); + ctx.stroke(); + ctx.restore(); + }; + if (grid.display) { + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + if (grid.drawOnChartArea) { + drawLine( + {x: item.x1, y: item.y1}, + {x: item.x2, y: item.y2}, + item + ); + } + if (grid.drawTicks) { + drawLine( + {x: item.tx1, y: item.ty1}, + {x: item.tx2, y: item.ty2}, + { + color: item.tickColor, + width: item.tickWidth, + borderDash: item.tickBorderDash, + borderDashOffset: item.tickBorderDashOffset + } + ); + } + } + } + } + drawBorder() { + const {chart, ctx, options: {grid}} = this; + const borderOpts = grid.setContext(this.getContext()); + const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0; + if (!axisWidth) { + return; + } + const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth; + const borderValue = this._borderValue; + let x1, x2, y1, y2; + if (this.isHorizontal()) { + x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2; + x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2; + y1 = y2 = borderValue; + } else { + y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2; + y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2; + x1 = x2 = borderValue; + } + ctx.save(); + ctx.lineWidth = borderOpts.borderWidth; + ctx.strokeStyle = borderOpts.borderColor; + ctx.beginPath(); + ctx.moveTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.stroke(); + ctx.restore(); + } + drawLabels(chartArea) { + const optionTicks = this.options.ticks; + if (!optionTicks.display) { + return; + } + const ctx = this.ctx; + const area = this._computeLabelArea(); + if (area) { + clipArea(ctx, area); + } + const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea)); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + const item = items[i]; + const tickFont = item.font; + const label = item.label; + if (item.backdrop) { + ctx.fillStyle = item.backdrop.color; + ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height); + } + let y = item.textOffset; + renderText(ctx, label, 0, y, tickFont, item); + } + if (area) { + unclipArea(ctx); + } + } + drawTitle() { + const {ctx, options: {position, title, reverse}} = this; + if (!title.display) { + return; + } + const font = toFont(title.font); + const padding = toPadding(title.padding); + const align = title.align; + let offset = font.lineHeight / 2; + if (position === 'bottom' || position === 'center' || isObject(position)) { + offset += padding.bottom; + if (isArray(title.text)) { + offset += font.lineHeight * (title.text.length - 1); + } + } else { + offset += padding.top; + } + const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align); + renderText(ctx, title.text, 0, 0, font, { + color: title.color, + maxWidth, + rotation, + textAlign: titleAlign(align, position, reverse), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } + draw(chartArea) { + if (!this._isVisible()) { + return; + } + this.drawBackground(); + this.drawGrid(chartArea); + this.drawBorder(); + this.drawTitle(); + this.drawLabels(chartArea); + } + _layers() { + const opts = this.options; + const tz = opts.ticks && opts.ticks.z || 0; + const gz = valueOrDefault(opts.grid && opts.grid.z, -1); + if (!this._isVisible() || this.draw !== Scale.prototype.draw) { + return [{ + z: tz, + draw: (chartArea) => { + this.draw(chartArea); + } + }]; + } + return [{ + z: gz, + draw: (chartArea) => { + this.drawBackground(); + this.drawGrid(chartArea); + this.drawTitle(); + } + }, { + z: gz + 1, + draw: () => { + this.drawBorder(); + } + }, { + z: tz, + draw: (chartArea) => { + this.drawLabels(chartArea); + } + }]; + } + getMatchingVisibleMetas(type) { + const metas = this.chart.getSortedVisibleDatasetMetas(); + const axisID = this.axis + 'AxisID'; + const result = []; + let i, ilen; + for (i = 0, ilen = metas.length; i < ilen; ++i) { + const meta = metas[i]; + if (meta[axisID] === this.id && (!type || meta.type === type)) { + result.push(meta); + } + } + return result; + } + _resolveTickFontOptions(index) { + const opts = this.options.ticks.setContext(this.getContext(index)); + return toFont(opts.font); + } + _maxDigits() { + const fontSize = this._resolveTickFontOptions(0).lineHeight; + return (this.isHorizontal() ? this.width : this.height) / fontSize; + } +} + +class TypedRegistry { + constructor(type, scope, override) { + this.type = type; + this.scope = scope; + this.override = override; + this.items = Object.create(null); + } + isForType(type) { + return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); + } + register(item) { + const proto = Object.getPrototypeOf(item); + let parentScope; + if (isIChartComponent(proto)) { + parentScope = this.register(proto); + } + const items = this.items; + const id = item.id; + const scope = this.scope + '.' + id; + if (!id) { + throw new Error('class does not have id: ' + item); + } + if (id in items) { + return scope; + } + items[id] = item; + registerDefaults(item, scope, parentScope); + if (this.override) { + defaults.override(item.id, item.overrides); + } + return scope; + } + get(id) { + return this.items[id]; + } + unregister(item) { + const items = this.items; + const id = item.id; + const scope = this.scope; + if (id in items) { + delete items[id]; + } + if (scope && id in defaults[scope]) { + delete defaults[scope][id]; + if (this.override) { + delete overrides[id]; + } + } + } +} +function registerDefaults(item, scope, parentScope) { + const itemDefaults = merge(Object.create(null), [ + parentScope ? defaults.get(parentScope) : {}, + defaults.get(scope), + item.defaults + ]); + defaults.set(scope, itemDefaults); + if (item.defaultRoutes) { + routeDefaults(scope, item.defaultRoutes); + } + if (item.descriptors) { + defaults.describe(scope, item.descriptors); + } +} +function routeDefaults(scope, routes) { + Object.keys(routes).forEach(property => { + const propertyParts = property.split('.'); + const sourceName = propertyParts.pop(); + const sourceScope = [scope].concat(propertyParts).join('.'); + const parts = routes[property].split('.'); + const targetName = parts.pop(); + const targetScope = parts.join('.'); + defaults.route(sourceScope, sourceName, targetScope, targetName); + }); +} +function isIChartComponent(proto) { + return 'id' in proto && 'defaults' in proto; +} + +class Registry { + constructor() { + this.controllers = new TypedRegistry(DatasetController, 'datasets', true); + this.elements = new TypedRegistry(Element, 'elements'); + this.plugins = new TypedRegistry(Object, 'plugins'); + this.scales = new TypedRegistry(Scale, 'scales'); + this._typedRegistries = [this.controllers, this.scales, this.elements]; + } + add(...args) { + this._each('register', args); + } + remove(...args) { + this._each('unregister', args); + } + addControllers(...args) { + this._each('register', args, this.controllers); + } + addElements(...args) { + this._each('register', args, this.elements); + } + addPlugins(...args) { + this._each('register', args, this.plugins); + } + addScales(...args) { + this._each('register', args, this.scales); + } + getController(id) { + return this._get(id, this.controllers, 'controller'); + } + getElement(id) { + return this._get(id, this.elements, 'element'); + } + getPlugin(id) { + return this._get(id, this.plugins, 'plugin'); + } + getScale(id) { + return this._get(id, this.scales, 'scale'); + } + removeControllers(...args) { + this._each('unregister', args, this.controllers); + } + removeElements(...args) { + this._each('unregister', args, this.elements); + } + removePlugins(...args) { + this._each('unregister', args, this.plugins); + } + removeScales(...args) { + this._each('unregister', args, this.scales); + } + _each(method, args, typedRegistry) { + [...args].forEach(arg => { + const reg = typedRegistry || this._getRegistryForType(arg); + if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) { + this._exec(method, reg, arg); + } else { + each(arg, item => { + const itemReg = typedRegistry || this._getRegistryForType(item); + this._exec(method, itemReg, item); + }); + } + }); + } + _exec(method, registry, component) { + const camelMethod = _capitalize(method); + callback(component['before' + camelMethod], [], component); + registry[method](component); + callback(component['after' + camelMethod], [], component); + } + _getRegistryForType(type) { + for (let i = 0; i < this._typedRegistries.length; i++) { + const reg = this._typedRegistries[i]; + if (reg.isForType(type)) { + return reg; + } + } + return this.plugins; + } + _get(id, typedRegistry, type) { + const item = typedRegistry.get(id); + if (item === undefined) { + throw new Error('"' + id + '" is not a registered ' + type + '.'); + } + return item; + } +} +var registry = new Registry(); + +class ScatterController extends DatasetController { + update(mode) { + const meta = this._cachedMeta; + const {data: points = []} = meta; + const animationsDisabled = this.chart._animationsDisabled; + let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); + this._drawStart = start; + this._drawCount = count; + if (_scaleRangesChanged(meta)) { + start = 0; + count = points.length; + } + if (this.options.showLine) { + const {dataset: line, _dataset} = meta; + line._chart = this.chart; + line._datasetIndex = this.index; + line._decimated = !!_dataset._decimated; + line.points = points; + const options = this.resolveDatasetElementOptions(mode); + options.segment = this.options.segment; + this.updateElement(line, undefined, { + animated: !animationsDisabled, + options + }, mode); + } + this.updateElements(points, start, count, mode); + } + addElements() { + const {showLine} = this.options; + if (!this.datasetElementType && showLine) { + this.datasetElementType = registry.getElement('line'); + } + super.addElements(); + } + updateElements(points, start, count, mode) { + const reset = mode === 'reset'; + const {iScale, vScale, _stacked, _dataset} = this._cachedMeta; + const firstOpts = this.resolveDataElementOptions(start, mode); + const sharedOptions = this.getSharedOptions(firstOpts); + const includeOptions = this.includeOptions(mode, sharedOptions); + const iAxis = iScale.axis; + const vAxis = vScale.axis; + const {spanGaps, segment} = this.options; + const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; + const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; + let prevParsed = start > 0 && this.getParsed(start - 1); + for (let i = start; i < start + count; ++i) { + const point = points[i]; + const parsed = this.getParsed(i); + const properties = directUpdate ? point : {}; + const nullData = isNullOrUndef(parsed[vAxis]); + const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); + const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); + properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; + properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength; + if (segment) { + properties.parsed = parsed; + properties.raw = _dataset.data[i]; + } + if (includeOptions) { + properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); + } + if (!directUpdate) { + this.updateElement(point, i, properties, mode); + } + prevParsed = parsed; + } + this.updateSharedOptions(sharedOptions, mode, firstOpts); + } + getMaxOverflow() { + const meta = this._cachedMeta; + const data = meta.data || []; + if (!this.options.showLine) { + let max = 0; + for (let i = data.length - 1; i >= 0; --i) { + max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); + } + return max > 0 && max; + } + const dataset = meta.dataset; + const border = dataset.options && dataset.options.borderWidth || 0; + if (!data.length) { + return border; + } + const firstPoint = data[0].size(this.resolveDataElementOptions(0)); + const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); + return Math.max(border, firstPoint, lastPoint) / 2; + } +} +ScatterController.id = 'scatter'; +ScatterController.defaults = { + datasetElementType: false, + dataElementType: 'point', + showLine: false, + fill: false +}; +ScatterController.overrides = { + interaction: { + mode: 'point' + }, + plugins: { + tooltip: { + callbacks: { + title() { + return ''; + }, + label(item) { + return '(' + item.label + ', ' + item.formattedValue + ')'; + } + } + } + }, + scales: { + x: { + type: 'linear' + }, + y: { + type: 'linear' + } + } +}; + +var controllers = /*#__PURE__*/Object.freeze({ +__proto__: null, +BarController: BarController, +BubbleController: BubbleController, +DoughnutController: DoughnutController, +LineController: LineController, +PolarAreaController: PolarAreaController, +PieController: PieController, +RadarController: RadarController, +ScatterController: ScatterController +}); + +function abstract() { + throw new Error('This method is not implemented: Check that a complete date adapter is provided.'); +} +class DateAdapter { + constructor(options) { + this.options = options || {}; + } + init(chartOptions) {} + formats() { + return abstract(); + } + parse(value, format) { + return abstract(); + } + format(timestamp, format) { + return abstract(); + } + add(timestamp, amount, unit) { + return abstract(); + } + diff(a, b, unit) { + return abstract(); + } + startOf(timestamp, unit, weekday) { + return abstract(); + } + endOf(timestamp, unit) { + return abstract(); + } +} +DateAdapter.override = function(members) { + Object.assign(DateAdapter.prototype, members); +}; +var adapters = { + _date: DateAdapter +}; + +function binarySearch(metaset, axis, value, intersect) { + const {controller, data, _sorted} = metaset; + const iScale = controller._cachedMeta.iScale; + if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { + const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; + if (!intersect) { + return lookupMethod(data, axis, value); + } else if (controller._sharedOptions) { + const el = data[0]; + const range = typeof el.getRange === 'function' && el.getRange(axis); + if (range) { + const start = lookupMethod(data, axis, value - range); + const end = lookupMethod(data, axis, value + range); + return {lo: start.lo, hi: end.hi}; + } + } + } + return {lo: 0, hi: data.length - 1}; +} +function evaluateInteractionItems(chart, axis, position, handler, intersect) { + const metasets = chart.getSortedVisibleDatasetMetas(); + const value = position[axis]; + for (let i = 0, ilen = metasets.length; i < ilen; ++i) { + const {index, data} = metasets[i]; + const {lo, hi} = binarySearch(metasets[i], axis, value, intersect); + for (let j = lo; j <= hi; ++j) { + const element = data[j]; + if (!element.skip) { + handler(element, index, j); + } + } + } +} +function getDistanceMetricForAxis(axis) { + const useX = axis.indexOf('x') !== -1; + const useY = axis.indexOf('y') !== -1; + return function(pt1, pt2) { + const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; + const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; + return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); + }; +} +function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) { + const items = []; + if (!includeInvisible && !chart.isPointInArea(position)) { + return items; + } + const evaluationFunc = function(element, datasetIndex, index) { + if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) { + return; + } + if (element.inRange(position.x, position.y, useFinalPosition)) { + items.push({element, datasetIndex, index}); + } + }; + evaluateInteractionItems(chart, axis, position, evaluationFunc, true); + return items; +} +function getNearestRadialItems(chart, position, axis, useFinalPosition) { + let items = []; + function evaluationFunc(element, datasetIndex, index) { + const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition); + const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y}); + if (_angleBetween(angle, startAngle, endAngle)) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + let items = []; + const distanceMetric = getDistanceMetricForAxis(axis); + let minDistance = Number.POSITIVE_INFINITY; + function evaluationFunc(element, datasetIndex, index) { + const inRange = element.inRange(position.x, position.y, useFinalPosition); + if (intersect && !inRange) { + return; + } + const center = element.getCenterPoint(useFinalPosition); + const pointInArea = !!includeInvisible || chart.isPointInArea(center); + if (!pointInArea && !inRange) { + return; + } + const distance = distanceMetric(position, center); + if (distance < minDistance) { + items = [{element, datasetIndex, index}]; + minDistance = distance; + } else if (distance === minDistance) { + items.push({element, datasetIndex, index}); + } + } + evaluateInteractionItems(chart, axis, position, evaluationFunc); + return items; +} +function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { + if (!includeInvisible && !chart.isPointInArea(position)) { + return []; + } + return axis === 'r' && !intersect + ? getNearestRadialItems(chart, position, axis, useFinalPosition) + : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible); +} +function getAxisItems(chart, position, axis, intersect, useFinalPosition) { + const items = []; + const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange'; + let intersectsItem = false; + evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => { + if (element[rangeMethod](position[axis], useFinalPosition)) { + items.push({element, datasetIndex, index}); + intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); + } + }); + if (intersect && !intersectsItem) { + return []; + } + return items; +} +var Interaction = { + evaluateInteractionItems, + modes: { + index(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'x'; + const includeInvisible = options.includeInvisible || false; + const items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) + : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + const elements = []; + if (!items.length) { + return []; + } + chart.getSortedVisibleDatasetMetas().forEach((meta) => { + const index = items[0].index; + const element = meta.data[index]; + if (element && !element.skip) { + elements.push({element, datasetIndex: meta.index, index}); + } + }); + return elements; + }, + dataset(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + let items = options.intersect + ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : + getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); + if (items.length > 0) { + const datasetIndex = items[0].datasetIndex; + const data = chart.getDatasetMeta(datasetIndex).data; + items = []; + for (let i = 0; i < data.length; ++i) { + items.push({element: data[i], datasetIndex, index: i}); + } + } + return items; + }, + point(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible); + }, + nearest(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + const axis = options.axis || 'xy'; + const includeInvisible = options.includeInvisible || false; + return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible); + }, + x(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition); + }, + y(chart, e, options, useFinalPosition) { + const position = getRelativePosition(e, chart); + return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition); + } + } +}; + +const STATIC_POSITIONS = ['left', 'top', 'right', 'bottom']; +function filterByPosition(array, position) { + return array.filter(v => v.pos === position); +} +function filterDynamicPositionByAxis(array, axis) { + return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis); +} +function sortByWeight(array, reverse) { + return array.sort((a, b) => { + const v0 = reverse ? b : a; + const v1 = reverse ? a : b; + return v0.weight === v1.weight ? + v0.index - v1.index : + v0.weight - v1.weight; + }); +} +function wrapBoxes(boxes) { + const layoutBoxes = []; + let i, ilen, box, pos, stack, stackWeight; + for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) { + box = boxes[i]; + ({position: pos, options: {stack, stackWeight = 1}} = box); + layoutBoxes.push({ + index: i, + box, + pos, + horizontal: box.isHorizontal(), + weight: box.weight, + stack: stack && (pos + stack), + stackWeight + }); + } + return layoutBoxes; +} +function buildStacks(layouts) { + const stacks = {}; + for (const wrap of layouts) { + const {stack, pos, stackWeight} = wrap; + if (!stack || !STATIC_POSITIONS.includes(pos)) { + continue; + } + const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0}); + _stack.count++; + _stack.weight += stackWeight; + } + return stacks; +} +function setLayoutDims(layouts, params) { + const stacks = buildStacks(layouts); + const {vBoxMaxWidth, hBoxMaxHeight} = params; + let i, ilen, layout; + for (i = 0, ilen = layouts.length; i < ilen; ++i) { + layout = layouts[i]; + const {fullSize} = layout.box; + const stack = stacks[layout.stack]; + const factor = stack && layout.stackWeight / stack.weight; + if (layout.horizontal) { + layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth; + layout.height = hBoxMaxHeight; + } else { + layout.width = vBoxMaxWidth; + layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight; + } + } + return stacks; +} +function buildLayoutBoxes(boxes) { + const layoutBoxes = wrapBoxes(boxes); + const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true); + const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); + const right = sortByWeight(filterByPosition(layoutBoxes, 'right')); + const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); + const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); + const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x'); + const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y'); + return { + fullSize, + leftAndTop: left.concat(top), + rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal), + chartArea: filterByPosition(layoutBoxes, 'chartArea'), + vertical: left.concat(right).concat(centerVertical), + horizontal: top.concat(bottom).concat(centerHorizontal) + }; +} +function getCombinedMax(maxPadding, chartArea, a, b) { + return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); +} +function updateMaxPadding(maxPadding, boxPadding) { + 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); +} +function updateDims(chartArea, params, layout, stacks) { + const {pos, box} = layout; + const maxPadding = chartArea.maxPadding; + if (!isObject(pos)) { + if (layout.size) { + chartArea[pos] -= layout.size; + } + const stack = stacks[layout.stack] || {size: 0, count: 1}; + stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); + layout.size = stack.size / stack.count; + chartArea[pos] += layout.size; + } + if (box.getPadding) { + updateMaxPadding(maxPadding, box.getPadding()); + } + const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right')); + const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom')); + const widthChanged = newWidth !== chartArea.w; + const heightChanged = newHeight !== chartArea.h; + chartArea.w = newWidth; + chartArea.h = newHeight; + return layout.horizontal + ? {same: widthChanged, other: heightChanged} + : {same: heightChanged, other: widthChanged}; +} +function handleMaxPadding(chartArea) { + const maxPadding = chartArea.maxPadding; + function updatePos(pos) { + const 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) { + const maxPadding = chartArea.maxPadding; + function marginForPositions(positions) { + const margin = {left: 0, top: 0, right: 0, bottom: 0}; + positions.forEach((pos) => { + margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); + }); + return margin; + } + return horizontal + ? marginForPositions(['left', 'right']) + : marginForPositions(['top', 'bottom']); +} +function fitBoxes(boxes, chartArea, params, stacks) { + const refitBoxes = []; + let i, ilen, layout, box, refit, changed; + for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) { + layout = boxes[i]; + box = layout.box; + box.update( + layout.width || chartArea.w, + layout.height || chartArea.h, + getMargins(layout.horizontal, chartArea) + ); + const {same, other} = updateDims(chartArea, params, layout, stacks); + refit |= same && refitBoxes.length; + changed = changed || other; + if (!box.fullSize) { + refitBoxes.push(layout); + } + } + return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed; +} +function setBoxDims(box, left, top, width, height) { + box.top = top; + box.left = left; + box.right = left + width; + box.bottom = top + height; + box.width = width; + box.height = height; +} +function placeBoxes(boxes, chartArea, params, stacks) { + const userPadding = params.padding; + let {x, y} = chartArea; + for (const layout of boxes) { + const box = layout.box; + const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1}; + const weight = (layout.stackWeight / stack.weight) || 1; + if (layout.horizontal) { + const width = chartArea.w * weight; + const height = stack.size || box.height; + if (defined(stack.start)) { + y = stack.start; + } + if (box.fullSize) { + setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height); + } else { + setBoxDims(box, chartArea.left + stack.placed, y, width, height); + } + stack.start = y; + stack.placed += width; + y = box.bottom; + } else { + const height = chartArea.h * weight; + const width = stack.size || box.width; + if (defined(stack.start)) { + x = stack.start; + } + if (box.fullSize) { + setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); + } else { + setBoxDims(box, x, chartArea.top + stack.placed, width, height); + } + stack.start = x; + stack.placed += height; + x = box.right; + } + } + chartArea.x = x; + chartArea.y = y; +} +defaults.set('layout', { + autoPadding: true, + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } +}); +var layouts = { + addBox(chart, item) { + if (!chart.boxes) { + chart.boxes = []; + } + item.fullSize = item.fullSize || false; + item.position = item.position || 'top'; + item.weight = item.weight || 0; + item._layers = item._layers || function() { + return [{ + z: 0, + draw(chartArea) { + item.draw(chartArea); + } + }]; + }; + chart.boxes.push(item); + }, + removeBox(chart, layoutItem) { + const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; + if (index !== -1) { + chart.boxes.splice(index, 1); + } + }, + configure(chart, item, options) { + item.fullSize = options.fullSize; + item.position = options.position; + item.weight = options.weight; + }, + update(chart, width, height, minPadding) { + if (!chart) { + return; + } + const padding = toPadding(chart.options.layout.padding); + const availableWidth = Math.max(width - padding.width, 0); + const availableHeight = Math.max(height - padding.height, 0); + const boxes = buildLayoutBoxes(chart.boxes); + const verticalBoxes = boxes.vertical; + const horizontalBoxes = boxes.horizontal; + each(chart.boxes, box => { + if (typeof box.beforeLayout === 'function') { + box.beforeLayout(); + } + }); + const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) => + wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1; + const params = Object.freeze({ + outerWidth: width, + outerHeight: height, + padding, + availableWidth, + availableHeight, + vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, + hBoxMaxHeight: availableHeight / 2 + }); + const maxPadding = Object.assign({}, padding); + updateMaxPadding(maxPadding, toPadding(minPadding)); + const chartArea = Object.assign({ + maxPadding, + w: availableWidth, + h: availableHeight, + x: padding.left, + y: padding.top + }, padding); + const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); + fitBoxes(boxes.fullSize, chartArea, params, stacks); + fitBoxes(verticalBoxes, chartArea, params, stacks); + if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) { + fitBoxes(verticalBoxes, chartArea, params, stacks); + } + handleMaxPadding(chartArea); + placeBoxes(boxes.leftAndTop, chartArea, params, stacks); + chartArea.x += chartArea.w; + chartArea.y += chartArea.h; + placeBoxes(boxes.rightAndBottom, chartArea, params, stacks); + chart.chartArea = { + left: chartArea.left, + top: chartArea.top, + right: chartArea.left + chartArea.w, + bottom: chartArea.top + chartArea.h, + height: chartArea.h, + width: chartArea.w, + }; + each(boxes.chartArea, (layout) => { + const box = layout.box; + Object.assign(box, chart.chartArea); + box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0}); + }); + } +}; + +class BasePlatform { + acquireContext(canvas, aspectRatio) {} + releaseContext(context) { + return false; + } + addEventListener(chart, type, listener) {} + removeEventListener(chart, type, listener) {} + getDevicePixelRatio() { + return 1; + } + getMaximumSize(element, width, height, aspectRatio) { + width = Math.max(0, width || element.width); + height = height || element.height; + return { + width, + height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height) + }; + } + isAttached(canvas) { + return true; + } + updateConfig(config) { + } +} + +class BasicPlatform extends BasePlatform { + acquireContext(item) { + return item && item.getContext && item.getContext('2d') || null; + } + updateConfig(config) { + config.options.animation = false; + } +} + +const EXPANDO_KEY = '$chartjs'; +const EVENT_TYPES = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup', + pointerenter: 'mouseenter', + pointerdown: 'mousedown', + pointermove: 'mousemove', + pointerup: 'mouseup', + pointerleave: 'mouseout', + pointerout: 'mouseout' +}; +const isNullOrEmpty = value => value === null || value === ''; +function initCanvas(canvas, aspectRatio) { + const style = canvas.style; + const renderHeight = canvas.getAttribute('height'); + const renderWidth = canvas.getAttribute('width'); + canvas[EXPANDO_KEY] = { + initial: { + height: renderHeight, + width: renderWidth, + style: { + display: style.display, + height: style.height, + width: style.width + } + } + }; + style.display = style.display || 'block'; + style.boxSizing = style.boxSizing || 'border-box'; + if (isNullOrEmpty(renderWidth)) { + const displayWidth = readUsedSize(canvas, 'width'); + if (displayWidth !== undefined) { + canvas.width = displayWidth; + } + } + if (isNullOrEmpty(renderHeight)) { + if (canvas.style.height === '') { + canvas.height = canvas.width / (aspectRatio || 2); + } else { + const displayHeight = readUsedSize(canvas, 'height'); + if (displayHeight !== undefined) { + canvas.height = displayHeight; + } + } + } + return canvas; +} +const eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false; +function addListener(node, type, listener) { + node.addEventListener(type, listener, eventListenerOptions); +} +function removeListener(chart, type, listener) { + chart.canvas.removeEventListener(type, listener, eventListenerOptions); +} +function fromNativeEvent(event, chart) { + const type = EVENT_TYPES[event.type] || event.type; + const {x, y} = getRelativePosition(event, chart); + return { + type, + chart, + native: event, + x: x !== undefined ? x : null, + y: y !== undefined ? y : null, + }; +} +function nodeListContains(nodeList, canvas) { + for (const node of nodeList) { + if (node === canvas || node.contains(canvas)) { + return true; + } + } +} +function createAttachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.addedNodes, canvas); + trigger = trigger && !nodeListContains(entry.removedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +function createDetachObserver(chart, type, listener) { + const canvas = chart.canvas; + const observer = new MutationObserver(entries => { + let trigger = false; + for (const entry of entries) { + trigger = trigger || nodeListContains(entry.removedNodes, canvas); + trigger = trigger && !nodeListContains(entry.addedNodes, canvas); + } + if (trigger) { + listener(); + } + }); + observer.observe(document, {childList: true, subtree: true}); + return observer; +} +const drpListeningCharts = new Map(); +let oldDevicePixelRatio = 0; +function onWindowResize() { + const dpr = window.devicePixelRatio; + if (dpr === oldDevicePixelRatio) { + return; + } + oldDevicePixelRatio = dpr; + drpListeningCharts.forEach((resize, chart) => { + if (chart.currentDevicePixelRatio !== dpr) { + resize(); + } + }); +} +function listenDevicePixelRatioChanges(chart, resize) { + if (!drpListeningCharts.size) { + window.addEventListener('resize', onWindowResize); + } + drpListeningCharts.set(chart, resize); +} +function unlistenDevicePixelRatioChanges(chart) { + drpListeningCharts.delete(chart); + if (!drpListeningCharts.size) { + window.removeEventListener('resize', onWindowResize); + } +} +function createResizeObserver(chart, type, listener) { + const canvas = chart.canvas; + const container = canvas && _getParentNode(canvas); + if (!container) { + return; + } + const resize = throttled((width, height) => { + const w = container.clientWidth; + listener(width, height); + if (w < container.clientWidth) { + listener(); + } + }, window); + const observer = new ResizeObserver(entries => { + const entry = entries[0]; + const width = entry.contentRect.width; + const height = entry.contentRect.height; + if (width === 0 && height === 0) { + return; + } + resize(width, height); + }); + observer.observe(container); + listenDevicePixelRatioChanges(chart, resize); + return observer; +} +function releaseObserver(chart, type, observer) { + if (observer) { + observer.disconnect(); + } + if (type === 'resize') { + unlistenDevicePixelRatioChanges(chart); + } +} +function createProxyAndListen(chart, type, listener) { + const canvas = chart.canvas; + const proxy = throttled((event) => { + if (chart.ctx !== null) { + listener(fromNativeEvent(event, chart)); + } + }, chart, (args) => { + const event = args[0]; + return [event, event.offsetX, event.offsetY]; + }); + addListener(canvas, type, proxy); + return proxy; +} +class DomPlatform extends BasePlatform { + acquireContext(canvas, aspectRatio) { + const context = canvas && canvas.getContext && canvas.getContext('2d'); + if (context && context.canvas === canvas) { + initCanvas(canvas, aspectRatio); + return context; + } + return null; + } + releaseContext(context) { + const canvas = context.canvas; + if (!canvas[EXPANDO_KEY]) { + return false; + } + const initial = canvas[EXPANDO_KEY].initial; + ['height', 'width'].forEach((prop) => { + const value = initial[prop]; + if (isNullOrUndef(value)) { + canvas.removeAttribute(prop); + } else { + canvas.setAttribute(prop, value); + } + }); + const style = initial.style || {}; + Object.keys(style).forEach((key) => { + canvas.style[key] = style[key]; + }); + canvas.width = canvas.width; + delete canvas[EXPANDO_KEY]; + return true; + } + addEventListener(chart, type, listener) { + this.removeEventListener(chart, type); + const proxies = chart.$proxies || (chart.$proxies = {}); + const handlers = { + attach: createAttachObserver, + detach: createDetachObserver, + resize: createResizeObserver + }; + const handler = handlers[type] || createProxyAndListen; + proxies[type] = handler(chart, type, listener); + } + removeEventListener(chart, type) { + const proxies = chart.$proxies || (chart.$proxies = {}); + const proxy = proxies[type]; + if (!proxy) { + return; + } + const handlers = { + attach: releaseObserver, + detach: releaseObserver, + resize: releaseObserver + }; + const handler = handlers[type] || removeListener; + handler(chart, type, proxy); + proxies[type] = undefined; + } + getDevicePixelRatio() { + return window.devicePixelRatio; + } + getMaximumSize(canvas, width, height, aspectRatio) { + return getMaximumSize(canvas, width, height, aspectRatio); + } + isAttached(canvas) { + const container = _getParentNode(canvas); + return !!(container && container.isConnected); + } +} + +function _detectPlatform(canvas) { + if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) { + return BasicPlatform; + } + return DomPlatform; +} + +class PluginService { + constructor() { + this._init = []; + } + notify(chart, hook, args, filter) { + if (hook === 'beforeInit') { + this._init = this._createDescriptors(chart, true); + this._notify(this._init, chart, 'install'); + } + const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart); + const result = this._notify(descriptors, chart, hook, args); + if (hook === 'afterDestroy') { + this._notify(descriptors, chart, 'stop'); + this._notify(this._init, chart, 'uninstall'); + } + return result; + } + _notify(descriptors, chart, hook, args) { + args = args || {}; + for (const descriptor of descriptors) { + const plugin = descriptor.plugin; + const method = plugin[hook]; + const params = [chart, args, descriptor.options]; + if (callback(method, params, plugin) === false && args.cancelable) { + return false; + } + } + return true; + } + invalidate() { + if (!isNullOrUndef(this._cache)) { + this._oldCache = this._cache; + this._cache = undefined; + } + } + _descriptors(chart) { + if (this._cache) { + return this._cache; + } + const descriptors = this._cache = this._createDescriptors(chart); + this._notifyStateChanges(chart); + return descriptors; + } + _createDescriptors(chart, all) { + const config = chart && chart.config; + const options = valueOrDefault(config.options && config.options.plugins, {}); + const plugins = allPlugins(config); + return options === false && !all ? [] : createDescriptors(chart, plugins, options, all); + } + _notifyStateChanges(chart) { + const previousDescriptors = this._oldCache || []; + const descriptors = this._cache; + const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id)); + this._notify(diff(previousDescriptors, descriptors), chart, 'stop'); + this._notify(diff(descriptors, previousDescriptors), chart, 'start'); + } +} +function allPlugins(config) { + const localIds = {}; + const plugins = []; + const keys = Object.keys(registry.plugins.items); + for (let i = 0; i < keys.length; i++) { + plugins.push(registry.getPlugin(keys[i])); + } + const local = config.plugins || []; + for (let i = 0; i < local.length; i++) { + const plugin = local[i]; + if (plugins.indexOf(plugin) === -1) { + plugins.push(plugin); + localIds[plugin.id] = true; + } + } + return {plugins, localIds}; +} +function getOpts(options, all) { + if (!all && options === false) { + return null; + } + if (options === true) { + return {}; + } + return options; +} +function createDescriptors(chart, {plugins, localIds}, options, all) { + const result = []; + const context = chart.getContext(); + for (const plugin of plugins) { + const id = plugin.id; + const opts = getOpts(options[id], all); + if (opts === null) { + continue; + } + result.push({ + plugin, + options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context) + }); + } + return result; +} +function pluginOpts(config, {plugin, local}, opts, context) { + const keys = config.pluginScopeKeys(plugin); + const scopes = config.getOptionScopes(opts, keys); + if (local && plugin.defaults) { + scopes.push(plugin.defaults); + } + return config.createResolver(scopes, context, [''], { + scriptable: false, + indexable: false, + allKeys: true + }); +} + +function getIndexAxis(type, options) { + const datasetDefaults = defaults.datasets[type] || {}; + const datasetOptions = (options.datasets || {})[type] || {}; + return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x'; +} +function getAxisFromDefaultScaleID(id, indexAxis) { + let axis = id; + if (id === '_index_') { + axis = indexAxis; + } else if (id === '_value_') { + axis = indexAxis === 'x' ? 'y' : 'x'; + } + return axis; +} +function getDefaultScaleIDFromAxis(axis, indexAxis) { + return axis === indexAxis ? '_index_' : '_value_'; +} +function axisFromPosition(position) { + if (position === 'top' || position === 'bottom') { + return 'x'; + } + if (position === 'left' || position === 'right') { + return 'y'; + } +} +function determineAxis(id, scaleOptions) { + if (id === 'x' || id === 'y') { + return id; + } + return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase(); +} +function mergeScaleConfig(config, options) { + const chartDefaults = overrides[config.type] || {scales: {}}; + const configScales = options.scales || {}; + const chartIndexAxis = getIndexAxis(config.type, options); + const firstIDs = Object.create(null); + const scales = Object.create(null); + Object.keys(configScales).forEach(id => { + const scaleConf = configScales[id]; + if (!isObject(scaleConf)) { + return console.error(`Invalid scale configuration for scale: ${id}`); + } + if (scaleConf._proxy) { + return console.warn(`Ignoring resolver passed as options for scale: ${id}`); + } + const axis = determineAxis(id, scaleConf); + const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); + const defaultScaleOptions = chartDefaults.scales || {}; + firstIDs[axis] = firstIDs[axis] || id; + scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]); + }); + config.data.datasets.forEach(dataset => { + const type = dataset.type || config.type; + const indexAxis = dataset.indexAxis || getIndexAxis(type, options); + const datasetDefaults = overrides[type] || {}; + const defaultScaleOptions = datasetDefaults.scales || {}; + Object.keys(defaultScaleOptions).forEach(defaultID => { + const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); + const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis; + scales[id] = scales[id] || Object.create(null); + mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]); + }); + }); + Object.keys(scales).forEach(key => { + const scale = scales[key]; + mergeIf(scale, [defaults.scales[scale.type], defaults.scale]); + }); + return scales; +} +function initOptions(config) { + const options = config.options || (config.options = {}); + options.plugins = valueOrDefault(options.plugins, {}); + options.scales = mergeScaleConfig(config, options); +} +function initData(data) { + data = data || {}; + data.datasets = data.datasets || []; + data.labels = data.labels || []; + return data; +} +function initConfig(config) { + config = config || {}; + config.data = initData(config.data); + initOptions(config); + return config; +} +const keyCache = new Map(); +const keysCached = new Set(); +function cachedKeys(cacheKey, generate) { + let keys = keyCache.get(cacheKey); + if (!keys) { + keys = generate(); + keyCache.set(cacheKey, keys); + keysCached.add(keys); + } + return keys; +} +const addIfFound = (set, obj, key) => { + const opts = resolveObjectKey(obj, key); + if (opts !== undefined) { + set.add(opts); + } +}; +class Config { + constructor(config) { + this._config = initConfig(config); + this._scopeCache = new Map(); + this._resolverCache = new Map(); + } + get platform() { + return this._config.platform; + } + get type() { + return this._config.type; + } + set type(type) { + this._config.type = type; + } + get data() { + return this._config.data; + } + set data(data) { + this._config.data = initData(data); + } + get options() { + return this._config.options; + } + set options(options) { + this._config.options = options; + } + get plugins() { + return this._config.plugins; + } + update() { + const config = this._config; + this.clearCache(); + initOptions(config); + } + clearCache() { + this._scopeCache.clear(); + this._resolverCache.clear(); + } + datasetScopeKeys(datasetType) { + return cachedKeys(datasetType, + () => [[ + `datasets.${datasetType}`, + '' + ]]); + } + datasetAnimationScopeKeys(datasetType, transition) { + return cachedKeys(`${datasetType}.transition.${transition}`, + () => [ + [ + `datasets.${datasetType}.transitions.${transition}`, + `transitions.${transition}`, + ], + [ + `datasets.${datasetType}`, + '' + ] + ]); + } + datasetElementScopeKeys(datasetType, elementType) { + return cachedKeys(`${datasetType}-${elementType}`, + () => [[ + `datasets.${datasetType}.elements.${elementType}`, + `datasets.${datasetType}`, + `elements.${elementType}`, + '' + ]]); + } + pluginScopeKeys(plugin) { + const id = plugin.id; + const type = this.type; + return cachedKeys(`${type}-plugin-${id}`, + () => [[ + `plugins.${id}`, + ...plugin.additionalOptionScopes || [], + ]]); + } + _cachedScopes(mainScope, resetCache) { + const _scopeCache = this._scopeCache; + let cache = _scopeCache.get(mainScope); + if (!cache || resetCache) { + cache = new Map(); + _scopeCache.set(mainScope, cache); + } + return cache; + } + getOptionScopes(mainScope, keyLists, resetCache) { + const {options, type} = this; + const cache = this._cachedScopes(mainScope, resetCache); + const cached = cache.get(keyLists); + if (cached) { + return cached; + } + const scopes = new Set(); + keyLists.forEach(keys => { + if (mainScope) { + scopes.add(mainScope); + keys.forEach(key => addIfFound(scopes, mainScope, key)); + } + keys.forEach(key => addIfFound(scopes, options, key)); + keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key)); + keys.forEach(key => addIfFound(scopes, defaults, key)); + keys.forEach(key => addIfFound(scopes, descriptors, key)); + }); + const array = Array.from(scopes); + if (array.length === 0) { + array.push(Object.create(null)); + } + if (keysCached.has(keyLists)) { + cache.set(keyLists, array); + } + return array; + } + chartOptionScopes() { + const {options, type} = this; + return [ + options, + overrides[type] || {}, + defaults.datasets[type] || {}, + {type}, + defaults, + descriptors + ]; + } + resolveNamedOptions(scopes, names, context, prefixes = ['']) { + const result = {$shared: true}; + const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes); + let options = resolver; + if (needContext(resolver, names)) { + result.$shared = false; + context = isFunction(context) ? context() : context; + const subResolver = this.createResolver(scopes, context, subPrefixes); + options = _attachContext(resolver, context, subResolver); + } + for (const prop of names) { + result[prop] = options[prop]; + } + return result; + } + createResolver(scopes, context, prefixes = [''], descriptorDefaults) { + const {resolver} = getResolver(this._resolverCache, scopes, prefixes); + return isObject(context) + ? _attachContext(resolver, context, undefined, descriptorDefaults) + : resolver; + } +} +function getResolver(resolverCache, scopes, prefixes) { + let cache = resolverCache.get(scopes); + if (!cache) { + cache = new Map(); + resolverCache.set(scopes, cache); + } + const cacheKey = prefixes.join(); + let cached = cache.get(cacheKey); + if (!cached) { + const resolver = _createResolver(scopes, prefixes); + cached = { + resolver, + subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover')) + }; + cache.set(cacheKey, cached); + } + return cached; +} +const hasFunction = value => isObject(value) + && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false); +function needContext(proxy, names) { + const {isScriptable, isIndexable} = _descriptors(proxy); + for (const prop of names) { + const scriptable = isScriptable(prop); + const indexable = isIndexable(prop); + const value = (indexable || scriptable) && proxy[prop]; + if ((scriptable && (isFunction(value) || hasFunction(value))) + || (indexable && isArray(value))) { + return true; + } + } + return false; +} + +var version = "3.9.1"; + +const KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea']; +function positionIsHorizontal(position, axis) { + return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x'); +} +function compare2Level(l1, l2) { + return function(a, b) { + return a[l1] === b[l1] + ? a[l2] - b[l2] + : a[l1] - b[l1]; + }; +} +function onAnimationsComplete(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + chart.notifyPlugins('afterRender'); + callback(animationOptions && animationOptions.onComplete, [context], chart); +} +function onAnimationProgress(context) { + const chart = context.chart; + const animationOptions = chart.options.animation; + callback(animationOptions && animationOptions.onProgress, [context], chart); +} +function getCanvas(item) { + if (_isDomSupported() && typeof item === 'string') { + item = document.getElementById(item); + } else if (item && item.length) { + item = item[0]; + } + if (item && item.canvas) { + item = item.canvas; + } + return item; +} +const instances = {}; +const getChart = (key) => { + const canvas = getCanvas(key); + return Object.values(instances).filter((c) => c.canvas === canvas).pop(); +}; +function moveNumericKeys(obj, start, move) { + const keys = Object.keys(obj); + for (const key of keys) { + const intKey = +key; + if (intKey >= start) { + const value = obj[key]; + delete obj[key]; + if (move > 0 || intKey > start) { + obj[intKey + move] = value; + } + } + } +} +function determineLastEvent(e, lastEvent, inChartArea, isClick) { + if (!inChartArea || e.type === 'mouseout') { + return null; + } + if (isClick) { + return lastEvent; + } + return e; +} +class Chart { + constructor(item, userConfig) { + const config = this.config = new Config(userConfig); + const initialCanvas = getCanvas(item); + const existingChart = getChart(initialCanvas); + if (existingChart) { + throw new Error( + 'Canvas is already in use. Chart with ID \'' + existingChart.id + '\'' + + ' must be destroyed before the canvas with ID \'' + existingChart.canvas.id + '\' can be reused.' + ); + } + const options = config.createResolver(config.chartOptionScopes(), this.getContext()); + this.platform = new (config.platform || _detectPlatform(initialCanvas))(); + this.platform.updateConfig(config); + const context = this.platform.acquireContext(initialCanvas, options.aspectRatio); + const canvas = context && context.canvas; + const height = canvas && canvas.height; + const width = canvas && canvas.width; + this.id = uid(); + this.ctx = context; + this.canvas = canvas; + this.width = width; + this.height = height; + this._options = options; + this._aspectRatio = this.aspectRatio; + this._layers = []; + this._metasets = []; + this._stacks = undefined; + this.boxes = []; + this.currentDevicePixelRatio = undefined; + this.chartArea = undefined; + this._active = []; + this._lastEvent = undefined; + this._listeners = {}; + this._responsiveListeners = undefined; + this._sortedMetasets = []; + this.scales = {}; + this._plugins = new PluginService(); + this.$proxies = {}; + this._hiddenIndices = {}; + this.attached = false; + this._animationsDisabled = undefined; + this.$context = undefined; + this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0); + this._dataChanges = []; + instances[this.id] = this; + if (!context || !canvas) { + console.error("Failed to create chart: can't acquire context from the given item"); + return; + } + animator.listen(this, 'complete', onAnimationsComplete); + animator.listen(this, 'progress', onAnimationProgress); + this._initialize(); + if (this.attached) { + this.update(); + } + } + get aspectRatio() { + const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this; + if (!isNullOrUndef(aspectRatio)) { + return aspectRatio; + } + if (maintainAspectRatio && _aspectRatio) { + return _aspectRatio; + } + return height ? width / height : null; + } + get data() { + return this.config.data; + } + set data(data) { + this.config.data = data; + } + get options() { + return this._options; + } + set options(options) { + this.config.options = options; + } + _initialize() { + this.notifyPlugins('beforeInit'); + if (this.options.responsive) { + this.resize(); + } else { + retinaScale(this, this.options.devicePixelRatio); + } + this.bindEvents(); + this.notifyPlugins('afterInit'); + return this; + } + clear() { + clearCanvas(this.canvas, this.ctx); + return this; + } + stop() { + animator.stop(this); + return this; + } + resize(width, height) { + if (!animator.running(this)) { + this._resize(width, height); + } else { + this._resizeBeforeDraw = {width, height}; + } + } + _resize(width, height) { + const options = this.options; + const canvas = this.canvas; + const aspectRatio = options.maintainAspectRatio && this.aspectRatio; + const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio); + const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio(); + const mode = this.width ? 'resize' : 'attach'; + this.width = newSize.width; + this.height = newSize.height; + this._aspectRatio = this.aspectRatio; + if (!retinaScale(this, newRatio, true)) { + return; + } + this.notifyPlugins('resize', {size: newSize}); + callback(options.onResize, [this, newSize], this); + if (this.attached) { + if (this._doResize(mode)) { + this.render(); + } + } + } + ensureScalesHaveIDs() { + const options = this.options; + const scalesOptions = options.scales || {}; + each(scalesOptions, (axisOptions, axisID) => { + axisOptions.id = axisID; + }); + } + buildOrUpdateScales() { + const options = this.options; + const scaleOpts = options.scales; + const scales = this.scales; + const updated = Object.keys(scales).reduce((obj, id) => { + obj[id] = false; + return obj; + }, {}); + let items = []; + if (scaleOpts) { + items = items.concat( + Object.keys(scaleOpts).map((id) => { + const scaleOptions = scaleOpts[id]; + const axis = determineAxis(id, scaleOptions); + const isRadial = axis === 'r'; + const isHorizontal = axis === 'x'; + return { + options: scaleOptions, + dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left', + dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear' + }; + }) + ); + } + each(items, (item) => { + const scaleOptions = item.options; + const id = scaleOptions.id; + const axis = determineAxis(id, scaleOptions); + const scaleType = valueOrDefault(scaleOptions.type, item.dtype); + if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) { + scaleOptions.position = item.dposition; + } + updated[id] = true; + let scale = null; + if (id in scales && scales[id].type === scaleType) { + scale = scales[id]; + } else { + const scaleClass = registry.getScale(scaleType); + scale = new scaleClass({ + id, + type: scaleType, + ctx: this.ctx, + chart: this + }); + scales[scale.id] = scale; + } + scale.init(scaleOptions, options); + }); + each(updated, (hasUpdated, id) => { + if (!hasUpdated) { + delete scales[id]; + } + }); + each(scales, (scale) => { + layouts.configure(this, scale, scale.options); + layouts.addBox(this, scale); + }); + } + _updateMetasets() { + const metasets = this._metasets; + const numData = this.data.datasets.length; + const numMeta = metasets.length; + metasets.sort((a, b) => a.index - b.index); + if (numMeta > numData) { + for (let i = numData; i < numMeta; ++i) { + this._destroyDatasetMeta(i); + } + metasets.splice(numData, numMeta - numData); + } + this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index')); + } + _removeUnreferencedMetasets() { + const {_metasets: metasets, data: {datasets}} = this; + if (metasets.length > datasets.length) { + delete this._stacks; + } + metasets.forEach((meta, index) => { + if (datasets.filter(x => x === meta._dataset).length === 0) { + this._destroyDatasetMeta(index); + } + }); + } + buildOrUpdateControllers() { + const newControllers = []; + const datasets = this.data.datasets; + let i, ilen; + this._removeUnreferencedMetasets(); + for (i = 0, ilen = datasets.length; i < ilen; i++) { + const dataset = datasets[i]; + let meta = this.getDatasetMeta(i); + const type = dataset.type || this.config.type; + if (meta.type && meta.type !== type) { + this._destroyDatasetMeta(i); + meta = this.getDatasetMeta(i); + } + meta.type = type; + meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options); + meta.order = dataset.order || 0; + meta.index = i; + meta.label = '' + dataset.label; + meta.visible = this.isDatasetVisible(i); + if (meta.controller) { + meta.controller.updateIndex(i); + meta.controller.linkScales(); + } else { + const ControllerClass = registry.getController(type); + const {datasetElementType, dataElementType} = defaults.datasets[type]; + Object.assign(ControllerClass.prototype, { + dataElementType: registry.getElement(dataElementType), + datasetElementType: datasetElementType && registry.getElement(datasetElementType) + }); + meta.controller = new ControllerClass(this, i); + newControllers.push(meta.controller); + } + } + this._updateMetasets(); + return newControllers; + } + _resetElements() { + each(this.data.datasets, (dataset, datasetIndex) => { + this.getDatasetMeta(datasetIndex).controller.reset(); + }, this); + } + reset() { + this._resetElements(); + this.notifyPlugins('reset'); + } + update(mode) { + const config = this.config; + config.update(); + const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext()); + const animsDisabled = this._animationsDisabled = !options.animation; + this._updateScales(); + this._checkEventBindings(); + this._updateHiddenIndices(); + this._plugins.invalidate(); + if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) { + return; + } + const newControllers = this.buildOrUpdateControllers(); + this.notifyPlugins('beforeElementsUpdate'); + let minPadding = 0; + for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) { + const {controller} = this.getDatasetMeta(i); + const reset = !animsDisabled && newControllers.indexOf(controller) === -1; + controller.buildOrUpdateElements(reset); + minPadding = Math.max(+controller.getMaxOverflow(), minPadding); + } + minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0; + this._updateLayout(minPadding); + if (!animsDisabled) { + each(newControllers, (controller) => { + controller.reset(); + }); + } + this._updateDatasets(mode); + this.notifyPlugins('afterUpdate', {mode}); + this._layers.sort(compare2Level('z', '_idx')); + const {_active, _lastEvent} = this; + if (_lastEvent) { + this._eventHandler(_lastEvent, true); + } else if (_active.length) { + this._updateHoverStyles(_active, _active, true); + } + this.render(); + } + _updateScales() { + each(this.scales, (scale) => { + layouts.removeBox(this, scale); + }); + this.ensureScalesHaveIDs(); + this.buildOrUpdateScales(); + } + _checkEventBindings() { + const options = this.options; + const existingEvents = new Set(Object.keys(this._listeners)); + const newEvents = new Set(options.events); + if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) { + this.unbindEvents(); + this.bindEvents(); + } + } + _updateHiddenIndices() { + const {_hiddenIndices} = this; + const changes = this._getUniformDataChanges() || []; + for (const {method, start, count} of changes) { + const move = method === '_removeElements' ? -count : count; + moveNumericKeys(_hiddenIndices, start, move); + } + } + _getUniformDataChanges() { + const _dataChanges = this._dataChanges; + if (!_dataChanges || !_dataChanges.length) { + return; + } + this._dataChanges = []; + const datasetCount = this.data.datasets.length; + const makeSet = (idx) => new Set( + _dataChanges + .filter(c => c[0] === idx) + .map((c, i) => i + ',' + c.splice(1).join(',')) + ); + const changeSet = makeSet(0); + for (let i = 1; i < datasetCount; i++) { + if (!setsEqual(changeSet, makeSet(i))) { + return; + } + } + return Array.from(changeSet) + .map(c => c.split(',')) + .map(a => ({method: a[1], start: +a[2], count: +a[3]})); + } + _updateLayout(minPadding) { + if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) { + return; + } + layouts.update(this, this.width, this.height, minPadding); + const area = this.chartArea; + const noArea = area.width <= 0 || area.height <= 0; + this._layers = []; + each(this.boxes, (box) => { + if (noArea && box.position === 'chartArea') { + return; + } + if (box.configure) { + box.configure(); + } + this._layers.push(...box._layers()); + }, this); + this._layers.forEach((item, index) => { + item._idx = index; + }); + this.notifyPlugins('afterLayout'); + } + _updateDatasets(mode) { + if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) { + return; + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this.getDatasetMeta(i).controller.configure(); + } + for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode); + } + this.notifyPlugins('afterDatasetsUpdate', {mode}); + } + _updateDataset(index, mode) { + const meta = this.getDatasetMeta(index); + const args = {meta, index, mode, cancelable: true}; + if (this.notifyPlugins('beforeDatasetUpdate', args) === false) { + return; + } + meta.controller._update(mode); + args.cancelable = false; + this.notifyPlugins('afterDatasetUpdate', args); + } + render() { + if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) { + return; + } + if (animator.has(this)) { + if (this.attached && !animator.running(this)) { + animator.start(this); + } + } else { + this.draw(); + onAnimationsComplete({chart: this}); + } + } + draw() { + let i; + if (this._resizeBeforeDraw) { + const {width, height} = this._resizeBeforeDraw; + this._resize(width, height); + this._resizeBeforeDraw = null; + } + this.clear(); + if (this.width <= 0 || this.height <= 0) { + return; + } + if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) { + return; + } + const layers = this._layers; + for (i = 0; i < layers.length && layers[i].z <= 0; ++i) { + layers[i].draw(this.chartArea); + } + this._drawDatasets(); + for (; i < layers.length; ++i) { + layers[i].draw(this.chartArea); + } + this.notifyPlugins('afterDraw'); + } + _getSortedDatasetMetas(filterVisible) { + const metasets = this._sortedMetasets; + const result = []; + let i, ilen; + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + const meta = metasets[i]; + if (!filterVisible || meta.visible) { + result.push(meta); + } + } + return result; + } + getSortedVisibleDatasetMetas() { + return this._getSortedDatasetMetas(true); + } + _drawDatasets() { + if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) { + return; + } + const metasets = this.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + this._drawDataset(metasets[i]); + } + this.notifyPlugins('afterDatasetsDraw'); + } + _drawDataset(meta) { + const ctx = this.ctx; + const clip = meta._clip; + const useClip = !clip.disabled; + const area = this.chartArea; + const args = { + meta, + index: meta.index, + cancelable: true + }; + if (this.notifyPlugins('beforeDatasetDraw', args) === false) { + return; + } + if (useClip) { + clipArea(ctx, { + left: clip.left === false ? 0 : area.left - clip.left, + right: clip.right === false ? this.width : area.right + clip.right, + top: clip.top === false ? 0 : area.top - clip.top, + bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom + }); + } + meta.controller.draw(); + if (useClip) { + unclipArea(ctx); + } + args.cancelable = false; + this.notifyPlugins('afterDatasetDraw', args); + } + isPointInArea(point) { + return _isPointInArea(point, this.chartArea, this._minPadding); + } + getElementsAtEventForMode(e, mode, options, useFinalPosition) { + const method = Interaction.modes[mode]; + if (typeof method === 'function') { + return method(this, e, options, useFinalPosition); + } + return []; + } + getDatasetMeta(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + const metasets = this._metasets; + let meta = metasets.filter(x => x && x._dataset === dataset).pop(); + if (!meta) { + meta = { + type: null, + data: [], + dataset: null, + controller: null, + hidden: null, + xAxisID: null, + yAxisID: null, + order: dataset && dataset.order || 0, + index: datasetIndex, + _dataset: dataset, + _parsed: [], + _sorted: false + }; + metasets.push(meta); + } + return meta; + } + getContext() { + return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'})); + } + getVisibleDatasetCount() { + return this.getSortedVisibleDatasetMetas().length; + } + isDatasetVisible(datasetIndex) { + const dataset = this.data.datasets[datasetIndex]; + if (!dataset) { + return false; + } + const meta = this.getDatasetMeta(datasetIndex); + return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden; + } + setDatasetVisibility(datasetIndex, visible) { + const meta = this.getDatasetMeta(datasetIndex); + meta.hidden = !visible; + } + toggleDataVisibility(index) { + this._hiddenIndices[index] = !this._hiddenIndices[index]; + } + getDataVisibility(index) { + return !this._hiddenIndices[index]; + } + _updateVisibility(datasetIndex, dataIndex, visible) { + const mode = visible ? 'show' : 'hide'; + const meta = this.getDatasetMeta(datasetIndex); + const anims = meta.controller._resolveAnimations(undefined, mode); + if (defined(dataIndex)) { + meta.data[dataIndex].hidden = !visible; + this.update(); + } else { + this.setDatasetVisibility(datasetIndex, visible); + anims.update(meta, {visible}); + this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined); + } + } + hide(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, false); + } + show(datasetIndex, dataIndex) { + this._updateVisibility(datasetIndex, dataIndex, true); + } + _destroyDatasetMeta(datasetIndex) { + const meta = this._metasets[datasetIndex]; + if (meta && meta.controller) { + meta.controller._destroy(); + } + delete this._metasets[datasetIndex]; + } + _stop() { + let i, ilen; + this.stop(); + animator.remove(this); + for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) { + this._destroyDatasetMeta(i); + } + } + destroy() { + this.notifyPlugins('beforeDestroy'); + const {canvas, ctx} = this; + this._stop(); + this.config.clearCache(); + if (canvas) { + this.unbindEvents(); + clearCanvas(canvas, ctx); + this.platform.releaseContext(ctx); + this.canvas = null; + this.ctx = null; + } + this.notifyPlugins('destroy'); + delete instances[this.id]; + this.notifyPlugins('afterDestroy'); + } + toBase64Image(...args) { + return this.canvas.toDataURL(...args); + } + bindEvents() { + this.bindUserEvents(); + if (this.options.responsive) { + this.bindResponsiveEvents(); + } else { + this.attached = true; + } + } + bindUserEvents() { + const listeners = this._listeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const listener = (e, x, y) => { + e.offsetX = x; + e.offsetY = y; + this._eventHandler(e); + }; + each(this.options.events, (type) => _add(type, listener)); + } + bindResponsiveEvents() { + if (!this._responsiveListeners) { + this._responsiveListeners = {}; + } + const listeners = this._responsiveListeners; + const platform = this.platform; + const _add = (type, listener) => { + platform.addEventListener(this, type, listener); + listeners[type] = listener; + }; + const _remove = (type, listener) => { + if (listeners[type]) { + platform.removeEventListener(this, type, listener); + delete listeners[type]; + } + }; + const listener = (width, height) => { + if (this.canvas) { + this.resize(width, height); + } + }; + let detached; + const attached = () => { + _remove('attach', attached); + this.attached = true; + this.resize(); + _add('resize', listener); + _add('detach', detached); + }; + detached = () => { + this.attached = false; + _remove('resize', listener); + this._stop(); + this._resize(0, 0); + _add('attach', attached); + }; + if (platform.isAttached(this.canvas)) { + attached(); + } else { + detached(); + } + } + unbindEvents() { + each(this._listeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._listeners = {}; + each(this._responsiveListeners, (listener, type) => { + this.platform.removeEventListener(this, type, listener); + }); + this._responsiveListeners = undefined; + } + updateHoverStyle(items, mode, enabled) { + const prefix = enabled ? 'set' : 'remove'; + let meta, item, i, ilen; + if (mode === 'dataset') { + meta = this.getDatasetMeta(items[0].datasetIndex); + meta.controller['_' + prefix + 'DatasetHoverStyle'](); + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + item = items[i]; + const controller = item && this.getDatasetMeta(item.datasetIndex).controller; + if (controller) { + controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index); + } + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements) { + const lastActive = this._active || []; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('No dataset found at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(active, lastActive); + if (changed) { + this._active = active; + this._lastEvent = null; + this._updateHoverStyles(active, lastActive); + } + } + notifyPlugins(hook, args, filter) { + return this._plugins.notify(this, hook, args, filter); + } + _updateHoverStyles(active, lastActive, replay) { + const hoverOptions = this.options.hover; + const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index)); + const deactivated = diff(lastActive, active); + const activated = replay ? active : diff(active, lastActive); + if (deactivated.length) { + this.updateHoverStyle(deactivated, hoverOptions.mode, false); + } + if (activated.length && hoverOptions.mode) { + this.updateHoverStyle(activated, hoverOptions.mode, true); + } + } + _eventHandler(e, replay) { + const args = { + event: e, + replay, + cancelable: true, + inChartArea: this.isPointInArea(e) + }; + const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type); + if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) { + return; + } + const changed = this._handleEvent(e, replay, args.inChartArea); + args.cancelable = false; + this.notifyPlugins('afterEvent', args, eventFilter); + if (changed || args.changed) { + this.render(); + } + return this; + } + _handleEvent(e, replay, inChartArea) { + const {_active: lastActive = [], options} = this; + const useFinalPosition = replay; + const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition); + const isClick = _isClickEvent(e); + const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); + if (inChartArea) { + this._lastEvent = null; + callback(options.onHover, [e, active, this], this); + if (isClick) { + callback(options.onClick, [e, active, this], this); + } + } + const changed = !_elementsEqual(active, lastActive); + if (changed || replay) { + this._active = active; + this._updateHoverStyles(active, lastActive, replay); + } + this._lastEvent = lastEvent; + return changed; + } + _getActiveElements(e, lastActive, inChartArea, useFinalPosition) { + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const hoverOptions = this.options.hover; + return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); + } +} +const invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate()); +const enumerable = true; +Object.defineProperties(Chart, { + defaults: { + enumerable, + value: defaults + }, + instances: { + enumerable, + value: instances + }, + overrides: { + enumerable, + value: overrides + }, + registry: { + enumerable, + value: registry + }, + version: { + enumerable, + value: version + }, + getChart: { + enumerable, + value: getChart + }, + register: { + enumerable, + value: (...items) => { + registry.add(...items); + invalidatePlugins(); + } + }, + unregister: { + enumerable, + value: (...items) => { + registry.remove(...items); + invalidatePlugins(); + } + } +}); + +function clipArc(ctx, element, endAngle) { + const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element; + let angleMargin = pixelMargin / outerRadius; + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (innerRadius > pixelMargin) { + angleMargin = pixelMargin / innerRadius; + ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true); + } else { + ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI); + } + ctx.closePath(); + ctx.clip(); +} +function toRadiusCorners(value) { + return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']); +} +function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { + const o = toRadiusCorners(arc.options.borderRadius); + const halfThickness = (outerRadius - innerRadius) / 2; + const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2); + const computeOuterLimit = (val) => { + const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2; + return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit)); + }; + return { + outerStart: computeOuterLimit(o.outerStart), + outerEnd: computeOuterLimit(o.outerEnd), + innerStart: _limitValue(o.innerStart, 0, innerLimit), + innerEnd: _limitValue(o.innerEnd, 0, innerLimit), + }; +} +function rThetaToXY(r, theta, x, y) { + return { + x: x + r * Math.cos(theta), + y: y + r * Math.sin(theta), + }; +} +function pathArc(ctx, element, offset, spacing, end, circular) { + const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element; + const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); + const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; + let spacingOffset = 0; + const alpha = end - start; + if (spacing) { + const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0; + const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0; + const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2; + const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha; + spacingOffset = (alpha - adjustedAngle) / 2; + } + const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius; + const angleOffset = (alpha - beta) / 2; + const startAngle = start + angleOffset + spacingOffset; + const endAngle = end - angleOffset - spacingOffset; + const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle); + const outerStartAdjustedRadius = outerRadius - outerStart; + const outerEndAdjustedRadius = outerRadius - outerEnd; + const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius; + const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius; + const innerStartAdjustedRadius = innerRadius + innerStart; + const innerEndAdjustedRadius = innerRadius + innerEnd; + const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; + const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; + ctx.beginPath(); + if (circular) { + ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle); + if (outerEnd > 0) { + const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); + } + const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); + ctx.lineTo(p4.x, p4.y); + if (innerEnd > 0) { + const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); + } + ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true); + if (innerStart > 0) { + const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); + } + const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); + ctx.lineTo(p8.x, p8.y); + if (outerStart > 0) { + const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); + ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); + } + } else { + ctx.moveTo(x, y); + const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; + const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerStartX, outerStartY); + const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; + const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; + ctx.lineTo(outerEndX, outerEndY); + } + ctx.closePath(); +} +function drawArc(ctx, element, offset, spacing, circular) { + const {fullCircles, startAngle, circumference} = element; + let endAngle = element.endAngle; + if (fullCircles) { + pathArc(ctx, element, offset, spacing, startAngle + TAU, circular); + for (let i = 0; i < fullCircles; ++i) { + ctx.fill(); + } + if (!isNaN(circumference)) { + endAngle = startAngle + circumference % TAU; + if (circumference % TAU === 0) { + endAngle += TAU; + } + } + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.fill(); + return endAngle; +} +function drawFullCircleBorders(ctx, element, inner) { + const {x, y, startAngle, pixelMargin, fullCircles} = element; + const outerRadius = Math.max(element.outerRadius - pixelMargin, 0); + const innerRadius = element.innerRadius + pixelMargin; + let i; + if (inner) { + clipArc(ctx, element, startAngle + TAU); + } + ctx.beginPath(); + ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } + ctx.beginPath(); + ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU); + for (i = 0; i < fullCircles; ++i) { + ctx.stroke(); + } +} +function drawBorder(ctx, element, offset, spacing, endAngle, circular) { + const {options} = element; + const {borderWidth, borderJoinStyle} = options; + const inner = options.borderAlign === 'inner'; + if (!borderWidth) { + return; + } + if (inner) { + ctx.lineWidth = borderWidth * 2; + ctx.lineJoin = borderJoinStyle || 'round'; + } else { + ctx.lineWidth = borderWidth; + ctx.lineJoin = borderJoinStyle || 'bevel'; + } + if (element.fullCircles) { + drawFullCircleBorders(ctx, element, inner); + } + if (inner) { + clipArc(ctx, element, endAngle); + } + pathArc(ctx, element, offset, spacing, endAngle, circular); + ctx.stroke(); +} +class ArcElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.circumference = undefined; + this.startAngle = undefined; + this.endAngle = undefined; + this.innerRadius = undefined; + this.outerRadius = undefined; + this.pixelMargin = 0; + this.fullCircles = 0; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(chartX, chartY, useFinalPosition) { + const point = this.getProps(['x', 'y'], useFinalPosition); + const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY}); + const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([ + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference' + ], useFinalPosition); + const rAdjust = this.options.spacing / 2; + const _circumference = valueOrDefault(circumference, endAngle - startAngle); + const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle); + const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); + return (betweenAngles && withinRadius); + } + getCenterPoint(useFinalPosition) { + const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([ + 'x', + 'y', + 'startAngle', + 'endAngle', + 'innerRadius', + 'outerRadius', + 'circumference', + ], useFinalPosition); + const {offset, spacing} = this.options; + const halfAngle = (startAngle + endAngle) / 2; + const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2; + return { + x: x + Math.cos(halfAngle) * halfRadius, + y: y + Math.sin(halfAngle) * halfRadius + }; + } + tooltipPosition(useFinalPosition) { + return this.getCenterPoint(useFinalPosition); + } + draw(ctx) { + const {options, circumference} = this; + const offset = (options.offset || 0) / 2; + const spacing = (options.spacing || 0) / 2; + const circular = options.circular; + this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0; + this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; + if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { + return; + } + ctx.save(); + let radiusOffset = 0; + if (offset) { + radiusOffset = offset / 2; + const halfAngle = (this.startAngle + this.endAngle) / 2; + ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset); + if (this.circumference >= PI) { + radiusOffset = offset; + } + } + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular); + drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular); + ctx.restore(); + } +} +ArcElement.id = 'arc'; +ArcElement.defaults = { + borderAlign: 'center', + borderColor: '#fff', + borderJoinStyle: undefined, + borderRadius: 0, + borderWidth: 2, + offset: 0, + spacing: 0, + angle: undefined, + circular: true, +}; +ArcElement.defaultRoutes = { + backgroundColor: 'backgroundColor' +}; + +function setStyle(ctx, options, style = options) { + ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); + ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); + ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); + ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); + ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); + ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); +} +function lineTo(ctx, previous, target) { + ctx.lineTo(target.x, target.y); +} +function getLineMethod(options) { + if (options.stepped) { + return _steppedLineTo; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierCurveTo; + } + return lineTo; +} +function pathVars(points, segment, params = {}) { + const count = points.length; + const {start: paramsStart = 0, end: paramsEnd = count - 1} = params; + const {start: segmentStart, end: segmentEnd} = segment; + const start = Math.max(paramsStart, segmentStart); + const end = Math.min(paramsEnd, segmentEnd); + const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; + return { + count, + start, + loop: segment.loop, + ilen: end < start && !outside ? count + end - start : end - start + }; +} +function pathSegment(ctx, line, segment, params) { + const {points, options} = line; + const {count, start, loop, ilen} = pathVars(points, segment, params); + const lineMethod = getLineMethod(options); + let {move = true, reverse} = params || {}; + let i, point, prev; + for (i = 0; i <= ilen; ++i) { + point = points[(start + (reverse ? ilen - i : i)) % count]; + if (point.skip) { + continue; + } else if (move) { + ctx.moveTo(point.x, point.y); + move = false; + } else { + lineMethod(ctx, prev, point, reverse, options.stepped); + } + prev = point; + } + if (loop) { + point = points[(start + (reverse ? ilen : 0)) % count]; + lineMethod(ctx, prev, point, reverse, options.stepped); + } + return !!loop; +} +function fastPathSegment(ctx, line, segment, params) { + const points = line.points; + const {count, start, ilen} = pathVars(points, segment, params); + const {move = true, reverse} = params || {}; + let avgX = 0; + let countX = 0; + let i, point, prevX, minY, maxY, lastY; + const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count; + const drawX = () => { + if (minY !== maxY) { + ctx.lineTo(avgX, maxY); + ctx.lineTo(avgX, minY); + ctx.lineTo(avgX, lastY); + } + }; + if (move) { + point = points[pointIndex(0)]; + ctx.moveTo(point.x, point.y); + } + for (i = 0; i <= ilen; ++i) { + point = points[pointIndex(i)]; + if (point.skip) { + continue; + } + const x = point.x; + const y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + } else if (y > maxY) { + maxY = y; + } + avgX = (countX * avgX + x) / ++countX; + } else { + drawX(); + ctx.lineTo(x, y); + prevX = truncX; + countX = 0; + minY = maxY = y; + } + lastY = y; + } + drawX(); +} +function _getSegmentMethod(line) { + const opts = line.options; + const borderDash = opts.borderDash && opts.borderDash.length; + const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash; + return useFastPath ? fastPathSegment : pathSegment; +} +function _getInterpolationMethod(options) { + if (options.stepped) { + return _steppedInterpolation; + } + if (options.tension || options.cubicInterpolationMode === 'monotone') { + return _bezierInterpolation; + } + return _pointInLine; +} +function strokePathWithCache(ctx, line, start, count) { + let path = line._path; + if (!path) { + path = line._path = new Path2D(); + if (line.path(path, start, count)) { + path.closePath(); + } + } + setStyle(ctx, line.options); + ctx.stroke(path); +} +function strokePathDirect(ctx, line, start, count) { + const {segments, options} = line; + const segmentMethod = _getSegmentMethod(line); + for (const segment of segments) { + setStyle(ctx, options, segment.style); + ctx.beginPath(); + if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) { + ctx.closePath(); + } + ctx.stroke(); + } +} +const usePath2D = typeof Path2D === 'function'; +function draw(ctx, line, start, count) { + if (usePath2D && !line.options.segment) { + strokePathWithCache(ctx, line, start, count); + } else { + strokePathDirect(ctx, line, start, count); + } +} +class LineElement extends Element { + constructor(cfg) { + super(); + this.animated = true; + this.options = undefined; + this._chart = undefined; + this._loop = undefined; + this._fullLoop = undefined; + this._path = undefined; + this._points = undefined; + this._segments = undefined; + this._decimated = false; + this._pointsUpdated = false; + this._datasetIndex = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + updateControlPoints(chartArea, indexAxis) { + const options = this.options; + if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) { + const loop = options.spanGaps ? this._loop : this._fullLoop; + _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); + this._pointsUpdated = true; + } + } + set points(points) { + this._points = points; + delete this._segments; + delete this._path; + this._pointsUpdated = false; + } + get points() { + return this._points; + } + get segments() { + return this._segments || (this._segments = _computeSegments(this, this.options.segment)); + } + first() { + const segments = this.segments; + const points = this.points; + return segments.length && points[segments[0].start]; + } + last() { + const segments = this.segments; + const points = this.points; + const count = segments.length; + return count && points[segments[count - 1].end]; + } + interpolate(point, property) { + const options = this.options; + const value = point[property]; + const points = this.points; + const segments = _boundSegments(this, {property, start: value, end: value}); + if (!segments.length) { + return; + } + const result = []; + const _interpolate = _getInterpolationMethod(options); + let i, ilen; + for (i = 0, ilen = segments.length; i < ilen; ++i) { + const {start, end} = segments[i]; + const p1 = points[start]; + const p2 = points[end]; + if (p1 === p2) { + result.push(p1); + continue; + } + const t = Math.abs((value - p1[property]) / (p2[property] - p1[property])); + const interpolated = _interpolate(p1, p2, t, options.stepped); + interpolated[property] = point[property]; + result.push(interpolated); + } + return result.length === 1 ? result[0] : result; + } + pathSegment(ctx, segment, params) { + const segmentMethod = _getSegmentMethod(this); + return segmentMethod(ctx, this, segment, params); + } + path(ctx, start, count) { + const segments = this.segments; + const segmentMethod = _getSegmentMethod(this); + let loop = this._loop; + start = start || 0; + count = count || (this.points.length - start); + for (const segment of segments) { + loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1}); + } + return !!loop; + } + draw(ctx, chartArea, start, count) { + const options = this.options || {}; + const points = this.points || []; + if (points.length && options.borderWidth) { + ctx.save(); + draw(ctx, this, start, count); + ctx.restore(); + } + if (this.animated) { + this._pointsUpdated = false; + this._path = undefined; + } + } +} +LineElement.id = 'line'; +LineElement.defaults = { + borderCapStyle: 'butt', + borderDash: [], + borderDashOffset: 0, + borderJoinStyle: 'miter', + borderWidth: 3, + capBezierPoints: true, + cubicInterpolationMode: 'default', + fill: false, + spanGaps: false, + stepped: false, + tension: 0, +}; +LineElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; +LineElement.descriptors = { + _scriptable: true, + _indexable: (name) => name !== 'borderDash' && name !== 'fill', +}; + +function inRange$1(el, pos, axis, useFinalPosition) { + const options = el.options; + const {[axis]: value} = el.getProps([axis], useFinalPosition); + return (Math.abs(pos - value) < options.radius + options.hitRadius); +} +class PointElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.parsed = undefined; + this.skip = undefined; + this.stop = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + inRange(mouseX, mouseY, useFinalPosition) { + const options = this.options; + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2)); + } + inXRange(mouseX, useFinalPosition) { + return inRange$1(this, mouseX, 'x', useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange$1(this, mouseY, 'y', useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y} = this.getProps(['x', 'y'], useFinalPosition); + return {x, y}; + } + size(options) { + options = options || this.options || {}; + let radius = options.radius || 0; + radius = Math.max(radius, radius && options.hoverRadius || 0); + const borderWidth = radius && options.borderWidth || 0; + return (radius + borderWidth) * 2; + } + draw(ctx, area) { + const options = this.options; + if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { + return; + } + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.fillStyle = options.backgroundColor; + drawPoint(ctx, options, this.x, this.y); + } + getRange() { + const options = this.options || {}; + return options.radius + options.hitRadius; + } +} +PointElement.id = 'point'; +PointElement.defaults = { + borderWidth: 1, + hitRadius: 1, + hoverBorderWidth: 1, + hoverRadius: 4, + pointStyle: 'circle', + radius: 3, + rotation: 0 +}; +PointElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +function getBarBounds(bar, useFinalPosition) { + const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition); + let left, right, top, bottom, half; + if (bar.horizontal) { + half = height / 2; + left = Math.min(x, base); + right = Math.max(x, base); + top = y - half; + bottom = y + half; + } else { + half = width / 2; + left = x - half; + right = x + half; + top = Math.min(y, base); + bottom = Math.max(y, base); + } + return {left, top, right, bottom}; +} +function skipOrLimit(skip, value, min, max) { + return skip ? 0 : _limitValue(value, min, max); +} +function parseBorderWidth(bar, maxW, maxH) { + const value = bar.options.borderWidth; + const skip = bar.borderSkipped; + const o = toTRBL(value); + return { + t: skipOrLimit(skip.top, o.top, 0, maxH), + r: skipOrLimit(skip.right, o.right, 0, maxW), + b: skipOrLimit(skip.bottom, o.bottom, 0, maxH), + l: skipOrLimit(skip.left, o.left, 0, maxW) + }; +} +function parseBorderRadius(bar, maxW, maxH) { + const {enableBorderRadius} = bar.getProps(['enableBorderRadius']); + const value = bar.options.borderRadius; + const o = toTRBLCorners(value); + const maxR = Math.min(maxW, maxH); + const skip = bar.borderSkipped; + const enableBorder = enableBorderRadius || isObject(value); + return { + topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR), + topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR), + bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR), + bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR) + }; +} +function boundingRects(bar) { + const bounds = getBarBounds(bar); + const width = bounds.right - bounds.left; + const height = bounds.bottom - bounds.top; + const border = parseBorderWidth(bar, width / 2, height / 2); + const radius = parseBorderRadius(bar, width / 2, height / 2); + return { + outer: { + x: bounds.left, + y: bounds.top, + w: width, + h: height, + radius + }, + inner: { + x: bounds.left + border.l, + y: bounds.top + border.t, + w: width - border.l - border.r, + h: height - border.t - border.b, + radius: { + topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)), + topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)), + bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)), + bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)), + } + } + }; +} +function inRange(bar, x, y, useFinalPosition) { + const skipX = x === null; + const skipY = y === null; + const skipBoth = skipX && skipY; + const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition); + return bounds + && (skipX || _isBetween(x, bounds.left, bounds.right)) + && (skipY || _isBetween(y, bounds.top, bounds.bottom)); +} +function hasRadius(radius) { + return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight; +} +function addNormalRectPath(ctx, rect) { + ctx.rect(rect.x, rect.y, rect.w, rect.h); +} +function inflateRect(rect, amount, refRect = {}) { + const x = rect.x !== refRect.x ? -amount : 0; + const y = rect.y !== refRect.y ? -amount : 0; + const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x; + const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y; + return { + x: rect.x + x, + y: rect.y + y, + w: rect.w + w, + h: rect.h + h, + radius: rect.radius + }; +} +class BarElement extends Element { + constructor(cfg) { + super(); + this.options = undefined; + this.horizontal = undefined; + this.base = undefined; + this.width = undefined; + this.height = undefined; + this.inflateAmount = undefined; + if (cfg) { + Object.assign(this, cfg); + } + } + draw(ctx) { + const {inflateAmount, options: {borderColor, backgroundColor}} = this; + const {inner, outer} = boundingRects(this); + const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath; + ctx.save(); + if (outer.w !== inner.w || outer.h !== inner.h) { + ctx.beginPath(); + addRectPath(ctx, inflateRect(outer, inflateAmount, inner)); + ctx.clip(); + addRectPath(ctx, inflateRect(inner, -inflateAmount, outer)); + ctx.fillStyle = borderColor; + ctx.fill('evenodd'); + } + ctx.beginPath(); + addRectPath(ctx, inflateRect(inner, inflateAmount)); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + inRange(mouseX, mouseY, useFinalPosition) { + return inRange(this, mouseX, mouseY, useFinalPosition); + } + inXRange(mouseX, useFinalPosition) { + return inRange(this, mouseX, null, useFinalPosition); + } + inYRange(mouseY, useFinalPosition) { + return inRange(this, null, mouseY, useFinalPosition); + } + getCenterPoint(useFinalPosition) { + const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition); + return { + x: horizontal ? (x + base) / 2 : x, + y: horizontal ? y : (y + base) / 2 + }; + } + getRange(axis) { + return axis === 'x' ? this.width / 2 : this.height / 2; + } +} +BarElement.id = 'bar'; +BarElement.defaults = { + borderSkipped: 'start', + borderWidth: 0, + borderRadius: 0, + inflateAmount: 'auto', + pointStyle: undefined +}; +BarElement.defaultRoutes = { + backgroundColor: 'backgroundColor', + borderColor: 'borderColor' +}; + +var elements = /*#__PURE__*/Object.freeze({ +__proto__: null, +ArcElement: ArcElement, +LineElement: LineElement, +PointElement: PointElement, +BarElement: BarElement +}); + +function lttbDecimation(data, start, count, availableWidth, options) { + const samples = options.samples || availableWidth; + if (samples >= count) { + return data.slice(start, start + count); + } + const decimated = []; + const bucketWidth = (count - 2) / (samples - 2); + let sampledIndex = 0; + const endIndex = start + count - 1; + let a = start; + let i, maxAreaPoint, maxArea, area, nextA; + decimated[sampledIndex++] = data[a]; + for (i = 0; i < samples - 2; i++) { + let avgX = 0; + let avgY = 0; + let j; + const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start; + const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start; + const avgRangeLength = avgRangeEnd - avgRangeStart; + for (j = avgRangeStart; j < avgRangeEnd; j++) { + avgX += data[j].x; + avgY += data[j].y; + } + avgX /= avgRangeLength; + avgY /= avgRangeLength; + const rangeOffs = Math.floor(i * bucketWidth) + 1 + start; + const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start; + const {x: pointAx, y: pointAy} = data[a]; + maxArea = area = -1; + for (j = rangeOffs; j < rangeTo; j++) { + area = 0.5 * Math.abs( + (pointAx - avgX) * (data[j].y - pointAy) - + (pointAx - data[j].x) * (avgY - pointAy) + ); + if (area > maxArea) { + maxArea = area; + maxAreaPoint = data[j]; + nextA = j; + } + } + decimated[sampledIndex++] = maxAreaPoint; + a = nextA; + } + decimated[sampledIndex++] = data[endIndex]; + return decimated; +} +function minMaxDecimation(data, start, count, availableWidth) { + let avgX = 0; + let countX = 0; + let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY; + const decimated = []; + const endIndex = start + count - 1; + const xMin = data[start].x; + const xMax = data[endIndex].x; + const dx = xMax - xMin; + for (i = start; i < start + count; ++i) { + point = data[i]; + x = (point.x - xMin) / dx * availableWidth; + y = point.y; + const truncX = x | 0; + if (truncX === prevX) { + if (y < minY) { + minY = y; + minIndex = i; + } else if (y > maxY) { + maxY = y; + maxIndex = i; + } + avgX = (countX * avgX + point.x) / ++countX; + } else { + const lastIndex = i - 1; + if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) { + const intermediateIndex1 = Math.min(minIndex, maxIndex); + const intermediateIndex2 = Math.max(minIndex, maxIndex); + if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex1], + x: avgX, + }); + } + if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) { + decimated.push({ + ...data[intermediateIndex2], + x: avgX + }); + } + } + if (i > 0 && lastIndex !== startIndex) { + decimated.push(data[lastIndex]); + } + decimated.push(point); + prevX = truncX; + countX = 0; + minY = maxY = y; + minIndex = maxIndex = startIndex = i; + } + } + return decimated; +} +function cleanDecimatedDataset(dataset) { + if (dataset._decimated) { + const data = dataset._data; + delete dataset._decimated; + delete dataset._data; + Object.defineProperty(dataset, 'data', {value: data}); + } +} +function cleanDecimatedData(chart) { + chart.data.datasets.forEach((dataset) => { + cleanDecimatedDataset(dataset); + }); +} +function getStartAndCountOfVisiblePointsSimplified(meta, points) { + const pointCount = points.length; + let start = 0; + let count; + const {iScale} = meta; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start; + } else { + count = pointCount - start; + } + return {start, count}; +} +var plugin_decimation = { + id: 'decimation', + defaults: { + algorithm: 'min-max', + enabled: false, + }, + beforeElementsUpdate: (chart, args, options) => { + if (!options.enabled) { + cleanDecimatedData(chart); + return; + } + const availableWidth = chart.width; + chart.data.datasets.forEach((dataset, datasetIndex) => { + const {_data, indexAxis} = dataset; + const meta = chart.getDatasetMeta(datasetIndex); + const data = _data || dataset.data; + if (resolve([indexAxis, chart.options.indexAxis]) === 'y') { + return; + } + if (!meta.controller.supportsDecimation) { + return; + } + const xAxis = chart.scales[meta.xAxisID]; + if (xAxis.type !== 'linear' && xAxis.type !== 'time') { + return; + } + if (chart.options.parsing) { + return; + } + let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data); + const threshold = options.threshold || 4 * availableWidth; + if (count <= threshold) { + cleanDecimatedDataset(dataset); + return; + } + if (isNullOrUndef(_data)) { + dataset._data = data; + delete dataset.data; + Object.defineProperty(dataset, 'data', { + configurable: true, + enumerable: true, + get: function() { + return this._decimated; + }, + set: function(d) { + this._data = d; + } + }); + } + let decimated; + switch (options.algorithm) { + case 'lttb': + decimated = lttbDecimation(data, start, count, availableWidth, options); + break; + case 'min-max': + decimated = minMaxDecimation(data, start, count, availableWidth); + break; + default: + throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`); + } + dataset._decimated = decimated; + }); + }, + destroy(chart) { + cleanDecimatedData(chart); + } +}; + +function _segments(line, target, property) { + const segments = line.segments; + const points = line.points; + const tpoints = target.points; + const parts = []; + for (const segment of segments) { + let {start, end} = segment; + end = _findSegmentEnd(start, end, points); + const bounds = _getBounds(property, points[start], points[end], segment.loop); + if (!target.segments) { + parts.push({ + source: segment, + target: bounds, + start: points[start], + end: points[end] + }); + continue; + } + const targetSegments = _boundSegments(target, bounds); + for (const tgt of targetSegments) { + const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop); + const fillSources = _boundSegment(segment, points, subBounds); + for (const fillSource of fillSources) { + parts.push({ + source: fillSource, + target: tgt, + start: { + [property]: _getEdge(bounds, subBounds, 'start', Math.max) + }, + end: { + [property]: _getEdge(bounds, subBounds, 'end', Math.min) + } + }); + } + } + } + return parts; +} +function _getBounds(property, first, last, loop) { + if (loop) { + return; + } + let start = first[property]; + let end = last[property]; + if (property === 'angle') { + start = _normalizeAngle(start); + end = _normalizeAngle(end); + } + return {property, start, end}; +} +function _pointsFromSegments(boundary, line) { + const {x = null, y = null} = boundary || {}; + const linePoints = line.points; + const points = []; + line.segments.forEach(({start, end}) => { + end = _findSegmentEnd(start, end, linePoints); + const first = linePoints[start]; + const last = linePoints[end]; + if (y !== null) { + points.push({x: first.x, y}); + points.push({x: last.x, y}); + } else if (x !== null) { + points.push({x, y: first.y}); + points.push({x, y: last.y}); + } + }); + return points; +} +function _findSegmentEnd(start, end, points) { + for (;end > start; end--) { + const point = points[end]; + if (!isNaN(point.x) && !isNaN(point.y)) { + break; + } + } + return end; +} +function _getEdge(a, b, prop, fn) { + if (a && b) { + return fn(a[prop], b[prop]); + } + return a ? a[prop] : b ? b[prop] : 0; +} + +function _createBoundaryLine(boundary, line) { + let points = []; + let _loop = false; + if (isArray(boundary)) { + _loop = true; + points = boundary; + } else { + points = _pointsFromSegments(boundary, line); + } + return points.length ? new LineElement({ + points, + options: {tension: 0}, + _loop, + _fullLoop: _loop + }) : null; +} +function _shouldApplyFill(source) { + return source && source.fill !== false; +} + +function _resolveTarget(sources, index, propagate) { + const source = sources[index]; + let fill = source.fill; + const visited = [index]; + let target; + if (!propagate) { + return fill; + } + while (fill !== false && visited.indexOf(fill) === -1) { + if (!isNumberFinite(fill)) { + return fill; + } + target = sources[fill]; + if (!target) { + return false; + } + if (target.visible) { + return fill; + } + visited.push(fill); + fill = target.fill; + } + return false; +} +function _decodeFill(line, index, count) { + const fill = parseFillOption(line); + if (isObject(fill)) { + return isNaN(fill.value) ? false : fill; + } + let target = parseFloat(fill); + if (isNumberFinite(target) && Math.floor(target) === target) { + return decodeTargetIndex(fill[0], index, target, count); + } + return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill; +} +function decodeTargetIndex(firstCh, index, target, count) { + if (firstCh === '-' || firstCh === '+') { + target = index + target; + } + if (target === index || target < 0 || target >= count) { + return false; + } + return target; +} +function _getTargetPixel(fill, scale) { + let pixel = null; + if (fill === 'start') { + pixel = scale.bottom; + } else if (fill === 'end') { + pixel = scale.top; + } else if (isObject(fill)) { + pixel = scale.getPixelForValue(fill.value); + } else if (scale.getBasePixel) { + pixel = scale.getBasePixel(); + } + return pixel; +} +function _getTargetValue(fill, scale, startValue) { + let value; + if (fill === 'start') { + value = startValue; + } else if (fill === 'end') { + value = scale.options.reverse ? scale.min : scale.max; + } else if (isObject(fill)) { + value = fill.value; + } else { + value = scale.getBaseValue(); + } + return value; +} +function parseFillOption(line) { + const options = line.options; + const fillOption = options.fill; + let fill = valueOrDefault(fillOption && fillOption.target, fillOption); + if (fill === undefined) { + fill = !!options.backgroundColor; + } + if (fill === false || fill === null) { + return false; + } + if (fill === true) { + return 'origin'; + } + return fill; +} + +function _buildStackLine(source) { + const {scale, index, line} = source; + const points = []; + const segments = line.segments; + const sourcePoints = line.points; + const linesBelow = getLinesBelow(scale, index); + linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line)); + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + for (let j = segment.start; j <= segment.end; j++) { + addPointsBelow(points, sourcePoints[j], linesBelow); + } + } + return new LineElement({points, options: {}}); +} +function getLinesBelow(scale, index) { + const below = []; + const metas = scale.getMatchingVisibleMetas('line'); + for (let i = 0; i < metas.length; i++) { + const meta = metas[i]; + if (meta.index === index) { + break; + } + if (!meta.hidden) { + below.unshift(meta.dataset); + } + } + return below; +} +function addPointsBelow(points, sourcePoint, linesBelow) { + const postponed = []; + for (let j = 0; j < linesBelow.length; j++) { + const line = linesBelow[j]; + const {first, last, point} = findPoint(line, sourcePoint, 'x'); + if (!point || (first && last)) { + continue; + } + if (first) { + postponed.unshift(point); + } else { + points.push(point); + if (!last) { + break; + } + } + } + points.push(...postponed); +} +function findPoint(line, sourcePoint, property) { + const point = line.interpolate(sourcePoint, property); + if (!point) { + return {}; + } + const pointValue = point[property]; + const segments = line.segments; + const linePoints = line.points; + let first = false; + let last = false; + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + const firstValue = linePoints[segment.start][property]; + const lastValue = linePoints[segment.end][property]; + if (_isBetween(pointValue, firstValue, lastValue)) { + first = pointValue === firstValue; + last = pointValue === lastValue; + break; + } + } + return {first, last, point}; +} + +class simpleArc { + constructor(opts) { + this.x = opts.x; + this.y = opts.y; + this.radius = opts.radius; + } + pathSegment(ctx, bounds, opts) { + const {x, y, radius} = this; + bounds = bounds || {start: 0, end: TAU}; + ctx.arc(x, y, radius, bounds.end, bounds.start, true); + return !opts.bounds; + } + interpolate(point) { + const {x, y, radius} = this; + const angle = point.angle; + return { + x: x + Math.cos(angle) * radius, + y: y + Math.sin(angle) * radius, + angle + }; + } +} + +function _getTarget(source) { + const {chart, fill, line} = source; + if (isNumberFinite(fill)) { + return getLineByIndex(chart, fill); + } + if (fill === 'stack') { + return _buildStackLine(source); + } + if (fill === 'shape') { + return true; + } + const boundary = computeBoundary(source); + if (boundary instanceof simpleArc) { + return boundary; + } + return _createBoundaryLine(boundary, line); +} +function getLineByIndex(chart, index) { + const meta = chart.getDatasetMeta(index); + const visible = meta && chart.isDatasetVisible(index); + return visible ? meta.dataset : null; +} +function computeBoundary(source) { + const scale = source.scale || {}; + if (scale.getPointPositionForValue) { + return computeCircularBoundary(source); + } + return computeLinearBoundary(source); +} +function computeLinearBoundary(source) { + const {scale = {}, fill} = source; + const pixel = _getTargetPixel(fill, scale); + if (isNumberFinite(pixel)) { + const horizontal = scale.isHorizontal(); + return { + x: horizontal ? pixel : null, + y: horizontal ? null : pixel + }; + } + return null; +} +function computeCircularBoundary(source) { + const {scale, fill} = source; + const options = scale.options; + const length = scale.getLabels().length; + const start = options.reverse ? scale.max : scale.min; + const value = _getTargetValue(fill, scale, start); + const target = []; + if (options.grid.circular) { + const center = scale.getPointPositionForValue(0, start); + return new simpleArc({ + x: center.x, + y: center.y, + radius: scale.getDistanceFromCenterForValue(value) + }); + } + for (let i = 0; i < length; ++i) { + target.push(scale.getPointPositionForValue(i, value)); + } + return target; +} + +function _drawfill(ctx, source, area) { + const target = _getTarget(source); + const {line, scale, axis} = source; + const lineOpts = line.options; + const fillOption = lineOpts.fill; + const color = lineOpts.backgroundColor; + const {above = color, below = color} = fillOption || {}; + if (target && line.points.length) { + clipArea(ctx, area); + doFill(ctx, {line, target, above, below, area, scale, axis}); + unclipArea(ctx); + } +} +function doFill(ctx, cfg) { + const {line, target, above, below, area, scale} = cfg; + const property = line._loop ? 'angle' : cfg.axis; + ctx.save(); + if (property === 'x' && below !== above) { + clipVertical(ctx, target, area.top); + fill(ctx, {line, target, color: above, scale, property}); + ctx.restore(); + ctx.save(); + clipVertical(ctx, target, area.bottom); + } + fill(ctx, {line, target, color: below, scale, property}); + ctx.restore(); +} +function clipVertical(ctx, target, clipY) { + const {segments, points} = target; + let first = true; + let lineLoop = false; + ctx.beginPath(); + for (const segment of segments) { + const {start, end} = segment; + const firstPoint = points[start]; + const lastPoint = points[_findSegmentEnd(start, end, points)]; + if (first) { + ctx.moveTo(firstPoint.x, firstPoint.y); + first = false; + } else { + ctx.lineTo(firstPoint.x, clipY); + ctx.lineTo(firstPoint.x, firstPoint.y); + } + lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop}); + if (lineLoop) { + ctx.closePath(); + } else { + ctx.lineTo(lastPoint.x, clipY); + } + } + ctx.lineTo(target.first().x, clipY); + ctx.closePath(); + ctx.clip(); +} +function fill(ctx, cfg) { + const {line, target, property, color, scale} = cfg; + const segments = _segments(line, target, property); + for (const {source: src, target: tgt, start, end} of segments) { + const {style: {backgroundColor = color} = {}} = src; + const notShape = target !== true; + ctx.save(); + ctx.fillStyle = backgroundColor; + clipBounds(ctx, scale, notShape && _getBounds(property, start, end)); + ctx.beginPath(); + const lineLoop = !!line.pathSegment(ctx, src); + let loop; + if (notShape) { + if (lineLoop) { + ctx.closePath(); + } else { + interpolatedLineTo(ctx, target, end, property); + } + const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true}); + loop = lineLoop && targetLoop; + if (!loop) { + interpolatedLineTo(ctx, target, start, property); + } + } + ctx.closePath(); + ctx.fill(loop ? 'evenodd' : 'nonzero'); + ctx.restore(); + } +} +function clipBounds(ctx, scale, bounds) { + const {top, bottom} = scale.chart.chartArea; + const {property, start, end} = bounds || {}; + if (property === 'x') { + ctx.beginPath(); + ctx.rect(start, top, end - start, bottom - top); + ctx.clip(); + } +} +function interpolatedLineTo(ctx, target, point, property) { + const interpolatedPoint = target.interpolate(point, property); + if (interpolatedPoint) { + ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y); + } +} + +var index = { + id: 'filler', + afterDatasetsUpdate(chart, _args, options) { + const count = (chart.data.datasets || []).length; + const sources = []; + let meta, i, line, source; + for (i = 0; i < count; ++i) { + meta = chart.getDatasetMeta(i); + line = meta.dataset; + source = null; + if (line && line.options && line instanceof LineElement) { + source = { + visible: chart.isDatasetVisible(i), + index: i, + fill: _decodeFill(line, i, count), + chart, + axis: meta.controller.options.indexAxis, + scale: meta.vScale, + line, + }; + } + meta.$filler = source; + sources.push(source); + } + for (i = 0; i < count; ++i) { + source = sources[i]; + if (!source || source.fill === false) { + continue; + } + source.fill = _resolveTarget(sources, i, options.propagate); + } + }, + beforeDraw(chart, _args, options) { + const draw = options.drawTime === 'beforeDraw'; + const metasets = chart.getSortedVisibleDatasetMetas(); + const area = chart.chartArea; + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (!source) { + continue; + } + source.line.updateControlPoints(area, source.axis); + if (draw && source.fill) { + _drawfill(chart.ctx, source, area); + } + } + }, + beforeDatasetsDraw(chart, _args, options) { + if (options.drawTime !== 'beforeDatasetsDraw') { + return; + } + const metasets = chart.getSortedVisibleDatasetMetas(); + for (let i = metasets.length - 1; i >= 0; --i) { + const source = metasets[i].$filler; + if (_shouldApplyFill(source)) { + _drawfill(chart.ctx, source, chart.chartArea); + } + } + }, + beforeDatasetDraw(chart, args, options) { + const source = args.meta.$filler; + if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') { + return; + } + _drawfill(chart.ctx, source, chart.chartArea); + }, + defaults: { + propagate: true, + drawTime: 'beforeDatasetDraw' + } +}; + +const getBoxSize = (labelOpts, fontSize) => { + let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts; + if (labelOpts.usePointStyle) { + boxHeight = Math.min(boxHeight, fontSize); + boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); + } + return { + boxWidth, + boxHeight, + itemHeight: Math.max(fontSize, boxHeight) + }; +}; +const itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index; +class Legend extends Element { + constructor(config) { + super(); + this._added = false; + this.legendHitBoxes = []; + this._hoveredItem = null; + this.doughnutMode = false; + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this.legendItems = undefined; + this.columnSizes = undefined; + this.lineWidths = undefined; + this.maxHeight = undefined; + this.maxWidth = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.height = undefined; + this.width = undefined; + this._margins = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight, margins) { + this.maxWidth = maxWidth; + this.maxHeight = maxHeight; + this._margins = margins; + this.setDimensions(); + this.buildLabels(); + this.fit(); + } + setDimensions() { + if (this.isHorizontal()) { + this.width = this.maxWidth; + this.left = this._margins.left; + this.right = this.width; + } else { + this.height = this.maxHeight; + this.top = this._margins.top; + this.bottom = this.height; + } + } + buildLabels() { + const labelOpts = this.options.labels || {}; + let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || []; + if (labelOpts.filter) { + legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data)); + } + if (labelOpts.sort) { + legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data)); + } + if (this.options.reverse) { + legendItems.reverse(); + } + this.legendItems = legendItems; + } + fit() { + const {options, ctx} = this; + if (!options.display) { + this.width = this.height = 0; + return; + } + const labelOpts = options.labels; + const labelFont = toFont(labelOpts.font); + const fontSize = labelFont.size; + const titleHeight = this._computeTitleHeight(); + const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize); + let width, height; + ctx.font = labelFont.string; + if (this.isHorizontal()) { + width = this.maxWidth; + height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } else { + height = this.maxHeight; + width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10; + } + this.width = Math.min(width, options.maxWidth || this.maxWidth); + this.height = Math.min(height, options.maxHeight || this.maxHeight); + } + _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxWidth, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const lineWidths = this.lineWidths = [0]; + const lineHeight = itemHeight + padding; + let totalHeight = titleHeight; + ctx.textAlign = 'left'; + ctx.textBaseline = 'middle'; + let row = -1; + let top = -lineHeight; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) { + totalHeight += lineHeight; + lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; + top += lineHeight; + row++; + } + hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight}; + lineWidths[lineWidths.length - 1] += itemWidth + padding; + }); + return totalHeight; + } + _fitCols(titleHeight, fontSize, boxWidth, itemHeight) { + const {ctx, maxHeight, options: {labels: {padding}}} = this; + const hitboxes = this.legendHitBoxes = []; + const columnSizes = this.columnSizes = []; + const heightLimit = maxHeight - titleHeight; + let totalWidth = padding; + let currentColWidth = 0; + let currentColHeight = 0; + let left = 0; + let col = 0; + this.legendItems.forEach((legendItem, i) => { + const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; + if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { + totalWidth += currentColWidth + padding; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + left += currentColWidth + padding; + col++; + currentColWidth = currentColHeight = 0; + } + hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight}; + currentColWidth = Math.max(currentColWidth, itemWidth); + currentColHeight += itemHeight + padding; + }); + totalWidth += currentColWidth; + columnSizes.push({width: currentColWidth, height: currentColHeight}); + return totalWidth; + } + adjustHitBoxes() { + if (!this.options.display) { + return; + } + const titleHeight = this._computeTitleHeight(); + const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this; + const rtlHelper = getRtlAdapter(rtl, this.left, this.width); + if (this.isHorizontal()) { + let row = 0; + let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + for (const hitbox of hitboxes) { + if (row !== hitbox.row) { + row = hitbox.row; + left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); + } + hitbox.top += this.top + titleHeight + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width); + left += hitbox.width + padding; + } + } else { + let col = 0; + let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + for (const hitbox of hitboxes) { + if (hitbox.col !== col) { + col = hitbox.col; + top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); + } + hitbox.top = top; + hitbox.left += this.left + padding; + hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); + top += hitbox.height + padding; + } + } + } + isHorizontal() { + return this.options.position === 'top' || this.options.position === 'bottom'; + } + draw() { + if (this.options.display) { + const ctx = this.ctx; + clipArea(ctx, this); + this._draw(); + unclipArea(ctx); + } + } + _draw() { + const {options: opts, columnSizes, lineWidths, ctx} = this; + const {align, labels: labelOpts} = opts; + const defaultColor = defaults.color; + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const labelFont = toFont(labelOpts.font); + const {color: fontColor, padding} = labelOpts; + const fontSize = labelFont.size; + const halfFontSize = fontSize / 2; + let cursor; + this.drawTitle(); + ctx.textAlign = rtlHelper.textAlign('left'); + ctx.textBaseline = 'middle'; + ctx.lineWidth = 0.5; + ctx.font = labelFont.string; + const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize); + const drawLegendBox = function(x, y, legendItem) { + if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) { + return; + } + ctx.save(); + const lineWidth = valueOrDefault(legendItem.lineWidth, 1); + ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor); + ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt'); + ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0); + ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter'); + ctx.lineWidth = lineWidth; + ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor); + ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); + if (labelOpts.usePointStyle) { + const drawOptions = { + radius: boxHeight * Math.SQRT2 / 2, + pointStyle: legendItem.pointStyle, + rotation: legendItem.rotation, + borderWidth: lineWidth + }; + const centerX = rtlHelper.xPlus(x, boxWidth / 2); + const centerY = y + halfFontSize; + drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); + } else { + const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); + const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); + const borderRadius = toTRBLCorners(legendItem.borderRadius); + ctx.beginPath(); + if (Object.values(borderRadius).some(v => v !== 0)) { + addRoundedRectPath(ctx, { + x: xBoxLeft, + y: yBoxTop, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + } else { + ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight); + } + ctx.fill(); + if (lineWidth !== 0) { + ctx.stroke(); + } + } + ctx.restore(); + }; + const fillText = function(x, y, legendItem) { + renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, { + strikethrough: legendItem.hidden, + textAlign: rtlHelper.textAlign(legendItem.textAlign) + }); + }; + const isHorizontal = this.isHorizontal(); + const titleHeight = this._computeTitleHeight(); + if (isHorizontal) { + cursor = { + x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]), + y: this.top + padding + titleHeight, + line: 0 + }; + } else { + cursor = { + x: this.left + padding, + y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height), + line: 0 + }; + } + overrideTextDirection(this.ctx, opts.textDirection); + const lineHeight = itemHeight + padding; + this.legendItems.forEach((legendItem, i) => { + ctx.strokeStyle = legendItem.fontColor || fontColor; + ctx.fillStyle = legendItem.fontColor || fontColor; + const textWidth = ctx.measureText(legendItem.text).width; + const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); + const width = boxWidth + halfFontSize + textWidth; + let x = cursor.x; + let y = cursor.y; + rtlHelper.setWidth(this.width); + if (isHorizontal) { + if (i > 0 && x + width + padding > this.right) { + y = cursor.y += lineHeight; + cursor.line++; + x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]); + } + } else if (i > 0 && y + lineHeight > this.bottom) { + x = cursor.x = x + columnSizes[cursor.line].width + padding; + cursor.line++; + y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height); + } + const realX = rtlHelper.x(x); + drawLegendBox(realX, y, legendItem); + x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl); + fillText(rtlHelper.x(x), y, legendItem); + if (isHorizontal) { + cursor.x += width + padding; + } else { + cursor.y += lineHeight; + } + }); + restoreTextDirection(this.ctx, opts.textDirection); + } + drawTitle() { + const opts = this.options; + const titleOpts = opts.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + if (!titleOpts.display) { + return; + } + const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); + const ctx = this.ctx; + const position = titleOpts.position; + const halfFontSize = titleFont.size / 2; + const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize; + let y; + let left = this.left; + let maxWidth = this.width; + if (this.isHorizontal()) { + maxWidth = Math.max(...this.lineWidths); + y = this.top + topPaddingPlusHalfFontSize; + left = _alignStartEnd(opts.align, left, this.right - maxWidth); + } else { + const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0); + y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight()); + } + const x = _alignStartEnd(position, left, left + maxWidth); + ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position)); + ctx.textBaseline = 'middle'; + ctx.strokeStyle = titleOpts.color; + ctx.fillStyle = titleOpts.color; + ctx.font = titleFont.string; + renderText(ctx, titleOpts.text, x, y, titleFont); + } + _computeTitleHeight() { + const titleOpts = this.options.title; + const titleFont = toFont(titleOpts.font); + const titlePadding = toPadding(titleOpts.padding); + return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0; + } + _getLegendItemAt(x, y) { + let i, hitBox, lh; + if (_isBetween(x, this.left, this.right) + && _isBetween(y, this.top, this.bottom)) { + lh = this.legendHitBoxes; + for (i = 0; i < lh.length; ++i) { + hitBox = lh[i]; + if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) + && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) { + return this.legendItems[i]; + } + } + } + return null; + } + handleEvent(e) { + const opts = this.options; + if (!isListened(e.type, opts)) { + return; + } + const hoveredItem = this._getLegendItemAt(e.x, e.y); + if (e.type === 'mousemove' || e.type === 'mouseout') { + const previous = this._hoveredItem; + const sameItem = itemsEqual(previous, hoveredItem); + if (previous && !sameItem) { + callback(opts.onLeave, [e, previous, this], this); + } + this._hoveredItem = hoveredItem; + if (hoveredItem && !sameItem) { + callback(opts.onHover, [e, hoveredItem, this], this); + } + } else if (hoveredItem) { + callback(opts.onClick, [e, hoveredItem, this], this); + } + } +} +function isListened(type, opts) { + if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) { + return true; + } + if (opts.onClick && (type === 'click' || type === 'mouseup')) { + return true; + } + return false; +} +var plugin_legend = { + id: 'legend', + _element: Legend, + start(chart, _args, options) { + const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart}); + layouts.configure(chart, legend, options); + layouts.addBox(chart, legend); + }, + stop(chart) { + layouts.removeBox(chart, chart.legend); + delete chart.legend; + }, + beforeUpdate(chart, _args, options) { + const legend = chart.legend; + layouts.configure(chart, legend, options); + legend.options = options; + }, + afterUpdate(chart) { + const legend = chart.legend; + legend.buildLabels(); + legend.adjustHitBoxes(); + }, + afterEvent(chart, args) { + if (!args.replay) { + chart.legend.handleEvent(args.event); + } + }, + defaults: { + display: true, + position: 'top', + align: 'center', + fullSize: true, + reverse: false, + weight: 1000, + onClick(e, legendItem, legend) { + const index = legendItem.datasetIndex; + const ci = legend.chart; + if (ci.isDatasetVisible(index)) { + ci.hide(index); + legendItem.hidden = true; + } else { + ci.show(index); + legendItem.hidden = false; + } + }, + onHover: null, + onLeave: null, + labels: { + color: (ctx) => ctx.chart.options.color, + boxWidth: 40, + padding: 10, + generateLabels(chart) { + const datasets = chart.data.datasets; + const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options; + return chart._getSortedDatasetMetas().map((meta) => { + const style = meta.controller.getStyle(usePointStyle ? 0 : undefined); + const borderWidth = toPadding(style.borderWidth); + return { + text: datasets[meta.index].label, + fillStyle: style.backgroundColor, + fontColor: color, + hidden: !meta.visible, + lineCap: style.borderCapStyle, + lineDash: style.borderDash, + lineDashOffset: style.borderDashOffset, + lineJoin: style.borderJoinStyle, + lineWidth: (borderWidth.width + borderWidth.height) / 4, + strokeStyle: style.borderColor, + pointStyle: pointStyle || style.pointStyle, + rotation: style.rotation, + textAlign: textAlign || style.textAlign, + borderRadius: 0, + datasetIndex: meta.index + }; + }, this); + } + }, + title: { + color: (ctx) => ctx.chart.options.color, + display: false, + position: 'center', + text: '', + } + }, + descriptors: { + _scriptable: (name) => !name.startsWith('on'), + labels: { + _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name), + } + }, +}; + +class Title extends Element { + constructor(config) { + super(); + this.chart = config.chart; + this.options = config.options; + this.ctx = config.ctx; + this._padding = undefined; + this.top = undefined; + this.bottom = undefined; + this.left = undefined; + this.right = undefined; + this.width = undefined; + this.height = undefined; + this.position = undefined; + this.weight = undefined; + this.fullSize = undefined; + } + update(maxWidth, maxHeight) { + const opts = this.options; + this.left = 0; + this.top = 0; + if (!opts.display) { + this.width = this.height = this.right = this.bottom = 0; + return; + } + this.width = this.right = maxWidth; + this.height = this.bottom = maxHeight; + const lineCount = isArray(opts.text) ? opts.text.length : 1; + this._padding = toPadding(opts.padding); + const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height; + if (this.isHorizontal()) { + this.height = textSize; + } else { + this.width = textSize; + } + } + isHorizontal() { + const pos = this.options.position; + return pos === 'top' || pos === 'bottom'; + } + _drawArgs(offset) { + const {top, left, bottom, right, options} = this; + const align = options.align; + let rotation = 0; + let maxWidth, titleX, titleY; + if (this.isHorizontal()) { + titleX = _alignStartEnd(align, left, right); + titleY = top + offset; + maxWidth = right - left; + } else { + if (options.position === 'left') { + titleX = left + offset; + titleY = _alignStartEnd(align, bottom, top); + rotation = PI * -0.5; + } else { + titleX = right - offset; + titleY = _alignStartEnd(align, top, bottom); + rotation = PI * 0.5; + } + maxWidth = bottom - top; + } + return {titleX, titleY, maxWidth, rotation}; + } + draw() { + const ctx = this.ctx; + const opts = this.options; + if (!opts.display) { + return; + } + const fontOpts = toFont(opts.font); + const lineHeight = fontOpts.lineHeight; + const offset = lineHeight / 2 + this._padding.top; + const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset); + renderText(ctx, opts.text, 0, 0, fontOpts, { + color: opts.color, + maxWidth, + rotation, + textAlign: _toLeftRightCenter(opts.align), + textBaseline: 'middle', + translation: [titleX, titleY], + }); + } +} +function createTitle(chart, titleOpts) { + const title = new Title({ + ctx: chart.ctx, + options: titleOpts, + chart + }); + layouts.configure(chart, title, titleOpts); + layouts.addBox(chart, title); + chart.titleBlock = title; +} +var plugin_title = { + id: 'title', + _element: Title, + start(chart, _args, options) { + createTitle(chart, options); + }, + stop(chart) { + const titleBlock = chart.titleBlock; + layouts.removeBox(chart, titleBlock); + delete chart.titleBlock; + }, + beforeUpdate(chart, _args, options) { + const title = chart.titleBlock; + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'bold', + }, + fullSize: true, + padding: 10, + position: 'top', + text: '', + weight: 2000 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const map = new WeakMap(); +var plugin_subtitle = { + id: 'subtitle', + start(chart, _args, options) { + const title = new Title({ + ctx: chart.ctx, + options, + chart + }); + layouts.configure(chart, title, options); + layouts.addBox(chart, title); + map.set(chart, title); + }, + stop(chart) { + layouts.removeBox(chart, map.get(chart)); + map.delete(chart); + }, + beforeUpdate(chart, _args, options) { + const title = map.get(chart); + layouts.configure(chart, title, options); + title.options = options; + }, + defaults: { + align: 'center', + display: false, + font: { + weight: 'normal', + }, + fullSize: true, + padding: 0, + position: 'top', + text: '', + weight: 1500 + }, + defaultRoutes: { + color: 'color' + }, + descriptors: { + _scriptable: true, + _indexable: false, + }, +}; + +const positioners = { + average(items) { + if (!items.length) { + return false; + } + let i, len; + let x = 0; + let y = 0; + let count = 0; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const pos = el.tooltipPosition(); + x += pos.x; + y += pos.y; + ++count; + } + } + return { + x: x / count, + y: y / count + }; + }, + nearest(items, eventPosition) { + if (!items.length) { + return false; + } + let x = eventPosition.x; + let y = eventPosition.y; + let minDistance = Number.POSITIVE_INFINITY; + let i, len, nearestElement; + for (i = 0, len = items.length; i < len; ++i) { + const el = items[i].element; + if (el && el.hasValue()) { + const center = el.getCenterPoint(); + const d = distanceBetweenPoints(eventPosition, center); + if (d < minDistance) { + minDistance = d; + nearestElement = el; + } + } + } + if (nearestElement) { + const tp = nearestElement.tooltipPosition(); + x = tp.x; + y = tp.y; + } + return { + x, + y + }; + } +}; +function pushOrConcat(base, toPush) { + if (toPush) { + if (isArray(toPush)) { + Array.prototype.push.apply(base, toPush); + } else { + base.push(toPush); + } + } + return base; +} +function splitNewlines(str) { + if ((typeof str === 'string' || str instanceof String) && str.indexOf('\n') > -1) { + return str.split('\n'); + } + return str; +} +function createTooltipItem(chart, item) { + const {element, datasetIndex, index} = item; + const controller = chart.getDatasetMeta(datasetIndex).controller; + const {label, value} = controller.getLabelAndValue(index); + return { + chart, + label, + parsed: controller.getParsed(index), + raw: chart.data.datasets[datasetIndex].data[index], + formattedValue: value, + dataset: controller.getDataset(), + dataIndex: index, + datasetIndex, + element + }; +} +function getTooltipSize(tooltip, options) { + const ctx = tooltip.chart.ctx; + const {body, footer, title} = tooltip; + const {boxWidth, boxHeight} = options; + const bodyFont = toFont(options.bodyFont); + const titleFont = toFont(options.titleFont); + const footerFont = toFont(options.footerFont); + const titleLineCount = title.length; + const footerLineCount = footer.length; + const bodyLineItemCount = body.length; + const padding = toPadding(options.padding); + let height = padding.height; + let width = 0; + let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0); + combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length; + if (titleLineCount) { + height += titleLineCount * titleFont.lineHeight + + (titleLineCount - 1) * options.titleSpacing + + options.titleMarginBottom; + } + if (combinedBodyLength) { + const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight; + height += bodyLineItemCount * bodyLineHeight + + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + + (combinedBodyLength - 1) * options.bodySpacing; + } + if (footerLineCount) { + height += options.footerMarginTop + + footerLineCount * footerFont.lineHeight + + (footerLineCount - 1) * options.footerSpacing; + } + let widthPadding = 0; + const maxLineWidth = function(line) { + width = Math.max(width, ctx.measureText(line).width + widthPadding); + }; + ctx.save(); + ctx.font = titleFont.string; + each(tooltip.title, maxLineWidth); + ctx.font = bodyFont.string; + each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth); + widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0; + each(body, (bodyItem) => { + each(bodyItem.before, maxLineWidth); + each(bodyItem.lines, maxLineWidth); + each(bodyItem.after, maxLineWidth); + }); + widthPadding = 0; + ctx.font = footerFont.string; + each(tooltip.footer, maxLineWidth); + ctx.restore(); + width += padding.width; + return {width, height}; +} +function determineYAlign(chart, size) { + const {y, height} = size; + if (y < height / 2) { + return 'top'; + } else if (y > (chart.height - height / 2)) { + return 'bottom'; + } + return 'center'; +} +function doesNotFitWithAlign(xAlign, chart, options, size) { + const {x, width} = size; + const caret = options.caretSize + options.caretPadding; + if (xAlign === 'left' && x + width + caret > chart.width) { + return true; + } + if (xAlign === 'right' && x - width - caret < 0) { + return true; + } +} +function determineXAlign(chart, options, size, yAlign) { + const {x, width} = size; + const {width: chartWidth, chartArea: {left, right}} = chart; + let xAlign = 'center'; + if (yAlign === 'center') { + xAlign = x <= (left + right) / 2 ? 'left' : 'right'; + } else if (x <= width / 2) { + xAlign = 'left'; + } else if (x >= chartWidth - width / 2) { + xAlign = 'right'; + } + if (doesNotFitWithAlign(xAlign, chart, options, size)) { + xAlign = 'center'; + } + return xAlign; +} +function determineAlignment(chart, options, size) { + const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size); + return { + xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign), + yAlign + }; +} +function alignX(size, xAlign) { + let {x, width} = size; + if (xAlign === 'right') { + x -= width; + } else if (xAlign === 'center') { + x -= (width / 2); + } + return x; +} +function alignY(size, yAlign, paddingAndSize) { + let {y, height} = size; + if (yAlign === 'top') { + y += paddingAndSize; + } else if (yAlign === 'bottom') { + y -= height + paddingAndSize; + } else { + y -= (height / 2); + } + return y; +} +function getBackgroundPoint(options, size, alignment, chart) { + const {caretSize, caretPadding, cornerRadius} = options; + const {xAlign, yAlign} = alignment; + const paddingAndSize = caretSize + caretPadding; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + let x = alignX(size, xAlign); + const y = alignY(size, yAlign, paddingAndSize); + if (yAlign === 'center') { + if (xAlign === 'left') { + x += paddingAndSize; + } else if (xAlign === 'right') { + x -= paddingAndSize; + } + } else if (xAlign === 'left') { + x -= Math.max(topLeft, bottomLeft) + caretSize; + } else if (xAlign === 'right') { + x += Math.max(topRight, bottomRight) + caretSize; + } + return { + x: _limitValue(x, 0, chart.width - size.width), + y: _limitValue(y, 0, chart.height - size.height) + }; +} +function getAlignedX(tooltip, align, options) { + const padding = toPadding(options.padding); + return align === 'center' + ? tooltip.x + tooltip.width / 2 + : align === 'right' + ? tooltip.x + tooltip.width - padding.right + : tooltip.x + padding.left; +} +function getBeforeAfterBodyLines(callback) { + return pushOrConcat([], splitNewlines(callback)); +} +function createTooltipContext(parent, tooltip, tooltipItems) { + return createContext(parent, { + tooltip, + tooltipItems, + type: 'tooltip' + }); +} +function overrideCallbacks(callbacks, context) { + const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; + return override ? callbacks.override(override) : callbacks; +} +class Tooltip extends Element { + constructor(config) { + super(); + this.opacity = 0; + this._active = []; + this._eventPosition = undefined; + this._size = undefined; + this._cachedAnimations = undefined; + this._tooltipItems = []; + this.$animations = undefined; + this.$context = undefined; + this.chart = config.chart || config._chart; + this._chart = this.chart; + this.options = config.options; + this.dataPoints = undefined; + this.title = undefined; + this.beforeBody = undefined; + this.body = undefined; + this.afterBody = undefined; + this.footer = undefined; + this.xAlign = undefined; + this.yAlign = undefined; + this.x = undefined; + this.y = undefined; + this.height = undefined; + this.width = undefined; + this.caretX = undefined; + this.caretY = undefined; + this.labelColors = undefined; + this.labelPointStyles = undefined; + this.labelTextColors = undefined; + } + initialize(options) { + this.options = options; + this._cachedAnimations = undefined; + this.$context = undefined; + } + _resolveAnimations() { + const cached = this._cachedAnimations; + if (cached) { + return cached; + } + const chart = this.chart; + const options = this.options.setContext(this.getContext()); + const opts = options.enabled && chart.options.animation && options.animations; + const animations = new Animations(this.chart, opts); + if (opts._cacheable) { + this._cachedAnimations = Object.freeze(animations); + } + return animations; + } + getContext() { + return this.$context || + (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems)); + } + getTitle(context, options) { + const {callbacks} = options; + const beforeTitle = callbacks.beforeTitle.apply(this, [context]); + const title = callbacks.title.apply(this, [context]); + const afterTitle = callbacks.afterTitle.apply(this, [context]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeTitle)); + lines = pushOrConcat(lines, splitNewlines(title)); + lines = pushOrConcat(lines, splitNewlines(afterTitle)); + return lines; + } + getBeforeBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems])); + } + getBody(tooltipItems, options) { + const {callbacks} = options; + const bodyItems = []; + each(tooltipItems, (context) => { + const bodyItem = { + before: [], + lines: [], + after: [] + }; + const scoped = overrideCallbacks(callbacks, context); + pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context))); + pushOrConcat(bodyItem.lines, scoped.label.call(this, context)); + pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context))); + bodyItems.push(bodyItem); + }); + return bodyItems; + } + getAfterBody(tooltipItems, options) { + return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems])); + } + getFooter(tooltipItems, options) { + const {callbacks} = options; + const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]); + const footer = callbacks.footer.apply(this, [tooltipItems]); + const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]); + let lines = []; + lines = pushOrConcat(lines, splitNewlines(beforeFooter)); + lines = pushOrConcat(lines, splitNewlines(footer)); + lines = pushOrConcat(lines, splitNewlines(afterFooter)); + return lines; + } + _createItems(options) { + const active = this._active; + const data = this.chart.data; + const labelColors = []; + const labelPointStyles = []; + const labelTextColors = []; + let tooltipItems = []; + let i, len; + for (i = 0, len = active.length; i < len; ++i) { + tooltipItems.push(createTooltipItem(this.chart, active[i])); + } + if (options.filter) { + tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data)); + } + if (options.itemSort) { + tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data)); + } + each(tooltipItems, (context) => { + const scoped = overrideCallbacks(options.callbacks, context); + labelColors.push(scoped.labelColor.call(this, context)); + labelPointStyles.push(scoped.labelPointStyle.call(this, context)); + labelTextColors.push(scoped.labelTextColor.call(this, context)); + }); + this.labelColors = labelColors; + this.labelPointStyles = labelPointStyles; + this.labelTextColors = labelTextColors; + this.dataPoints = tooltipItems; + return tooltipItems; + } + update(changed, replay) { + const options = this.options.setContext(this.getContext()); + const active = this._active; + let properties; + let tooltipItems = []; + if (!active.length) { + if (this.opacity !== 0) { + properties = { + opacity: 0 + }; + } + } else { + const position = positioners[options.position].call(this, active, this._eventPosition); + tooltipItems = this._createItems(options); + this.title = this.getTitle(tooltipItems, options); + this.beforeBody = this.getBeforeBody(tooltipItems, options); + this.body = this.getBody(tooltipItems, options); + this.afterBody = this.getAfterBody(tooltipItems, options); + this.footer = this.getFooter(tooltipItems, options); + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, size); + const alignment = determineAlignment(this.chart, options, positionAndSize); + const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart); + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + properties = { + opacity: 1, + x: backgroundPoint.x, + y: backgroundPoint.y, + width: size.width, + height: size.height, + caretX: position.x, + caretY: position.y + }; + } + this._tooltipItems = tooltipItems; + this.$context = undefined; + if (properties) { + this._resolveAnimations().update(this, properties); + } + if (changed && options.external) { + options.external.call(this, {chart: this.chart, tooltip: this, replay}); + } + } + drawCaret(tooltipPoint, ctx, size, options) { + const caretPosition = this.getCaretPosition(tooltipPoint, size, options); + ctx.lineTo(caretPosition.x1, caretPosition.y1); + ctx.lineTo(caretPosition.x2, caretPosition.y2); + ctx.lineTo(caretPosition.x3, caretPosition.y3); + } + getCaretPosition(tooltipPoint, size, options) { + const {xAlign, yAlign} = this; + const {caretSize, cornerRadius} = options; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius); + const {x: ptX, y: ptY} = tooltipPoint; + const {width, height} = size; + let x1, x2, x3, y1, y2, y3; + if (yAlign === 'center') { + y2 = ptY + (height / 2); + if (xAlign === 'left') { + x1 = ptX; + x2 = x1 - caretSize; + y1 = y2 + caretSize; + y3 = y2 - caretSize; + } else { + x1 = ptX + width; + x2 = x1 + caretSize; + y1 = y2 - caretSize; + y3 = y2 + caretSize; + } + x3 = x1; + } else { + if (xAlign === 'left') { + x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize); + } else if (xAlign === 'right') { + x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize; + } else { + x2 = this.caretX; + } + if (yAlign === 'top') { + y1 = ptY; + y2 = y1 - caretSize; + x1 = x2 - caretSize; + x3 = x2 + caretSize; + } else { + y1 = ptY + height; + y2 = y1 + caretSize; + x1 = x2 + caretSize; + x3 = x2 - caretSize; + } + y3 = y1; + } + return {x1, x2, x3, y1, y2, y3}; + } + drawTitle(pt, ctx, options) { + const title = this.title; + const length = title.length; + let titleFont, titleSpacing, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.titleAlign, options); + ctx.textAlign = rtlHelper.textAlign(options.titleAlign); + ctx.textBaseline = 'middle'; + titleFont = toFont(options.titleFont); + titleSpacing = options.titleSpacing; + ctx.fillStyle = options.titleColor; + ctx.font = titleFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2); + pt.y += titleFont.lineHeight + titleSpacing; + if (i + 1 === length) { + pt.y += options.titleMarginBottom - titleSpacing; + } + } + } + } + _drawColorBox(ctx, pt, i, rtlHelper, options) { + const labelColors = this.labelColors[i]; + const labelPointStyle = this.labelPointStyles[i]; + const {boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + const colorX = getAlignedX(this, 'left', options); + const rtlColorX = rtlHelper.x(colorX); + const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0; + const colorY = pt.y + yOffSet; + if (options.usePointStyle) { + const drawOptions = { + radius: Math.min(boxWidth, boxHeight) / 2, + pointStyle: labelPointStyle.pointStyle, + rotation: labelPointStyle.rotation, + borderWidth: 1 + }; + const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2; + const centerY = colorY + boxHeight / 2; + ctx.strokeStyle = options.multiKeyBackground; + ctx.fillStyle = options.multiKeyBackground; + drawPoint(ctx, drawOptions, centerX, centerY); + ctx.strokeStyle = labelColors.borderColor; + ctx.fillStyle = labelColors.backgroundColor; + drawPoint(ctx, drawOptions, centerX, centerY); + } else { + ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1); + ctx.strokeStyle = labelColors.borderColor; + ctx.setLineDash(labelColors.borderDash || []); + ctx.lineDashOffset = labelColors.borderDashOffset || 0; + const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding); + const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2); + const borderRadius = toTRBLCorners(labelColors.borderRadius); + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + ctx.fillStyle = options.multiKeyBackground; + addRoundedRectPath(ctx, { + x: outerX, + y: colorY, + w: boxWidth, + h: boxHeight, + radius: borderRadius, + }); + ctx.fill(); + ctx.stroke(); + ctx.fillStyle = labelColors.backgroundColor; + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: innerX, + y: colorY + 1, + w: boxWidth - 2, + h: boxHeight - 2, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillStyle = options.multiKeyBackground; + ctx.fillRect(outerX, colorY, boxWidth, boxHeight); + ctx.strokeRect(outerX, colorY, boxWidth, boxHeight); + ctx.fillStyle = labelColors.backgroundColor; + ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2); + } + } + ctx.fillStyle = this.labelTextColors[i]; + } + drawBody(pt, ctx, options) { + const {body} = this; + const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options; + const bodyFont = toFont(options.bodyFont); + let bodyLineHeight = bodyFont.lineHeight; + let xLinePadding = 0; + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + const fillLineOfText = function(line) { + ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2); + pt.y += bodyLineHeight + bodySpacing; + }; + const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign); + let bodyItem, textColor, lines, i, j, ilen, jlen; + ctx.textAlign = bodyAlign; + ctx.textBaseline = 'middle'; + ctx.font = bodyFont.string; + pt.x = getAlignedX(this, bodyAlignForCalculation, options); + ctx.fillStyle = options.bodyColor; + each(this.beforeBody, fillLineOfText); + xLinePadding = displayColors && bodyAlignForCalculation !== 'right' + ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding) + : 0; + for (i = 0, ilen = body.length; i < ilen; ++i) { + bodyItem = body[i]; + textColor = this.labelTextColors[i]; + ctx.fillStyle = textColor; + each(bodyItem.before, fillLineOfText); + lines = bodyItem.lines; + if (displayColors && lines.length) { + this._drawColorBox(ctx, pt, i, rtlHelper, options); + bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight); + } + for (j = 0, jlen = lines.length; j < jlen; ++j) { + fillLineOfText(lines[j]); + bodyLineHeight = bodyFont.lineHeight; + } + each(bodyItem.after, fillLineOfText); + } + xLinePadding = 0; + bodyLineHeight = bodyFont.lineHeight; + each(this.afterBody, fillLineOfText); + pt.y -= bodySpacing; + } + drawFooter(pt, ctx, options) { + const footer = this.footer; + const length = footer.length; + let footerFont, i; + if (length) { + const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); + pt.x = getAlignedX(this, options.footerAlign, options); + pt.y += options.footerMarginTop; + ctx.textAlign = rtlHelper.textAlign(options.footerAlign); + ctx.textBaseline = 'middle'; + footerFont = toFont(options.footerFont); + ctx.fillStyle = options.footerColor; + ctx.font = footerFont.string; + for (i = 0; i < length; ++i) { + ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2); + pt.y += footerFont.lineHeight + options.footerSpacing; + } + } + } + drawBackground(pt, ctx, tooltipSize, options) { + const {xAlign, yAlign} = this; + const {x, y} = pt; + const {width, height} = tooltipSize; + const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius); + ctx.fillStyle = options.backgroundColor; + ctx.strokeStyle = options.borderColor; + ctx.lineWidth = options.borderWidth; + ctx.beginPath(); + ctx.moveTo(x + topLeft, y); + if (yAlign === 'top') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width - topRight, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + topRight); + if (yAlign === 'center' && xAlign === 'right') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + width, y + height - bottomRight); + ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height); + if (yAlign === 'bottom') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x + bottomLeft, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft); + if (yAlign === 'center' && xAlign === 'left') { + this.drawCaret(pt, ctx, tooltipSize, options); + } + ctx.lineTo(x, y + topLeft); + ctx.quadraticCurveTo(x, y, x + topLeft, y); + ctx.closePath(); + ctx.fill(); + if (options.borderWidth > 0) { + ctx.stroke(); + } + } + _updateAnimationTarget(options) { + const chart = this.chart; + const anims = this.$animations; + const animX = anims && anims.x; + const animY = anims && anims.y; + if (animX || animY) { + const position = positioners[options.position].call(this, this._active, this._eventPosition); + if (!position) { + return; + } + const size = this._size = getTooltipSize(this, options); + const positionAndSize = Object.assign({}, position, this._size); + const alignment = determineAlignment(chart, options, positionAndSize); + const point = getBackgroundPoint(options, positionAndSize, alignment, chart); + if (animX._to !== point.x || animY._to !== point.y) { + this.xAlign = alignment.xAlign; + this.yAlign = alignment.yAlign; + this.width = size.width; + this.height = size.height; + this.caretX = position.x; + this.caretY = position.y; + this._resolveAnimations().update(this, point); + } + } + } + _willRender() { + return !!this.opacity; + } + draw(ctx) { + const options = this.options.setContext(this.getContext()); + let opacity = this.opacity; + if (!opacity) { + return; + } + this._updateAnimationTarget(options); + const tooltipSize = { + width: this.width, + height: this.height + }; + const pt = { + x: this.x, + y: this.y + }; + opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity; + const padding = toPadding(options.padding); + const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length; + if (options.enabled && hasTooltipContent) { + ctx.save(); + ctx.globalAlpha = opacity; + this.drawBackground(pt, ctx, tooltipSize, options); + overrideTextDirection(ctx, options.textDirection); + pt.y += padding.top; + this.drawTitle(pt, ctx, options); + this.drawBody(pt, ctx, options); + this.drawFooter(pt, ctx, options); + restoreTextDirection(ctx, options.textDirection); + ctx.restore(); + } + } + getActiveElements() { + return this._active || []; + } + setActiveElements(activeElements, eventPosition) { + const lastActive = this._active; + const active = activeElements.map(({datasetIndex, index}) => { + const meta = this.chart.getDatasetMeta(datasetIndex); + if (!meta) { + throw new Error('Cannot find a dataset at index ' + datasetIndex); + } + return { + datasetIndex, + element: meta.data[index], + index, + }; + }); + const changed = !_elementsEqual(lastActive, active); + const positionChanged = this._positionChanged(active, eventPosition); + if (changed || positionChanged) { + this._active = active; + this._eventPosition = eventPosition; + this._ignoreReplayEvents = true; + this.update(true); + } + } + handleEvent(e, replay, inChartArea = true) { + if (replay && this._ignoreReplayEvents) { + return false; + } + this._ignoreReplayEvents = false; + const options = this.options; + const lastActive = this._active || []; + const active = this._getActiveElements(e, lastActive, replay, inChartArea); + const positionChanged = this._positionChanged(active, e); + const changed = replay || !_elementsEqual(active, lastActive) || positionChanged; + if (changed) { + this._active = active; + if (options.enabled || options.external) { + this._eventPosition = { + x: e.x, + y: e.y + }; + this.update(true, replay); + } + } + return changed; + } + _getActiveElements(e, lastActive, replay, inChartArea) { + const options = this.options; + if (e.type === 'mouseout') { + return []; + } + if (!inChartArea) { + return lastActive; + } + const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay); + if (options.reverse) { + active.reverse(); + } + return active; + } + _positionChanged(active, e) { + const {caretX, caretY, options} = this; + const position = positioners[options.position].call(this, active, e); + return position !== false && (caretX !== position.x || caretY !== position.y); + } +} +Tooltip.positioners = positioners; +var plugin_tooltip = { + id: 'tooltip', + _element: Tooltip, + positioners, + afterInit(chart, _args, options) { + if (options) { + chart.tooltip = new Tooltip({chart, options}); + } + }, + beforeUpdate(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + reset(chart, _args, options) { + if (chart.tooltip) { + chart.tooltip.initialize(options); + } + }, + afterDraw(chart) { + const tooltip = chart.tooltip; + if (tooltip && tooltip._willRender()) { + const args = { + tooltip + }; + if (chart.notifyPlugins('beforeTooltipDraw', args) === false) { + return; + } + tooltip.draw(chart.ctx); + chart.notifyPlugins('afterTooltipDraw', args); + } + }, + afterEvent(chart, args) { + if (chart.tooltip) { + const useFinalPosition = args.replay; + if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) { + args.changed = true; + } + } + }, + defaults: { + enabled: true, + external: null, + position: 'average', + backgroundColor: 'rgba(0,0,0,0.8)', + titleColor: '#fff', + titleFont: { + weight: 'bold', + }, + titleSpacing: 2, + titleMarginBottom: 6, + titleAlign: 'left', + bodyColor: '#fff', + bodySpacing: 2, + bodyFont: { + }, + bodyAlign: 'left', + footerColor: '#fff', + footerSpacing: 2, + footerMarginTop: 6, + footerFont: { + weight: 'bold', + }, + footerAlign: 'left', + padding: 6, + caretPadding: 2, + caretSize: 5, + cornerRadius: 6, + boxHeight: (ctx, opts) => opts.bodyFont.size, + boxWidth: (ctx, opts) => opts.bodyFont.size, + multiKeyBackground: '#fff', + displayColors: true, + boxPadding: 0, + borderColor: 'rgba(0,0,0,0)', + borderWidth: 0, + animation: { + duration: 400, + easing: 'easeOutQuart', + }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'], + }, + opacity: { + easing: 'linear', + duration: 200 + } + }, + callbacks: { + beforeTitle: noop, + title(tooltipItems) { + if (tooltipItems.length > 0) { + const item = tooltipItems[0]; + const labels = item.chart.data.labels; + const labelCount = labels ? labels.length : 0; + if (this && this.options && this.options.mode === 'dataset') { + return item.dataset.label || ''; + } else if (item.label) { + return item.label; + } else if (labelCount > 0 && item.dataIndex < labelCount) { + return labels[item.dataIndex]; + } + } + return ''; + }, + afterTitle: noop, + beforeBody: noop, + beforeLabel: noop, + label(tooltipItem) { + if (this && this.options && this.options.mode === 'dataset') { + return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue; + } + let label = tooltipItem.dataset.label || ''; + if (label) { + label += ': '; + } + const value = tooltipItem.formattedValue; + if (!isNullOrUndef(value)) { + label += value; + } + return label; + }, + labelColor(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + borderColor: options.borderColor, + backgroundColor: options.backgroundColor, + borderWidth: options.borderWidth, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderRadius: 0, + }; + }, + labelTextColor() { + return this.options.bodyColor; + }, + labelPointStyle(tooltipItem) { + const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); + const options = meta.controller.getStyle(tooltipItem.dataIndex); + return { + pointStyle: options.pointStyle, + rotation: options.rotation, + }; + }, + afterLabel: noop, + afterBody: noop, + beforeFooter: noop, + footer: noop, + afterFooter: noop + } + }, + defaultRoutes: { + bodyFont: 'font', + footerFont: 'font', + titleFont: 'font' + }, + descriptors: { + _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external', + _indexable: false, + callbacks: { + _scriptable: false, + _indexable: false, + }, + animation: { + _fallback: false + }, + animations: { + _fallback: 'animation' + } + }, + additionalOptionScopes: ['interaction'] +}; + +var plugins = /*#__PURE__*/Object.freeze({ +__proto__: null, +Decimation: plugin_decimation, +Filler: index, +Legend: plugin_legend, +SubTitle: plugin_subtitle, +Title: plugin_title, +Tooltip: plugin_tooltip +}); + +const addIfString = (labels, raw, index, addedLabels) => { + if (typeof raw === 'string') { + index = labels.push(raw) - 1; + addedLabels.unshift({index, label: raw}); + } else if (isNaN(raw)) { + index = null; + } + return index; +}; +function findOrAddLabel(labels, raw, index, addedLabels) { + const first = labels.indexOf(raw); + if (first === -1) { + return addIfString(labels, raw, index, addedLabels); + } + const last = labels.lastIndexOf(raw); + return first !== last ? index : first; +} +const validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max); +class CategoryScale extends Scale { + constructor(cfg) { + super(cfg); + this._startValue = undefined; + this._valueRange = 0; + this._addedLabels = []; + } + init(scaleOptions) { + const added = this._addedLabels; + if (added.length) { + const labels = this.getLabels(); + for (const {index, label} of added) { + if (labels[index] === label) { + labels.splice(index, 1); + } + } + this._addedLabels = []; + } + super.init(scaleOptions); + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + const labels = this.getLabels(); + index = isFinite(index) && labels[index] === raw ? index + : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels); + return validIndex(index, labels.length - 1); + } + determineDataLimits() { + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this.getMinMax(true); + if (this.options.bounds === 'ticks') { + if (!minDefined) { + min = 0; + } + if (!maxDefined) { + max = this.getLabels().length - 1; + } + } + this.min = min; + this.max = max; + } + buildTicks() { + const min = this.min; + const max = this.max; + const offset = this.options.offset; + const ticks = []; + let labels = this.getLabels(); + labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1); + this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); + this._startValue = this.min - (offset ? 0.5 : 0); + for (let value = min; value <= max; value++) { + ticks.push({value}); + } + return ticks; + } + getLabelForValue(value) { + const labels = this.getLabels(); + if (value >= 0 && value < labels.length) { + return labels[value]; + } + return value; + } + configure() { + super.configure(); + if (!this.isHorizontal()) { + this._reversePixels = !this._reversePixels; + } + } + getPixelForValue(value) { + if (typeof value !== 'number') { + value = this.parse(value); + } + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getPixelForTick(index) { + const ticks = this.ticks; + if (index < 0 || index > ticks.length - 1) { + return null; + } + return this.getPixelForValue(ticks[index].value); + } + getValueForPixel(pixel) { + return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange); + } + getBasePixel() { + return this.bottom; + } +} +CategoryScale.id = 'category'; +CategoryScale.defaults = { + ticks: { + callback: CategoryScale.prototype.getLabelForValue + } +}; + +function generateTicks$1(generationOptions, dataRange) { + const ticks = []; + const MIN_SPACING = 1e-14; + const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions; + const unit = step || 1; + const maxSpaces = maxTicks - 1; + const {min: rmin, max: rmax} = dataRange; + const minDefined = !isNullOrUndef(min); + const maxDefined = !isNullOrUndef(max); + const countDefined = !isNullOrUndef(count); + const minSpacing = (rmax - rmin) / (maxDigits + 1); + let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; + let factor, niceMin, niceMax, numSpaces; + if (spacing < MIN_SPACING && !minDefined && !maxDefined) { + return [{value: rmin}, {value: rmax}]; + } + numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); + if (numSpaces > maxSpaces) { + spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit; + } + if (!isNullOrUndef(precision)) { + factor = Math.pow(10, precision); + spacing = Math.ceil(spacing * factor) / factor; + } + if (bounds === 'ticks') { + niceMin = Math.floor(rmin / spacing) * spacing; + niceMax = Math.ceil(rmax / spacing) * spacing; + } else { + niceMin = rmin; + niceMax = rmax; + } + if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) { + numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks)); + spacing = (max - min) / numSpaces; + niceMin = min; + niceMax = max; + } else if (countDefined) { + niceMin = minDefined ? min : niceMin; + niceMax = maxDefined ? max : niceMax; + numSpaces = count - 1; + spacing = (niceMax - niceMin) / numSpaces; + } else { + numSpaces = (niceMax - niceMin) / spacing; + if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) { + numSpaces = Math.round(numSpaces); + } else { + numSpaces = Math.ceil(numSpaces); + } + } + const decimalPlaces = Math.max( + _decimalPlaces(spacing), + _decimalPlaces(niceMin) + ); + factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision); + niceMin = Math.round(niceMin * factor) / factor; + niceMax = Math.round(niceMax * factor) / factor; + let j = 0; + if (minDefined) { + if (includeBounds && niceMin !== min) { + ticks.push({value: min}); + if (niceMin < min) { + j++; + } + if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) { + j++; + } + } else if (niceMin < min) { + j++; + } + } + for (; j < numSpaces; ++j) { + ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor}); + } + if (maxDefined && includeBounds && niceMax !== max) { + if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { + ticks[ticks.length - 1].value = max; + } else { + ticks.push({value: max}); + } + } else if (!maxDefined || niceMax === max) { + ticks.push({value: niceMax}); + } + return ticks; +} +function relativeLabelSize(value, minSpacing, {horizontal, minRotation}) { + const rad = toRadians(minRotation); + const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001; + const length = 0.75 * minSpacing * ('' + value).length; + return Math.min(minSpacing / ratio, length); +} +class LinearScaleBase extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._endValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + if (isNullOrUndef(raw)) { + return null; + } + if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) { + return null; + } + return +raw; + } + handleTickRangeOptions() { + const {beginAtZero} = this.options; + const {minDefined, maxDefined} = this.getUserBounds(); + let {min, max} = this; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + if (beginAtZero) { + const minSign = sign(min); + const maxSign = sign(max); + if (minSign < 0 && maxSign < 0) { + setMax(0); + } else if (minSign > 0 && maxSign > 0) { + setMin(0); + } + } + if (min === max) { + let offset = 1; + if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) { + offset = Math.abs(max * 0.05); + } + setMax(max + offset); + if (!beginAtZero) { + setMin(min - offset); + } + } + this.min = min; + this.max = max; + } + getTickLimit() { + const tickOpts = this.options.ticks; + let {maxTicksLimit, stepSize} = tickOpts; + let maxTicks; + if (stepSize) { + maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1; + if (maxTicks > 1000) { + console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`); + maxTicks = 1000; + } + } else { + maxTicks = this.computeTickLimit(); + maxTicksLimit = maxTicksLimit || 11; + } + if (maxTicksLimit) { + maxTicks = Math.min(maxTicksLimit, maxTicks); + } + return maxTicks; + } + computeTickLimit() { + return Number.POSITIVE_INFINITY; + } + buildTicks() { + const opts = this.options; + const tickOpts = opts.ticks; + let maxTicks = this.getTickLimit(); + maxTicks = Math.max(2, maxTicks); + const numericGeneratorOptions = { + maxTicks, + bounds: opts.bounds, + min: opts.min, + max: opts.max, + precision: tickOpts.precision, + step: tickOpts.stepSize, + count: tickOpts.count, + maxDigits: this._maxDigits(), + horizontal: this.isHorizontal(), + minRotation: tickOpts.minRotation || 0, + includeBounds: tickOpts.includeBounds !== false + }; + const dataRange = this._range || this; + const ticks = generateTicks$1(numericGeneratorOptions, dataRange); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + configure() { + const ticks = this.ticks; + let start = this.min; + let end = this.max; + super.configure(); + if (this.options.offset && ticks.length) { + const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2; + start -= offset; + end += offset; + } + this._startValue = start; + this._endValue = end; + this._valueRange = end - start; + } + getLabelForValue(value) { + return formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } +} + +class LinearScale extends LinearScaleBase { + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? min : 0; + this.max = isNumberFinite(max) ? max : 1; + this.handleTickRangeOptions(); + } + computeTickLimit() { + const horizontal = this.isHorizontal(); + const length = horizontal ? this.width : this.height; + const minRotation = toRadians(this.options.ticks.minRotation); + const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001; + const tickFont = this._resolveTickFontOptions(0); + return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio)); + } + getPixelForValue(value) { + return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; + } +} +LinearScale.id = 'linear'; +LinearScale.defaults = { + ticks: { + callback: Ticks.formatters.numeric + } +}; + +function isMajor(tickVal) { + const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal)))); + return remain === 1; +} +function generateTicks(generationOptions, dataRange) { + const endExp = Math.floor(log10(dataRange.max)); + const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp)); + const ticks = []; + let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min)))); + let exp = Math.floor(log10(tickVal)); + let significand = Math.floor(tickVal / Math.pow(10, exp)); + let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; + do { + ticks.push({value: tickVal, major: isMajor(tickVal)}); + ++significand; + if (significand === 10) { + significand = 1; + ++exp; + precision = exp >= 0 ? 1 : precision; + } + tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision; + } while (exp < endExp || (exp === endExp && significand < endSignificand)); + const lastTick = finiteOrDefault(generationOptions.max, tickVal); + ticks.push({value: lastTick, major: isMajor(tickVal)}); + return ticks; +} +class LogarithmicScale extends Scale { + constructor(cfg) { + super(cfg); + this.start = undefined; + this.end = undefined; + this._startValue = undefined; + this._valueRange = 0; + } + parse(raw, index) { + const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]); + if (value === 0) { + this._zero = true; + return undefined; + } + return isNumberFinite(value) && value > 0 ? value : null; + } + determineDataLimits() { + const {min, max} = this.getMinMax(true); + this.min = isNumberFinite(min) ? Math.max(0, min) : null; + this.max = isNumberFinite(max) ? Math.max(0, max) : null; + if (this.options.beginAtZero) { + this._zero = true; + } + this.handleTickRangeOptions(); + } + handleTickRangeOptions() { + const {minDefined, maxDefined} = this.getUserBounds(); + let min = this.min; + let max = this.max; + const setMin = v => (min = minDefined ? min : v); + const setMax = v => (max = maxDefined ? max : v); + const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m); + if (min === max) { + if (min <= 0) { + setMin(1); + setMax(10); + } else { + setMin(exp(min, -1)); + setMax(exp(max, +1)); + } + } + if (min <= 0) { + setMin(exp(max, -1)); + } + if (max <= 0) { + setMax(exp(min, +1)); + } + if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) { + setMin(exp(min, -1)); + } + this.min = min; + this.max = max; + } + buildTicks() { + const opts = this.options; + const generationOptions = { + min: this._userMin, + max: this._userMax + }; + const ticks = generateTicks(generationOptions, this); + if (opts.bounds === 'ticks') { + _setMinAndMaxByKey(ticks, this, 'value'); + } + if (opts.reverse) { + ticks.reverse(); + this.start = this.max; + this.end = this.min; + } else { + this.start = this.min; + this.end = this.max; + } + return ticks; + } + getLabelForValue(value) { + return value === undefined + ? '0' + : formatNumber(value, this.chart.options.locale, this.options.ticks.format); + } + configure() { + const start = this.min; + super.configure(); + this._startValue = log10(start); + this._valueRange = log10(this.max) - log10(start); + } + getPixelForValue(value) { + if (value === undefined || value === 0) { + value = this.min; + } + if (value === null || isNaN(value)) { + return NaN; + } + return this.getPixelForDecimal(value === this.min + ? 0 + : (log10(value) - this._startValue) / this._valueRange); + } + getValueForPixel(pixel) { + const decimal = this.getDecimalForPixel(pixel); + return Math.pow(10, this._startValue + decimal * this._valueRange); + } +} +LogarithmicScale.id = 'logarithmic'; +LogarithmicScale.defaults = { + ticks: { + callback: Ticks.formatters.logarithmic, + major: { + enabled: true + } + } +}; + +function getTickBackdropHeight(opts) { + const tickOpts = opts.ticks; + if (tickOpts.display && opts.display) { + const padding = toPadding(tickOpts.backdropPadding); + return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height; + } + return 0; +} +function measureLabelSize(ctx, font, label) { + label = isArray(label) ? label : [label]; + return { + w: _longestText(ctx, font.string, label), + h: label.length * font.lineHeight + }; +} +function determineLimits(angle, pos, size, min, max) { + if (angle === min || angle === max) { + return { + start: pos - (size / 2), + end: pos + (size / 2) + }; + } else if (angle < min || angle > max) { + return { + start: pos - size, + end: pos + }; + } + return { + start: pos, + end: pos + size + }; +} +function fitWithPointLabels(scale) { + const orig = { + l: scale.left + scale._padding.left, + r: scale.right - scale._padding.right, + t: scale.top + scale._padding.top, + b: scale.bottom - scale._padding.bottom + }; + const limits = Object.assign({}, orig); + const labelSizes = []; + const padding = []; + const valueCount = scale._pointLabels.length; + const pointLabelOpts = scale.options.pointLabels; + const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i)); + padding[i] = opts.padding; + const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle); + const plFont = toFont(opts.font); + const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]); + labelSizes[i] = textSize; + const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle); + const angle = Math.round(toDegrees(angleRadians)); + const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180); + const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270); + updateLimits(limits, orig, angleRadians, hLimits, vLimits); + } + scale.setCenterPoint( + orig.l - limits.l, + limits.r - orig.r, + orig.t - limits.t, + limits.b - orig.b + ); + scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding); +} +function updateLimits(limits, orig, angle, hLimits, vLimits) { + const sin = Math.abs(Math.sin(angle)); + const cos = Math.abs(Math.cos(angle)); + let x = 0; + let y = 0; + if (hLimits.start < orig.l) { + x = (orig.l - hLimits.start) / sin; + limits.l = Math.min(limits.l, orig.l - x); + } else if (hLimits.end > orig.r) { + x = (hLimits.end - orig.r) / sin; + limits.r = Math.max(limits.r, orig.r + x); + } + if (vLimits.start < orig.t) { + y = (orig.t - vLimits.start) / cos; + limits.t = Math.min(limits.t, orig.t - y); + } else if (vLimits.end > orig.b) { + y = (vLimits.end - orig.b) / cos; + limits.b = Math.max(limits.b, orig.b + y); + } +} +function buildPointLabelItems(scale, labelSizes, padding) { + const items = []; + const valueCount = scale._pointLabels.length; + const opts = scale.options; + const extra = getTickBackdropHeight(opts) / 2; + const outerDistance = scale.drawingArea; + const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0; + for (let i = 0; i < valueCount; i++) { + const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle); + const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI))); + const size = labelSizes[i]; + const y = yForAngle(pointLabelPosition.y, size.h, angle); + const textAlign = getTextAlignForAngle(angle); + const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign); + items.push({ + x: pointLabelPosition.x, + y, + textAlign, + left, + top: y, + right: left + size.w, + bottom: y + size.h + }); + } + return items; +} +function getTextAlignForAngle(angle) { + if (angle === 0 || angle === 180) { + return 'center'; + } else if (angle < 180) { + return 'left'; + } + return 'right'; +} +function leftForTextAlign(x, w, align) { + if (align === 'right') { + x -= w; + } else if (align === 'center') { + x -= (w / 2); + } + return x; +} +function yForAngle(y, h, angle) { + if (angle === 90 || angle === 270) { + y -= (h / 2); + } else if (angle > 270 || angle < 90) { + y -= h; + } + return y; +} +function drawPointLabels(scale, labelCount) { + const {ctx, options: {pointLabels}} = scale; + for (let i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i)); + const plFont = toFont(optsAtIndex.font); + const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i]; + const {backdropColor} = optsAtIndex; + if (!isNullOrUndef(backdropColor)) { + const borderRadius = toTRBLCorners(optsAtIndex.borderRadius); + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillStyle = backdropColor; + const backdropLeft = left - padding.left; + const backdropTop = top - padding.top; + const backdropWidth = right - left + padding.width; + const backdropHeight = bottom - top + padding.height; + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: backdropLeft, + y: backdropTop, + w: backdropWidth, + h: backdropHeight, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); + } + } + renderText( + ctx, + scale._pointLabels[i], + x, + y + (plFont.lineHeight / 2), + plFont, + { + color: optsAtIndex.color, + textAlign: textAlign, + textBaseline: 'middle' + } + ); + } +} +function pathRadiusLine(scale, radius, circular, labelCount) { + const {ctx} = scale; + if (circular) { + ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); + } else { + let pointPosition = scale.getPointPosition(0, radius); + ctx.moveTo(pointPosition.x, pointPosition.y); + for (let i = 1; i < labelCount; i++) { + pointPosition = scale.getPointPosition(i, radius); + ctx.lineTo(pointPosition.x, pointPosition.y); + } + } +} +function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { + const ctx = scale.ctx; + const circular = gridLineOpts.circular; + const {color, lineWidth} = gridLineOpts; + if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) { + return; + } + ctx.save(); + ctx.strokeStyle = color; + ctx.lineWidth = lineWidth; + ctx.setLineDash(gridLineOpts.borderDash); + ctx.lineDashOffset = gridLineOpts.borderDashOffset; + ctx.beginPath(); + pathRadiusLine(scale, radius, circular, labelCount); + ctx.closePath(); + ctx.stroke(); + ctx.restore(); +} +function createPointLabelContext(parent, index, label) { + return createContext(parent, { + label, + index, + type: 'pointLabel' + }); +} +class RadialLinearScale extends LinearScaleBase { + constructor(cfg) { + super(cfg); + this.xCenter = undefined; + this.yCenter = undefined; + this.drawingArea = undefined; + this._pointLabels = []; + this._pointLabelItems = []; + } + setDimensions() { + const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2); + const w = this.width = this.maxWidth - padding.width; + const h = this.height = this.maxHeight - padding.height; + this.xCenter = Math.floor(this.left + w / 2 + padding.left); + this.yCenter = Math.floor(this.top + h / 2 + padding.top); + this.drawingArea = Math.floor(Math.min(w, h) / 2); + } + determineDataLimits() { + const {min, max} = this.getMinMax(false); + this.min = isNumberFinite(min) && !isNaN(min) ? min : 0; + this.max = isNumberFinite(max) && !isNaN(max) ? max : 0; + this.handleTickRangeOptions(); + } + computeTickLimit() { + return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options)); + } + generateTickLabels(ticks) { + LinearScaleBase.prototype.generateTickLabels.call(this, ticks); + this._pointLabels = this.getLabels() + .map((value, index) => { + const label = callback(this.options.pointLabels.callback, [value, index], this); + return label || label === 0 ? label : ''; + }) + .filter((v, i) => this.chart.getDataVisibility(i)); + } + fit() { + const opts = this.options; + if (opts.display && opts.pointLabels.display) { + fitWithPointLabels(this); + } else { + this.setCenterPoint(0, 0, 0, 0); + } + } + setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) { + this.xCenter += Math.floor((leftMovement - rightMovement) / 2); + this.yCenter += Math.floor((topMovement - bottomMovement) / 2); + this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement)); + } + getIndexAngle(index) { + const angleMultiplier = TAU / (this._pointLabels.length || 1); + const startAngle = this.options.startAngle || 0; + return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); + } + getDistanceFromCenterForValue(value) { + if (isNullOrUndef(value)) { + return NaN; + } + const scalingFactor = this.drawingArea / (this.max - this.min); + if (this.options.reverse) { + return (this.max - value) * scalingFactor; + } + return (value - this.min) * scalingFactor; + } + getValueForDistanceFromCenter(distance) { + if (isNullOrUndef(distance)) { + return NaN; + } + const scaledDistance = distance / (this.drawingArea / (this.max - this.min)); + return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance; + } + getPointLabelContext(index) { + const pointLabels = this._pointLabels || []; + if (index >= 0 && index < pointLabels.length) { + const pointLabel = pointLabels[index]; + return createPointLabelContext(this.getContext(), index, pointLabel); + } + } + getPointPosition(index, distanceFromCenter, additionalAngle = 0) { + const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle; + return { + x: Math.cos(angle) * distanceFromCenter + this.xCenter, + y: Math.sin(angle) * distanceFromCenter + this.yCenter, + angle + }; + } + getPointPositionForValue(index, value) { + return this.getPointPosition(index, this.getDistanceFromCenterForValue(value)); + } + getBasePosition(index) { + return this.getPointPositionForValue(index || 0, this.getBaseValue()); + } + getPointLabelPosition(index) { + const {left, top, right, bottom} = this._pointLabelItems[index]; + return { + left, + top, + right, + bottom, + }; + } + drawBackground() { + const {backgroundColor, grid: {circular}} = this.options; + if (backgroundColor) { + const ctx = this.ctx; + ctx.save(); + ctx.beginPath(); + pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length); + ctx.closePath(); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + } + drawGrid() { + const ctx = this.ctx; + const opts = this.options; + const {angleLines, grid} = opts; + const labelCount = this._pointLabels.length; + let i, offset, position; + if (opts.pointLabels.display) { + drawPointLabels(this, labelCount); + } + if (grid.display) { + this.ticks.forEach((tick, index) => { + if (index !== 0) { + offset = this.getDistanceFromCenterForValue(tick.value); + const optsAtIndex = grid.setContext(this.getContext(index - 1)); + drawRadiusLine(this, optsAtIndex, offset, labelCount); + } + }); + } + if (angleLines.display) { + ctx.save(); + for (i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i)); + const {color, lineWidth} = optsAtIndex; + if (!lineWidth || !color) { + continue; + } + ctx.lineWidth = lineWidth; + ctx.strokeStyle = color; + ctx.setLineDash(optsAtIndex.borderDash); + ctx.lineDashOffset = optsAtIndex.borderDashOffset; + offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max); + position = this.getPointPosition(i, offset); + ctx.beginPath(); + ctx.moveTo(this.xCenter, this.yCenter); + ctx.lineTo(position.x, position.y); + ctx.stroke(); + } + ctx.restore(); + } + } + drawBorder() {} + drawLabels() { + const ctx = this.ctx; + const opts = this.options; + const tickOpts = opts.ticks; + if (!tickOpts.display) { + return; + } + const startAngle = this.getIndexAngle(0); + let offset, width; + ctx.save(); + ctx.translate(this.xCenter, this.yCenter); + ctx.rotate(startAngle); + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + this.ticks.forEach((tick, index) => { + if (index === 0 && !opts.reverse) { + return; + } + const optsAtIndex = tickOpts.setContext(this.getContext(index)); + const tickFont = toFont(optsAtIndex.font); + offset = this.getDistanceFromCenterForValue(this.ticks[index].value); + if (optsAtIndex.showLabelBackdrop) { + ctx.font = tickFont.string; + width = ctx.measureText(tick.label).width; + ctx.fillStyle = optsAtIndex.backdropColor; + const padding = toPadding(optsAtIndex.backdropPadding); + ctx.fillRect( + -width / 2 - padding.left, + -offset - tickFont.size / 2 - padding.top, + width + padding.width, + tickFont.size + padding.height + ); + } + renderText(ctx, tick.label, 0, -offset, tickFont, { + color: optsAtIndex.color, + }); + }); + ctx.restore(); + } + drawTitle() {} +} +RadialLinearScale.id = 'radialLinear'; +RadialLinearScale.defaults = { + display: true, + animate: true, + position: 'chartArea', + angleLines: { + display: true, + lineWidth: 1, + borderDash: [], + borderDashOffset: 0.0 + }, + grid: { + circular: false + }, + startAngle: 0, + ticks: { + showLabelBackdrop: true, + callback: Ticks.formatters.numeric + }, + pointLabels: { + backdropColor: undefined, + backdropPadding: 2, + display: true, + font: { + size: 10 + }, + callback(label) { + return label; + }, + padding: 5, + centerPointLabels: false + } +}; +RadialLinearScale.defaultRoutes = { + 'angleLines.color': 'borderColor', + 'pointLabels.color': 'color', + 'ticks.color': 'color' +}; +RadialLinearScale.descriptors = { + angleLines: { + _fallback: 'grid' + } +}; + +const INTERVALS = { + millisecond: {common: true, size: 1, steps: 1000}, + second: {common: true, size: 1000, steps: 60}, + minute: {common: true, size: 60000, steps: 60}, + hour: {common: true, size: 3600000, steps: 24}, + day: {common: true, size: 86400000, steps: 30}, + week: {common: false, size: 604800000, steps: 4}, + month: {common: true, size: 2.628e9, steps: 12}, + quarter: {common: false, size: 7.884e9, steps: 4}, + year: {common: true, size: 3.154e10} +}; +const UNITS = (Object.keys(INTERVALS)); +function sorter(a, b) { + return a - b; +} +function parse(scale, input) { + if (isNullOrUndef(input)) { + return null; + } + const adapter = scale._adapter; + const {parser, round, isoWeekday} = scale._parseOpts; + let value = input; + if (typeof parser === 'function') { + value = parser(value); + } + if (!isNumberFinite(value)) { + value = typeof parser === 'string' + ? adapter.parse(value, parser) + : adapter.parse(value); + } + if (value === null) { + return null; + } + if (round) { + value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) + ? adapter.startOf(value, 'isoWeek', isoWeekday) + : adapter.startOf(value, round); + } + return +value; +} +function determineUnitForAutoTicks(minUnit, min, max, capacity) { + const ilen = UNITS.length; + for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) { + const interval = INTERVALS[UNITS[i]]; + const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER; + if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) { + return UNITS[i]; + } + } + return UNITS[ilen - 1]; +} +function determineUnitForFormatting(scale, numTicks, minUnit, min, max) { + for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) { + const unit = UNITS[i]; + if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) { + return unit; + } + } + return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0]; +} +function determineMajorUnit(unit) { + for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) { + if (INTERVALS[UNITS[i]].common) { + return UNITS[i]; + } + } +} +function addTick(ticks, time, timestamps) { + if (!timestamps) { + ticks[time] = true; + } else if (timestamps.length) { + const {lo, hi} = _lookup(timestamps, time); + const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi]; + ticks[timestamp] = true; + } +} +function setMajorTicks(scale, ticks, map, majorUnit) { + const adapter = scale._adapter; + const first = +adapter.startOf(ticks[0].value, majorUnit); + const last = ticks[ticks.length - 1].value; + let major, index; + for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) { + index = map[major]; + if (index >= 0) { + ticks[index].major = true; + } + } + return ticks; +} +function ticksFromTimestamps(scale, values, majorUnit) { + const ticks = []; + const map = {}; + const ilen = values.length; + let i, value; + for (i = 0; i < ilen; ++i) { + value = values[i]; + map[value] = i; + ticks.push({ + value, + major: false + }); + } + return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit); +} +class TimeScale extends Scale { + constructor(props) { + super(props); + this._cache = { + data: [], + labels: [], + all: [] + }; + this._unit = 'day'; + this._majorUnit = undefined; + this._offsets = {}; + this._normalized = false; + this._parseOpts = undefined; + } + init(scaleOpts, opts) { + const time = scaleOpts.time || (scaleOpts.time = {}); + const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date); + adapter.init(opts); + mergeIf(time.displayFormats, adapter.formats()); + this._parseOpts = { + parser: time.parser, + round: time.round, + isoWeekday: time.isoWeekday + }; + super.init(scaleOpts); + this._normalized = opts.normalized; + } + parse(raw, index) { + if (raw === undefined) { + return null; + } + return parse(this, raw); + } + beforeLayout() { + super.beforeLayout(); + this._cache = { + data: [], + labels: [], + all: [] + }; + } + determineDataLimits() { + const options = this.options; + const adapter = this._adapter; + const unit = options.time.unit || 'day'; + let {min, max, minDefined, maxDefined} = this.getUserBounds(); + function _applyBounds(bounds) { + if (!minDefined && !isNaN(bounds.min)) { + min = Math.min(min, bounds.min); + } + if (!maxDefined && !isNaN(bounds.max)) { + max = Math.max(max, bounds.max); + } + } + if (!minDefined || !maxDefined) { + _applyBounds(this._getLabelBounds()); + if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') { + _applyBounds(this.getMinMax(false)); + } + } + min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit); + max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1; + this.min = Math.min(min, max - 1); + this.max = Math.max(min + 1, max); + } + _getLabelBounds() { + const arr = this.getLabelTimestamps(); + let min = Number.POSITIVE_INFINITY; + let max = Number.NEGATIVE_INFINITY; + if (arr.length) { + min = arr[0]; + max = arr[arr.length - 1]; + } + return {min, max}; + } + buildTicks() { + const options = this.options; + const timeOpts = options.time; + const tickOpts = options.ticks; + const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate(); + if (options.bounds === 'ticks' && timestamps.length) { + this.min = this._userMin || timestamps[0]; + this.max = this._userMax || timestamps[timestamps.length - 1]; + } + const min = this.min; + const max = this.max; + const ticks = _filterBetween(timestamps, min, max); + this._unit = timeOpts.unit || (tickOpts.autoSkip + ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) + : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max)); + this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined + : determineMajorUnit(this._unit); + this.initOffsets(timestamps); + if (options.reverse) { + ticks.reverse(); + } + return ticksFromTimestamps(this, ticks, this._majorUnit); + } + afterAutoSkip() { + if (this.options.offsetAfterAutoskip) { + this.initOffsets(this.ticks.map(tick => +tick.value)); + } + } + initOffsets(timestamps) { + let start = 0; + let end = 0; + let first, last; + if (this.options.offset && timestamps.length) { + first = this.getDecimalForValue(timestamps[0]); + if (timestamps.length === 1) { + start = 1 - first; + } else { + start = (this.getDecimalForValue(timestamps[1]) - first) / 2; + } + last = this.getDecimalForValue(timestamps[timestamps.length - 1]); + if (timestamps.length === 1) { + end = last; + } else { + end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2; + } + } + const limit = timestamps.length < 3 ? 0.5 : 0.25; + start = _limitValue(start, 0, limit); + end = _limitValue(end, 0, limit); + this._offsets = {start, end, factor: 1 / (start + 1 + end)}; + } + _generate() { + const adapter = this._adapter; + const min = this.min; + const max = this.max; + const options = this.options; + const timeOpts = options.time; + const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); + const stepSize = valueOrDefault(timeOpts.stepSize, 1); + const weekday = minor === 'week' ? timeOpts.isoWeekday : false; + const hasWeekday = isNumber(weekday) || weekday === true; + const ticks = {}; + let first = min; + let time, count; + if (hasWeekday) { + first = +adapter.startOf(first, 'isoWeek', weekday); + } + first = +adapter.startOf(first, hasWeekday ? 'day' : minor); + if (adapter.diff(max, min, minor) > 100000 * stepSize) { + throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor); + } + const timestamps = options.ticks.source === 'data' && this.getDataTimestamps(); + for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) { + addTick(ticks, time, timestamps); + } + if (time === max || options.bounds === 'ticks' || count === 1) { + addTick(ticks, time, timestamps); + } + return Object.keys(ticks).sort((a, b) => a - b).map(x => +x); + } + getLabelForValue(value) { + const adapter = this._adapter; + const timeOpts = this.options.time; + if (timeOpts.tooltipFormat) { + return adapter.format(value, timeOpts.tooltipFormat); + } + return adapter.format(value, timeOpts.displayFormats.datetime); + } + _tickFormatFunction(time, index, ticks, format) { + const options = this.options; + const formats = options.time.displayFormats; + const unit = this._unit; + const majorUnit = this._majorUnit; + const minorFormat = unit && formats[unit]; + const majorFormat = majorUnit && formats[majorUnit]; + const tick = ticks[index]; + const major = majorUnit && majorFormat && tick && tick.major; + const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat)); + const formatter = options.ticks.callback; + return formatter ? callback(formatter, [label, index, ticks], this) : label; + } + generateTickLabels(ticks) { + let i, ilen, tick; + for (i = 0, ilen = ticks.length; i < ilen; ++i) { + tick = ticks[i]; + tick.label = this._tickFormatFunction(tick.value, i, ticks); + } + } + getDecimalForValue(value) { + return value === null ? NaN : (value - this.min) / (this.max - this.min); + } + getPixelForValue(value) { + const offsets = this._offsets; + const pos = this.getDecimalForValue(value); + return this.getPixelForDecimal((offsets.start + pos) * offsets.factor); + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return this.min + pos * (this.max - this.min); + } + _getLabelSize(label) { + const ticksOpts = this.options.ticks; + const tickLabelWidth = this.ctx.measureText(label).width; + const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation); + const cosRotation = Math.cos(angle); + const sinRotation = Math.sin(angle); + const tickFontSize = this._resolveTickFontOptions(0).size; + return { + w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation), + h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation) + }; + } + _getLabelCapacity(exampleTime) { + const timeOpts = this.options.time; + const displayFormats = timeOpts.displayFormats; + const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; + const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format); + const size = this._getLabelSize(exampleLabel); + const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; + return capacity > 0 ? capacity : 1; + } + getDataTimestamps() { + let timestamps = this._cache.data || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const metas = this.getMatchingVisibleMetas(); + if (this._normalized && metas.length) { + return (this._cache.data = metas[0].controller.getAllParsedValues(this)); + } + for (i = 0, ilen = metas.length; i < ilen; ++i) { + timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this)); + } + return (this._cache.data = this.normalize(timestamps)); + } + getLabelTimestamps() { + const timestamps = this._cache.labels || []; + let i, ilen; + if (timestamps.length) { + return timestamps; + } + const labels = this.getLabels(); + for (i = 0, ilen = labels.length; i < ilen; ++i) { + timestamps.push(parse(this, labels[i])); + } + return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps)); + } + normalize(values) { + return _arrayUnique(values.sort(sorter)); + } +} +TimeScale.id = 'time'; +TimeScale.defaults = { + bounds: 'data', + adapters: {}, + time: { + parser: false, + unit: false, + round: false, + isoWeekday: false, + minUnit: 'millisecond', + displayFormats: {} + }, + ticks: { + source: 'auto', + major: { + enabled: false + } + } +}; + +function interpolate(table, val, reverse) { + let lo = 0; + let hi = table.length - 1; + let prevSource, nextSource, prevTarget, nextTarget; + if (reverse) { + if (val >= table[lo].pos && val <= table[hi].pos) { + ({lo, hi} = _lookupByKey(table, 'pos', val)); + } + ({pos: prevSource, time: prevTarget} = table[lo]); + ({pos: nextSource, time: nextTarget} = table[hi]); + } else { + if (val >= table[lo].time && val <= table[hi].time) { + ({lo, hi} = _lookupByKey(table, 'time', val)); + } + ({time: prevSource, pos: prevTarget} = table[lo]); + ({time: nextSource, pos: nextTarget} = table[hi]); + } + const span = nextSource - prevSource; + return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget; +} +class TimeSeriesScale extends TimeScale { + constructor(props) { + super(props); + this._table = []; + this._minPos = undefined; + this._tableRange = undefined; + } + initOffsets() { + const timestamps = this._getTimestampsForTable(); + const table = this._table = this.buildLookupTable(timestamps); + this._minPos = interpolate(table, this.min); + this._tableRange = interpolate(table, this.max) - this._minPos; + super.initOffsets(timestamps); + } + buildLookupTable(timestamps) { + const {min, max} = this; + const items = []; + const table = []; + let i, ilen, prev, curr, next; + for (i = 0, ilen = timestamps.length; i < ilen; ++i) { + curr = timestamps[i]; + if (curr >= min && curr <= max) { + items.push(curr); + } + } + if (items.length < 2) { + return [ + {time: min, pos: 0}, + {time: max, pos: 1} + ]; + } + for (i = 0, ilen = items.length; i < ilen; ++i) { + next = items[i + 1]; + prev = items[i - 1]; + curr = items[i]; + if (Math.round((next + prev) / 2) !== curr) { + table.push({time: curr, pos: i / (ilen - 1)}); + } + } + return table; + } + _getTimestampsForTable() { + let timestamps = this._cache.all || []; + if (timestamps.length) { + return timestamps; + } + const data = this.getDataTimestamps(); + const label = this.getLabelTimestamps(); + if (data.length && label.length) { + timestamps = this.normalize(data.concat(label)); + } else { + timestamps = data.length ? data : label; + } + timestamps = this._cache.all = timestamps; + return timestamps; + } + getDecimalForValue(value) { + return (interpolate(this._table, value) - this._minPos) / this._tableRange; + } + getValueForPixel(pixel) { + const offsets = this._offsets; + const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; + return interpolate(this._table, decimal * this._tableRange + this._minPos, true); + } +} +TimeSeriesScale.id = 'timeseries'; +TimeSeriesScale.defaults = TimeScale.defaults; + +var scales = /*#__PURE__*/Object.freeze({ +__proto__: null, +CategoryScale: CategoryScale, +LinearScale: LinearScale, +LogarithmicScale: LogarithmicScale, +RadialLinearScale: RadialLinearScale, +TimeScale: TimeScale, +TimeSeriesScale: TimeSeriesScale +}); + +const registerables = [ + controllers, + elements, + plugins, + scales, +]; + +export { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales }; diff --git a/scriptApl/chart.js/dist/chunks/helpers.segment.js b/scriptApl/chart.js/dist/chunks/helpers.segment.js new file mode 100644 index 00000000..5cffd79e --- /dev/null +++ b/scriptApl/chart.js/dist/chunks/helpers.segment.js @@ -0,0 +1,2619 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +function noop() {} +const uid = (function() { + let id = 0; + return function() { + return id++; + }; +}()); +function isNullOrUndef(value) { + return value === null || typeof value === 'undefined'; +} +function isArray(value) { + if (Array.isArray && Array.isArray(value)) { + return true; + } + const type = Object.prototype.toString.call(value); + if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') { + return true; + } + return false; +} +function isObject(value) { + return value !== null && Object.prototype.toString.call(value) === '[object Object]'; +} +const isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value); +function finiteOrDefault(value, defaultValue) { + return isNumberFinite(value) ? value : defaultValue; +} +function valueOrDefault(value, defaultValue) { + return typeof value === 'undefined' ? defaultValue : value; +} +const toPercentage = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 + : value / dimension; +const toDimension = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 * dimension + : +value; +function callback(fn, args, thisArg) { + if (fn && typeof fn.call === 'function') { + return fn.apply(thisArg, args); + } +} +function each(loopable, fn, thisArg, reverse) { + let i, len, keys; + if (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 (isObject(loopable)) { + keys = Object.keys(loopable); + len = keys.length; + for (i = 0; i < len; i++) { + fn.call(thisArg, loopable[keys[i]], keys[i]); + } + } +} +function _elementsEqual(a0, a1) { + let 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.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) { + return false; + } + } + return true; +} +function clone$1(source) { + if (isArray(source)) { + return source.map(clone$1); + } + if (isObject(source)) { + const target = Object.create(null); + const keys = Object.keys(source); + const klen = keys.length; + let k = 0; + for (; k < klen; ++k) { + target[keys[k]] = clone$1(source[keys[k]]); + } + return target; + } + return source; +} +function isValidKey(key) { + return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1; +} +function _merger(key, target, source, options) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + merge(tval, sval, options); + } else { + target[key] = clone$1(sval); + } +} +function merge(target, source, options) { + const sources = isArray(source) ? source : [source]; + const ilen = sources.length; + if (!isObject(target)) { + return target; + } + options = options || {}; + const merger = options.merger || _merger; + for (let i = 0; i < ilen; ++i) { + source = sources[i]; + if (!isObject(source)) { + continue; + } + const keys = Object.keys(source); + for (let k = 0, klen = keys.length; k < klen; ++k) { + merger(keys[k], target, source, options); + } + } + return target; +} +function mergeIf(target, source) { + return merge(target, source, {merger: _mergerIf}); +} +function _mergerIf(key, target, source) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + mergeIf(tval, sval); + } else if (!Object.prototype.hasOwnProperty.call(target, key)) { + target[key] = clone$1(sval); + } +} +function _deprecated(scope, value, previous, current) { + if (value !== undefined) { + console.warn(scope + ': "' + previous + + '" is deprecated. Please use "' + current + '" instead'); + } +} +const keyResolvers = { + '': v => v, + x: o => o.x, + y: o => o.y +}; +function resolveObjectKey(obj, key) { + const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); + return resolver(obj); +} +function _getKeyResolver(key) { + const keys = _splitKey(key); + return obj => { + for (const k of keys) { + if (k === '') { + break; + } + obj = obj && obj[k]; + } + return obj; + }; +} +function _splitKey(key) { + const parts = key.split('.'); + const keys = []; + let tmp = ''; + for (const part of parts) { + tmp += part; + if (tmp.endsWith('\\')) { + tmp = tmp.slice(0, -1) + '.'; + } else { + keys.push(tmp); + tmp = ''; + } + } + return keys; +} +function _capitalize(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} +const defined = (value) => typeof value !== 'undefined'; +const isFunction = (value) => typeof value === 'function'; +const setsEqual = (a, b) => { + if (a.size !== b.size) { + return false; + } + for (const item of a) { + if (!b.has(item)) { + return false; + } + } + return true; +}; +function _isClickEvent(e) { + return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu'; +} + +const PI = Math.PI; +const TAU = 2 * PI; +const PITAU = TAU + PI; +const INFINITY = Number.POSITIVE_INFINITY; +const RAD_PER_DEG = PI / 180; +const HALF_PI = PI / 2; +const QUARTER_PI = PI / 4; +const TWO_THIRDS_PI = PI * 2 / 3; +const log10 = Math.log10; +const sign = Math.sign; +function niceNum(range) { + const roundedRange = Math.round(range); + range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range; + const niceRange = Math.pow(10, Math.floor(log10(range))); + const fraction = range / niceRange; + const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10; + return niceFraction * niceRange; +} +function _factorize(value) { + const result = []; + const sqrt = Math.sqrt(value); + let i; + for (i = 1; i < sqrt; i++) { + if (value % i === 0) { + result.push(i); + result.push(value / i); + } + } + if (sqrt === (sqrt | 0)) { + result.push(sqrt); + } + result.sort((a, b) => a - b).pop(); + return result; +} +function isNumber(n) { + return !isNaN(parseFloat(n)) && isFinite(n); +} +function almostEquals(x, y, epsilon) { + return Math.abs(x - y) < epsilon; +} +function almostWhole(x, epsilon) { + const rounded = Math.round(x); + return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x); +} +function _setMinAndMaxByKey(array, target, property) { + let i, ilen, value; + for (i = 0, ilen = array.length; i < ilen; i++) { + value = array[i][property]; + if (!isNaN(value)) { + target.min = Math.min(target.min, value); + target.max = Math.max(target.max, value); + } + } +} +function toRadians(degrees) { + return degrees * (PI / 180); +} +function toDegrees(radians) { + return radians * (180 / PI); +} +function _decimalPlaces(x) { + if (!isNumberFinite(x)) { + return; + } + let e = 1; + let p = 0; + while (Math.round(x * e) / e !== x) { + e *= 10; + p++; + } + return p; +} +function getAngleFromPoint(centrePoint, anglePoint) { + const distanceFromXCenter = anglePoint.x - centrePoint.x; + const distanceFromYCenter = anglePoint.y - centrePoint.y; + const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter); + let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter); + if (angle < (-0.5 * PI)) { + angle += TAU; + } + return { + angle, + distance: radialDistanceFromCenter + }; +} +function distanceBetweenPoints(pt1, pt2) { + return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); +} +function _angleDiff(a, b) { + return (a - b + PITAU) % TAU - PI; +} +function _normalizeAngle(a) { + return (a % TAU + TAU) % TAU; +} +function _angleBetween(angle, start, end, sameAngleIsFullCircle) { + const a = _normalizeAngle(angle); + const s = _normalizeAngle(start); + const e = _normalizeAngle(end); + const angleToStart = _normalizeAngle(s - a); + const angleToEnd = _normalizeAngle(e - a); + const startToAngle = _normalizeAngle(a - s); + const endToAngle = _normalizeAngle(a - e); + return a === s || a === e || (sameAngleIsFullCircle && s === e) + || (angleToStart > angleToEnd && startToAngle < endToAngle); +} +function _limitValue(value, min, max) { + return Math.max(min, Math.min(max, value)); +} +function _int16Range(value) { + return _limitValue(value, -32768, 32767); +} +function _isBetween(value, start, end, epsilon = 1e-6) { + return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; +} + +function _lookup(table, value, cmp) { + cmp = cmp || ((index) => table[index] < value); + let hi = table.length - 1; + let lo = 0; + let mid; + while (hi - lo > 1) { + mid = (lo + hi) >> 1; + if (cmp(mid)) { + lo = mid; + } else { + hi = mid; + } + } + return {lo, hi}; +} +const _lookupByKey = (table, key, value, last) => + _lookup(table, value, last + ? index => table[index][key] <= value + : index => table[index][key] < value); +const _rlookupByKey = (table, key, value) => + _lookup(table, value, index => table[index][key] >= value); +function _filterBetween(values, min, max) { + let start = 0; + let end = values.length; + while (start < end && values[start] < min) { + start++; + } + while (end > start && values[end - 1] > max) { + end--; + } + return start > 0 || end < values.length + ? values.slice(start, end) + : values; +} +const arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; +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((key) => { + const method = '_onData' + _capitalize(key); + const base = array[key]; + Object.defineProperty(array, key, { + configurable: true, + enumerable: false, + value(...args) { + const res = base.apply(this, args); + array._chartjs.listeners.forEach((object) => { + if (typeof object[method] === 'function') { + object[method](...args); + } + }); + return res; + } + }); + }); +} +function unlistenArrayEvents(array, listener) { + const stub = array._chartjs; + if (!stub) { + return; + } + const listeners = stub.listeners; + const index = listeners.indexOf(listener); + if (index !== -1) { + listeners.splice(index, 1); + } + if (listeners.length > 0) { + return; + } + arrayEvents.forEach((key) => { + delete array[key]; + }); + delete array._chartjs; +} +function _arrayUnique(items) { + const set = new Set(); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + set.add(items[i]); + } + if (set.size === ilen) { + return items; + } + return Array.from(set); +} + +function fontString(pixelSize, fontStyle, fontFamily) { + return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; +} +const requestAnimFrame = (function() { + if (typeof window === 'undefined') { + return function(callback) { + return callback(); + }; + } + return window.requestAnimationFrame; +}()); +function throttled(fn, thisArg, updateFn) { + const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args)); + let ticking = false; + let args = []; + return function(...rest) { + args = updateArgs(rest); + if (!ticking) { + ticking = true; + requestAnimFrame.call(window, () => { + ticking = false; + fn.apply(thisArg, args); + }); + } + }; +} +function debounce(fn, delay) { + let timeout; + return function(...args) { + if (delay) { + clearTimeout(timeout); + timeout = setTimeout(fn, delay, args); + } else { + fn.apply(this, args); + } + return delay; + }; +} +const _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center'; +const _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2; +const _textX = (align, left, right, rtl) => { + const check = rtl ? 'left' : 'right'; + return align === check ? right : align === 'center' ? (left + right) / 2 : left; +}; +function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { + const pointCount = points.length; + let start = 0; + let count = pointCount; + if (meta._sorted) { + const {iScale, _parsed} = meta; + const axis = iScale.axis; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(Math.min( + _lookupByKey(_parsed, iScale.axis, min).lo, + animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), + 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(Math.max( + _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, + animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), + start, pointCount) - start; + } else { + count = pointCount - start; + } + } + return {start, count}; +} +function _scaleRangesChanged(meta) { + const {xScale, yScale, _scaleRanges} = meta; + const newRanges = { + xmin: xScale.min, + xmax: xScale.max, + ymin: yScale.min, + ymax: yScale.max + }; + if (!_scaleRanges) { + meta._scaleRanges = newRanges; + return true; + } + const changed = _scaleRanges.xmin !== xScale.min + || _scaleRanges.xmax !== xScale.max + || _scaleRanges.ymin !== yScale.min + || _scaleRanges.ymax !== yScale.max; + Object.assign(_scaleRanges, newRanges); + return changed; +} + +const atEdge = (t) => t === 0 || t === 1; +const elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p)); +const elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1; +const effects = { + linear: t => t, + easeInQuad: t => t * t, + easeOutQuad: t => -t * (t - 2), + easeInOutQuad: t => ((t /= 0.5) < 1) + ? 0.5 * t * t + : -0.5 * ((--t) * (t - 2) - 1), + easeInCubic: t => t * t * t, + easeOutCubic: t => (t -= 1) * t * t + 1, + easeInOutCubic: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t + : 0.5 * ((t -= 2) * t * t + 2), + easeInQuart: t => t * t * t * t, + easeOutQuart: t => -((t -= 1) * t * t * t - 1), + easeInOutQuart: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t + : -0.5 * ((t -= 2) * t * t * t - 2), + easeInQuint: t => t * t * t * t * t, + easeOutQuint: t => (t -= 1) * t * t * t * t + 1, + easeInOutQuint: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t * t + : 0.5 * ((t -= 2) * t * t * t * t + 2), + easeInSine: t => -Math.cos(t * HALF_PI) + 1, + easeOutSine: t => Math.sin(t * HALF_PI), + easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1), + easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)), + easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1, + easeInOutExpo: t => atEdge(t) ? t : t < 0.5 + ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) + : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2), + easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1), + easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t), + easeInOutCirc: t => ((t /= 0.5) < 1) + ? -0.5 * (Math.sqrt(1 - t * t) - 1) + : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), + easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3), + easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3), + easeInOutElastic(t) { + const s = 0.1125; + const p = 0.45; + return atEdge(t) ? t : + t < 0.5 + ? 0.5 * elasticIn(t * 2, s, p) + : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p); + }, + easeInBack(t) { + const s = 1.70158; + return t * t * ((s + 1) * t - s); + }, + easeOutBack(t) { + const s = 1.70158; + return (t -= 1) * t * ((s + 1) * t + s) + 1; + }, + easeInOutBack(t) { + let 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: t => 1 - effects.easeOutBounce(1 - t), + easeOutBounce(t) { + const m = 7.5625; + const d = 2.75; + if (t < (1 / d)) { + return m * t * t; + } + if (t < (2 / d)) { + return m * (t -= (1.5 / d)) * t + 0.75; + } + if (t < (2.5 / d)) { + return m * (t -= (2.25 / d)) * t + 0.9375; + } + return m * (t -= (2.625 / d)) * t + 0.984375; + }, + easeInOutBounce: t => (t < 0.5) + ? effects.easeInBounce(t * 2) * 0.5 + : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5, +}; + +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ +function round(v) { + return v + 0.5 | 0; +} +const lim = (v, l, h) => Math.max(Math.min(v, h), l); +function p2b(v) { + return lim(round(v * 2.55), 0, 255); +} +function n2b(v) { + return lim(round(v * 255), 0, 255); +} +function b2n(v) { + return lim(round(v / 2.55) / 100, 0, 1); +} +function n2p(v) { + return lim(round(v * 100), 0, 100); +} +const map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15}; +const hex = [...'0123456789ABCDEF']; +const h1 = b => hex[b & 0xF]; +const h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF]; +const eq = b => ((b & 0xF0) >> 4) === (b & 0xF); +const isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a); +function hexParse(str) { + var len = str.length; + var ret; + if (str[0] === '#') { + if (len === 4 || len === 5) { + ret = { + r: 255 & map$1[str[1]] * 17, + g: 255 & map$1[str[2]] * 17, + b: 255 & map$1[str[3]] * 17, + a: len === 5 ? map$1[str[4]] * 17 : 255 + }; + } else if (len === 7 || len === 9) { + ret = { + r: map$1[str[1]] << 4 | map$1[str[2]], + g: map$1[str[3]] << 4 | map$1[str[4]], + b: map$1[str[5]] << 4 | map$1[str[6]], + a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255 + }; + } + } + return ret; +} +const alpha = (a, f) => a < 255 ? f(a) : ''; +function hexString(v) { + var f = isShort(v) ? h1 : h2; + return v + ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) + : undefined; +} +const HUE_RE = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; +function hsl2rgbn(h, s, l) { + const a = s * Math.min(l, 1 - l); + const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); + return [f(0), f(8), f(4)]; +} +function hsv2rgbn(h, s, v) { + const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0); + return [f(5), f(3), f(1)]; +} +function hwb2rgbn(h, w, b) { + const rgb = hsl2rgbn(h, 1, 0.5); + let i; + if (w + b > 1) { + i = 1 / (w + b); + w *= i; + b *= i; + } + for (i = 0; i < 3; i++) { + rgb[i] *= 1 - w - b; + rgb[i] += w; + } + return rgb; +} +function hueValue(r, g, b, d, max) { + if (r === max) { + return ((g - b) / d) + (g < b ? 6 : 0); + } + if (g === max) { + return (b - r) / d + 2; + } + return (r - g) / d + 4; +} +function rgb2hsl(v) { + const range = 255; + const r = v.r / range; + const g = v.g / range; + const b = v.b / range; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + const l = (max + min) / 2; + let h, s, d; + if (max !== min) { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = hueValue(r, g, b, d, max); + h = h * 60 + 0.5; + } + return [h | 0, s || 0, l]; +} +function calln(f, a, b, c) { + return ( + Array.isArray(a) + ? f(a[0], a[1], a[2]) + : f(a, b, c) + ).map(n2b); +} +function hsl2rgb(h, s, l) { + return calln(hsl2rgbn, h, s, l); +} +function hwb2rgb(h, w, b) { + return calln(hwb2rgbn, h, w, b); +} +function hsv2rgb(h, s, v) { + return calln(hsv2rgbn, h, s, v); +} +function hue(h) { + return (h % 360 + 360) % 360; +} +function hueParse(str) { + const m = HUE_RE.exec(str); + let a = 255; + let v; + if (!m) { + return; + } + if (m[5] !== v) { + a = m[6] ? p2b(+m[5]) : n2b(+m[5]); + } + const h = hue(+m[2]); + const p1 = +m[3] / 100; + const p2 = +m[4] / 100; + if (m[1] === 'hwb') { + v = hwb2rgb(h, p1, p2); + } else if (m[1] === 'hsv') { + v = hsv2rgb(h, p1, p2); + } else { + v = hsl2rgb(h, p1, p2); + } + return { + r: v[0], + g: v[1], + b: v[2], + a: a + }; +} +function rotate(v, deg) { + var h = rgb2hsl(v); + h[0] = hue(h[0] + deg); + h = hsl2rgb(h); + v.r = h[0]; + v.g = h[1]; + v.b = h[2]; +} +function hslString(v) { + if (!v) { + return; + } + const a = rgb2hsl(v); + const h = a[0]; + const s = n2p(a[1]); + const l = n2p(a[2]); + return v.a < 255 + ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})` + : `hsl(${h}, ${s}%, ${l}%)`; +} +const map = { + x: 'dark', + Z: 'light', + Y: 're', + X: 'blu', + W: 'gr', + V: 'medium', + U: 'slate', + A: 'ee', + T: 'ol', + S: 'or', + B: 'ra', + C: 'lateg', + D: 'ights', + R: 'in', + Q: 'turquois', + E: 'hi', + P: 'ro', + O: 'al', + N: 'le', + M: 'de', + L: 'yello', + F: 'en', + K: 'ch', + G: 'arks', + H: 'ea', + I: 'ightg', + J: 'wh' +}; +const names$1 = { + OiceXe: 'f0f8ff', + antiquewEte: 'faebd7', + aqua: 'ffff', + aquamarRe: '7fffd4', + azuY: 'f0ffff', + beige: 'f5f5dc', + bisque: 'ffe4c4', + black: '0', + blanKedOmond: 'ffebcd', + Xe: 'ff', + XeviTet: '8a2be2', + bPwn: 'a52a2a', + burlywood: 'deb887', + caMtXe: '5f9ea0', + KartYuse: '7fff00', + KocTate: 'd2691e', + cSO: 'ff7f50', + cSnflowerXe: '6495ed', + cSnsilk: 'fff8dc', + crimson: 'dc143c', + cyan: 'ffff', + xXe: '8b', + xcyan: '8b8b', + xgTMnPd: 'b8860b', + xWay: 'a9a9a9', + xgYF: '6400', + xgYy: 'a9a9a9', + xkhaki: 'bdb76b', + xmagFta: '8b008b', + xTivegYF: '556b2f', + xSange: 'ff8c00', + xScEd: '9932cc', + xYd: '8b0000', + xsOmon: 'e9967a', + xsHgYF: '8fbc8f', + xUXe: '483d8b', + xUWay: '2f4f4f', + xUgYy: '2f4f4f', + xQe: 'ced1', + xviTet: '9400d3', + dAppRk: 'ff1493', + dApskyXe: 'bfff', + dimWay: '696969', + dimgYy: '696969', + dodgerXe: '1e90ff', + fiYbrick: 'b22222', + flSOwEte: 'fffaf0', + foYstWAn: '228b22', + fuKsia: 'ff00ff', + gaRsbSo: 'dcdcdc', + ghostwEte: 'f8f8ff', + gTd: 'ffd700', + gTMnPd: 'daa520', + Way: '808080', + gYF: '8000', + gYFLw: 'adff2f', + gYy: '808080', + honeyMw: 'f0fff0', + hotpRk: 'ff69b4', + RdianYd: 'cd5c5c', + Rdigo: '4b0082', + ivSy: 'fffff0', + khaki: 'f0e68c', + lavFMr: 'e6e6fa', + lavFMrXsh: 'fff0f5', + lawngYF: '7cfc00', + NmoncEffon: 'fffacd', + ZXe: 'add8e6', + ZcSO: 'f08080', + Zcyan: 'e0ffff', + ZgTMnPdLw: 'fafad2', + ZWay: 'd3d3d3', + ZgYF: '90ee90', + ZgYy: 'd3d3d3', + ZpRk: 'ffb6c1', + ZsOmon: 'ffa07a', + ZsHgYF: '20b2aa', + ZskyXe: '87cefa', + ZUWay: '778899', + ZUgYy: '778899', + ZstAlXe: 'b0c4de', + ZLw: 'ffffe0', + lime: 'ff00', + limegYF: '32cd32', + lRF: 'faf0e6', + magFta: 'ff00ff', + maPon: '800000', + VaquamarRe: '66cdaa', + VXe: 'cd', + VScEd: 'ba55d3', + VpurpN: '9370db', + VsHgYF: '3cb371', + VUXe: '7b68ee', + VsprRggYF: 'fa9a', + VQe: '48d1cc', + VviTetYd: 'c71585', + midnightXe: '191970', + mRtcYam: 'f5fffa', + mistyPse: 'ffe4e1', + moccasR: 'ffe4b5', + navajowEte: 'ffdead', + navy: '80', + Tdlace: 'fdf5e6', + Tive: '808000', + TivedBb: '6b8e23', + Sange: 'ffa500', + SangeYd: 'ff4500', + ScEd: 'da70d6', + pOegTMnPd: 'eee8aa', + pOegYF: '98fb98', + pOeQe: 'afeeee', + pOeviTetYd: 'db7093', + papayawEp: 'ffefd5', + pHKpuff: 'ffdab9', + peru: 'cd853f', + pRk: 'ffc0cb', + plum: 'dda0dd', + powMrXe: 'b0e0e6', + purpN: '800080', + YbeccapurpN: '663399', + Yd: 'ff0000', + Psybrown: 'bc8f8f', + PyOXe: '4169e1', + saddNbPwn: '8b4513', + sOmon: 'fa8072', + sandybPwn: 'f4a460', + sHgYF: '2e8b57', + sHshell: 'fff5ee', + siFna: 'a0522d', + silver: 'c0c0c0', + skyXe: '87ceeb', + UXe: '6a5acd', + UWay: '708090', + UgYy: '708090', + snow: 'fffafa', + sprRggYF: 'ff7f', + stAlXe: '4682b4', + tan: 'd2b48c', + teO: '8080', + tEstN: 'd8bfd8', + tomato: 'ff6347', + Qe: '40e0d0', + viTet: 'ee82ee', + JHt: 'f5deb3', + wEte: 'ffffff', + wEtesmoke: 'f5f5f5', + Lw: 'ffff00', + LwgYF: '9acd32' +}; +function unpack() { + const unpacked = {}; + const keys = Object.keys(names$1); + const tkeys = Object.keys(map); + let i, j, k, ok, nk; + for (i = 0; i < keys.length; i++) { + ok = nk = keys[i]; + for (j = 0; j < tkeys.length; j++) { + k = tkeys[j]; + nk = nk.replace(k, map[k]); + } + k = parseInt(names$1[ok], 16); + unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF]; + } + return unpacked; +} +let names; +function nameParse(str) { + if (!names) { + names = unpack(); + names.transparent = [0, 0, 0, 0]; + } + const a = names[str.toLowerCase()]; + return a && { + r: a[0], + g: a[1], + b: a[2], + a: a.length === 4 ? a[3] : 255 + }; +} +const RGB_RE = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; +function rgbParse(str) { + const m = RGB_RE.exec(str); + let a = 255; + let r, g, b; + if (!m) { + return; + } + if (m[7] !== r) { + const v = +m[7]; + a = m[8] ? p2b(v) : lim(v * 255, 0, 255); + } + r = +m[1]; + g = +m[3]; + b = +m[5]; + r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255)); + g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255)); + b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255)); + return { + r: r, + g: g, + b: b, + a: a + }; +} +function rgbString(v) { + return v && ( + v.a < 255 + ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})` + : `rgb(${v.r}, ${v.g}, ${v.b})` + ); +} +const to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055; +const from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); +function interpolate(rgb1, rgb2, t) { + const r = from(b2n(rgb1.r)); + const g = from(b2n(rgb1.g)); + const b = from(b2n(rgb1.b)); + return { + r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))), + g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))), + b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))), + a: rgb1.a + t * (rgb2.a - rgb1.a) + }; +} +function modHSL(v, i, ratio) { + if (v) { + let tmp = rgb2hsl(v); + tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1)); + tmp = hsl2rgb(tmp); + v.r = tmp[0]; + v.g = tmp[1]; + v.b = tmp[2]; + } +} +function clone(v, proto) { + return v ? Object.assign(proto || {}, v) : v; +} +function fromObject(input) { + var v = {r: 0, g: 0, b: 0, a: 255}; + if (Array.isArray(input)) { + if (input.length >= 3) { + v = {r: input[0], g: input[1], b: input[2], a: 255}; + if (input.length > 3) { + v.a = n2b(input[3]); + } + } + } else { + v = clone(input, {r: 0, g: 0, b: 0, a: 1}); + v.a = n2b(v.a); + } + return v; +} +function functionParse(str) { + if (str.charAt(0) === 'r') { + return rgbParse(str); + } + return hueParse(str); +} +class Color { + constructor(input) { + if (input instanceof Color) { + return input; + } + const type = typeof input; + let v; + if (type === 'object') { + v = fromObject(input); + } else if (type === 'string') { + v = hexParse(input) || nameParse(input) || functionParse(input); + } + this._rgb = v; + this._valid = !!v; + } + get valid() { + return this._valid; + } + get rgb() { + var v = clone(this._rgb); + if (v) { + v.a = b2n(v.a); + } + return v; + } + set rgb(obj) { + this._rgb = fromObject(obj); + } + rgbString() { + return this._valid ? rgbString(this._rgb) : undefined; + } + hexString() { + return this._valid ? hexString(this._rgb) : undefined; + } + hslString() { + return this._valid ? hslString(this._rgb) : undefined; + } + mix(color, weight) { + if (color) { + const c1 = this.rgb; + const c2 = color.rgb; + let w2; + const p = weight === w2 ? 0.5 : weight; + const w = 2 * p - 1; + const a = c1.a - c2.a; + const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0; + w2 = 1 - w1; + c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5; + c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5; + c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5; + c1.a = p * c1.a + (1 - p) * c2.a; + this.rgb = c1; + } + return this; + } + interpolate(color, t) { + if (color) { + this._rgb = interpolate(this._rgb, color._rgb, t); + } + return this; + } + clone() { + return new Color(this.rgb); + } + alpha(a) { + this._rgb.a = n2b(a); + return this; + } + clearer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 - ratio; + return this; + } + greyscale() { + const rgb = this._rgb; + const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11); + rgb.r = rgb.g = rgb.b = val; + return this; + } + opaquer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 + ratio; + return this; + } + negate() { + const v = this._rgb; + v.r = 255 - v.r; + v.g = 255 - v.g; + v.b = 255 - v.b; + return this; + } + lighten(ratio) { + modHSL(this._rgb, 2, ratio); + return this; + } + darken(ratio) { + modHSL(this._rgb, 2, -ratio); + return this; + } + saturate(ratio) { + modHSL(this._rgb, 1, ratio); + return this; + } + desaturate(ratio) { + modHSL(this._rgb, 1, -ratio); + return this; + } + rotate(deg) { + rotate(this._rgb, deg); + return this; + } +} +function index_esm(input) { + return new Color(input); +} + +function isPatternOrGradient(value) { + if (value && typeof value === 'object') { + const type = value.toString(); + return type === '[object CanvasPattern]' || type === '[object CanvasGradient]'; + } + return false; +} +function color(value) { + return isPatternOrGradient(value) ? value : index_esm(value); +} +function getHoverColor(value) { + return isPatternOrGradient(value) + ? value + : index_esm(value).saturate(0.5).darken(0.1).hexString(); +} + +const overrides = Object.create(null); +const descriptors = Object.create(null); +function getScope$1(node, key) { + if (!key) { + return node; + } + const keys = key.split('.'); + for (let i = 0, n = keys.length; i < n; ++i) { + const k = keys[i]; + node = node[k] || (node[k] = Object.create(null)); + } + return node; +} +function set(root, scope, values) { + if (typeof scope === 'string') { + return merge(getScope$1(root, scope), values); + } + return merge(getScope$1(root, ''), scope); +} +class Defaults { + constructor(_descriptors) { + this.animation = undefined; + this.backgroundColor = 'rgba(0,0,0,0.1)'; + this.borderColor = 'rgba(0,0,0,0.1)'; + this.color = '#666'; + this.datasets = {}; + this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio(); + this.elements = {}; + this.events = [ + 'mousemove', + 'mouseout', + 'click', + 'touchstart', + 'touchmove' + ]; + this.font = { + family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + size: 12, + style: 'normal', + lineHeight: 1.2, + weight: null + }; + this.hover = {}; + this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor); + this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor); + this.hoverColor = (ctx, options) => getHoverColor(options.color); + this.indexAxis = 'x'; + this.interaction = { + mode: 'nearest', + intersect: true, + includeInvisible: false + }; + this.maintainAspectRatio = true; + this.onHover = null; + this.onClick = null; + this.parsing = true; + this.plugins = {}; + this.responsive = true; + this.scale = undefined; + this.scales = {}; + this.showLine = true; + this.drawActiveElementsOnTop = true; + this.describe(_descriptors); + } + set(scope, values) { + return set(this, scope, values); + } + get(scope) { + return getScope$1(this, scope); + } + describe(scope, values) { + return set(descriptors, scope, values); + } + override(scope, values) { + return set(overrides, scope, values); + } + route(scope, name, targetScope, targetName) { + const scopeObject = getScope$1(this, scope); + const targetScopeObject = getScope$1(this, targetScope); + const privateName = '_' + name; + Object.defineProperties(scopeObject, { + [privateName]: { + value: scopeObject[name], + writable: true + }, + [name]: { + enumerable: true, + get() { + const local = this[privateName]; + const target = targetScopeObject[targetName]; + if (isObject(local)) { + return Object.assign({}, target, local); + } + return valueOrDefault(local, target); + }, + set(value) { + this[privateName] = value; + } + } + }); + } +} +var defaults = new Defaults({ + _scriptable: (name) => !name.startsWith('on'), + _indexable: (name) => name !== 'events', + hover: { + _fallback: 'interaction' + }, + interaction: { + _scriptable: false, + _indexable: false, + } +}); + +function toFontString(font) { + if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { + return null; + } + return (font.style ? font.style + ' ' : '') + + (font.weight ? font.weight + ' ' : '') + + font.size + 'px ' + + font.family; +} +function _measureText(ctx, data, gc, longest, string) { + let textWidth = data[string]; + if (!textWidth) { + textWidth = data[string] = ctx.measureText(string).width; + gc.push(string); + } + if (textWidth > longest) { + longest = textWidth; + } + return longest; +} +function _longestText(ctx, font, arrayOfThings, cache) { + cache = cache || {}; + let data = cache.data = cache.data || {}; + let gc = cache.garbageCollect = cache.garbageCollect || []; + if (cache.font !== font) { + data = cache.data = {}; + gc = cache.garbageCollect = []; + cache.font = font; + } + ctx.save(); + ctx.font = font; + let longest = 0; + const ilen = arrayOfThings.length; + let i, j, jlen, thing, nestedThing; + for (i = 0; i < ilen; i++) { + thing = arrayOfThings[i]; + if (thing !== undefined && thing !== null && isArray(thing) !== true) { + longest = _measureText(ctx, data, gc, longest, thing); + } else if (isArray(thing)) { + for (j = 0, jlen = thing.length; j < jlen; j++) { + nestedThing = thing[j]; + if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) { + longest = _measureText(ctx, data, gc, longest, nestedThing); + } + } + } + } + ctx.restore(); + const gcLen = gc.length / 2; + if (gcLen > arrayOfThings.length) { + for (i = 0; i < gcLen; i++) { + delete data[gc[i]]; + } + gc.splice(0, gcLen); + } + return longest; +} +function _alignPixel(chart, pixel, width) { + const devicePixelRatio = chart.currentDevicePixelRatio; + const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0; + return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth; +} +function clearCanvas(canvas, ctx) { + ctx = ctx || canvas.getContext('2d'); + ctx.save(); + ctx.resetTransform(); + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.restore(); +} +function drawPoint(ctx, options, x, y) { + drawPointLegend(ctx, options, x, y, null); +} +function drawPointLegend(ctx, options, x, y, w) { + let type, xOffset, yOffset, size, cornerRadius, width; + const style = options.pointStyle; + const rotation = options.rotation; + const radius = options.radius; + let 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: + if (w) { + ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); + } else { + ctx.arc(x, y, radius, 0, TAU); + } + 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': + 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; + width = w ? w / 2 : size; + ctx.rect(x - width, y - size, 2 * width, 2 * size); + break; + } + rad += QUARTER_PI; + 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; + 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 = w ? w / 2 : 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(); + if (options.borderWidth > 0) { + ctx.stroke(); + } +} +function _isPointInArea(point, area, margin) { + margin = margin || 0.5; + return !area || (point && point.x > area.left - margin && point.x < area.right + margin && + point.y > area.top - margin && point.y < area.bottom + margin); +} +function clipArea(ctx, area) { + ctx.save(); + ctx.beginPath(); + ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); + ctx.clip(); +} +function unclipArea(ctx) { + ctx.restore(); +} +function _steppedLineTo(ctx, previous, target, flip, mode) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + if (mode === 'middle') { + const midpoint = (previous.x + target.x) / 2.0; + ctx.lineTo(midpoint, previous.y); + ctx.lineTo(midpoint, target.y); + } else if (mode === 'after' !== !!flip) { + ctx.lineTo(previous.x, target.y); + } else { + ctx.lineTo(target.x, previous.y); + } + ctx.lineTo(target.x, target.y); +} +function _bezierCurveTo(ctx, previous, target, flip) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + ctx.bezierCurveTo( + flip ? previous.cp1x : previous.cp2x, + flip ? previous.cp1y : previous.cp2y, + flip ? target.cp2x : target.cp1x, + flip ? target.cp2y : target.cp1y, + target.x, + target.y); +} +function renderText(ctx, text, x, y, font, opts = {}) { + const lines = isArray(text) ? text : [text]; + const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ''; + let i, line; + ctx.save(); + ctx.font = font.string; + setRenderOpts(ctx, opts); + for (i = 0; i < lines.length; ++i) { + line = lines[i]; + if (stroke) { + if (opts.strokeColor) { + ctx.strokeStyle = opts.strokeColor; + } + if (!isNullOrUndef(opts.strokeWidth)) { + ctx.lineWidth = opts.strokeWidth; + } + ctx.strokeText(line, x, y, opts.maxWidth); + } + ctx.fillText(line, x, y, opts.maxWidth); + decorateText(ctx, x, y, line, opts); + y += font.lineHeight; + } + ctx.restore(); +} +function setRenderOpts(ctx, opts) { + if (opts.translation) { + ctx.translate(opts.translation[0], opts.translation[1]); + } + if (!isNullOrUndef(opts.rotation)) { + ctx.rotate(opts.rotation); + } + if (opts.color) { + ctx.fillStyle = opts.color; + } + if (opts.textAlign) { + ctx.textAlign = opts.textAlign; + } + if (opts.textBaseline) { + ctx.textBaseline = opts.textBaseline; + } +} +function decorateText(ctx, x, y, line, opts) { + if (opts.strikethrough || opts.underline) { + const metrics = ctx.measureText(line); + const left = x - metrics.actualBoundingBoxLeft; + const right = x + metrics.actualBoundingBoxRight; + const top = y - metrics.actualBoundingBoxAscent; + const bottom = y + metrics.actualBoundingBoxDescent; + const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom; + ctx.strokeStyle = ctx.fillStyle; + ctx.beginPath(); + ctx.lineWidth = opts.decorationWidth || 2; + ctx.moveTo(left, yDecoration); + ctx.lineTo(right, yDecoration); + ctx.stroke(); + } +} +function addRoundedRectPath(ctx, rect) { + const {x, y, w, h, radius} = rect; + ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); + ctx.lineTo(x, y + h - radius.bottomLeft); + ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true); + ctx.lineTo(x + w - radius.bottomRight, y + h); + ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true); + ctx.lineTo(x + w, y + radius.topRight); + ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); + ctx.lineTo(x + radius.topLeft, y); +} + +const LINE_HEIGHT = new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/); +const FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/); +function toLineHeight(value, size) { + const matches = ('' + value).match(LINE_HEIGHT); + 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; +} +const numberOrZero = v => +v || 0; +function _readValueToProps(value, props) { + const ret = {}; + const objProps = isObject(props); + const keys = objProps ? Object.keys(props) : props; + const read = isObject(value) + ? objProps + ? prop => valueOrDefault(value[prop], value[props[prop]]) + : prop => value[prop] + : () => value; + for (const prop of keys) { + ret[prop] = numberOrZero(read(prop)); + } + return ret; +} +function toTRBL(value) { + return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'}); +} +function toTRBLCorners(value) { + return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']); +} +function toPadding(value) { + const obj = toTRBL(value); + obj.width = obj.left + obj.right; + obj.height = obj.top + obj.bottom; + return obj; +} +function toFont(options, fallback) { + options = options || {}; + fallback = fallback || defaults.font; + let size = valueOrDefault(options.size, fallback.size); + if (typeof size === 'string') { + size = parseInt(size, 10); + } + let style = valueOrDefault(options.style, fallback.style); + if (style && !('' + style).match(FONT_STYLE)) { + console.warn('Invalid font style specified: "' + style + '"'); + style = ''; + } + const font = { + family: valueOrDefault(options.family, fallback.family), + lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size), + size, + style, + weight: valueOrDefault(options.weight, fallback.weight), + string: '' + }; + font.string = toFontString(font); + return font; +} +function resolve(inputs, context, index, info) { + let cacheable = true; + let 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 && isArray(value)) { + value = value[index % value.length]; + cacheable = false; + } + if (value !== undefined) { + if (info && !cacheable) { + info.cacheable = false; + } + return value; + } + } +} +function _addGrace(minmax, grace, beginAtZero) { + const {min, max} = minmax; + const change = toDimension(grace, (max - min) / 2); + const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add; + return { + min: keepZero(min, -Math.abs(change)), + max: keepZero(max, change) + }; +} +function createContext(parentContext, context) { + return Object.assign(Object.create(parentContext), context); +} + +function _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) { + if (!defined(fallback)) { + fallback = _resolve('_fallback', scopes); + } + const cache = { + [Symbol.toStringTag]: 'Object', + _cacheable: true, + _scopes: scopes, + _rootScopes: rootScopes, + _fallback: fallback, + _getTarget: getTarget, + override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback), + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete target._keys; + delete scopes[0][prop]; + return true; + }, + get(target, prop) { + return _cached(target, prop, + () => _resolveWithPrefixes(prop, prefixes, scopes, target)); + }, + getOwnPropertyDescriptor(target, prop) { + return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(scopes[0]); + }, + has(target, prop) { + return getKeysFromAllScopes(target).includes(prop); + }, + ownKeys(target) { + return getKeysFromAllScopes(target); + }, + set(target, prop, value) { + const storage = target._storage || (target._storage = getTarget()); + target[prop] = storage[prop] = value; + delete target._keys; + return true; + } + }); +} +function _attachContext(proxy, context, subProxy, descriptorDefaults) { + const cache = { + _cacheable: false, + _proxy: proxy, + _context: context, + _subProxy: subProxy, + _stack: new Set(), + _descriptors: _descriptors(proxy, descriptorDefaults), + setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults), + override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete proxy[prop]; + return true; + }, + get(target, prop, receiver) { + return _cached(target, prop, + () => _resolveWithContext(target, prop, receiver)); + }, + getOwnPropertyDescriptor(target, prop) { + return target._descriptors.allKeys + ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined + : Reflect.getOwnPropertyDescriptor(proxy, prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(proxy); + }, + has(target, prop) { + return Reflect.has(proxy, prop); + }, + ownKeys() { + return Reflect.ownKeys(proxy); + }, + set(target, prop, value) { + proxy[prop] = value; + delete target[prop]; + return true; + } + }); +} +function _descriptors(proxy, defaults = {scriptable: true, indexable: true}) { + const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy; + return { + allKeys: _allKeys, + scriptable: _scriptable, + indexable: _indexable, + isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable, + isIndexable: isFunction(_indexable) ? _indexable : () => _indexable + }; +} +const readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name; +const needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' && + (Object.getPrototypeOf(value) === null || value.constructor === Object); +function _cached(target, prop, resolve) { + if (Object.prototype.hasOwnProperty.call(target, prop)) { + return target[prop]; + } + const value = resolve(); + target[prop] = value; + return value; +} +function _resolveWithContext(target, prop, receiver) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + let value = _proxy[prop]; + if (isFunction(value) && descriptors.isScriptable(prop)) { + value = _resolveScriptable(prop, value, target, receiver); + } + if (isArray(value) && value.length) { + value = _resolveArray(prop, value, target, descriptors.isIndexable); + } + if (needsSubResolver(prop, value)) { + value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors); + } + return value; +} +function _resolveScriptable(prop, value, target, receiver) { + const {_proxy, _context, _subProxy, _stack} = target; + if (_stack.has(prop)) { + throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop); + } + _stack.add(prop); + value = value(_context, _subProxy || receiver); + _stack.delete(prop); + if (needsSubResolver(prop, value)) { + value = createSubResolver(_proxy._scopes, _proxy, prop, value); + } + return value; +} +function _resolveArray(prop, value, target, isIndexable) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + if (defined(_context.index) && isIndexable(prop)) { + value = value[_context.index % value.length]; + } else if (isObject(value[0])) { + const arr = value; + const scopes = _proxy._scopes.filter(s => s !== arr); + value = []; + for (const item of arr) { + const resolver = createSubResolver(scopes, _proxy, prop, item); + value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors)); + } + } + return value; +} +function resolveFallback(fallback, prop, value) { + return isFunction(fallback) ? fallback(prop, value) : fallback; +} +const getScope = (key, parent) => key === true ? parent + : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined; +function addScopes(set, parentScopes, key, parentFallback, value) { + for (const parent of parentScopes) { + const scope = getScope(key, parent); + if (scope) { + set.add(scope); + const fallback = resolveFallback(scope._fallback, key, value); + if (defined(fallback) && fallback !== key && fallback !== parentFallback) { + return fallback; + } + } else if (scope === false && defined(parentFallback) && key !== parentFallback) { + return null; + } + } + return false; +} +function createSubResolver(parentScopes, resolver, prop, value) { + const rootScopes = resolver._rootScopes; + const fallback = resolveFallback(resolver._fallback, prop, value); + const allScopes = [...parentScopes, ...rootScopes]; + const set = new Set(); + set.add(value); + let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value); + if (key === null) { + return false; + } + if (defined(fallback) && fallback !== prop) { + key = addScopesFromKey(set, allScopes, fallback, key, value); + if (key === null) { + return false; + } + } + return _createResolver(Array.from(set), [''], rootScopes, fallback, + () => subGetTarget(resolver, prop, value)); +} +function addScopesFromKey(set, allScopes, key, fallback, item) { + while (key) { + key = addScopes(set, allScopes, key, fallback, item); + } + return key; +} +function subGetTarget(resolver, prop, value) { + const parent = resolver._getTarget(); + if (!(prop in parent)) { + parent[prop] = {}; + } + const target = parent[prop]; + if (isArray(target) && isObject(value)) { + return value; + } + return target; +} +function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { + let value; + for (const prefix of prefixes) { + value = _resolve(readKey(prefix, prop), scopes); + if (defined(value)) { + return needsSubResolver(prop, value) + ? createSubResolver(scopes, proxy, prop, value) + : value; + } + } +} +function _resolve(key, scopes) { + for (const scope of scopes) { + if (!scope) { + continue; + } + const value = scope[key]; + if (defined(value)) { + return value; + } + } +} +function getKeysFromAllScopes(target) { + let keys = target._keys; + if (!keys) { + keys = target._keys = resolveKeysFromAllScopes(target._scopes); + } + return keys; +} +function resolveKeysFromAllScopes(scopes) { + const set = new Set(); + for (const scope of scopes) { + for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) { + set.add(key); + } + } + return Array.from(set); +} +function _parseObjectDataRadialScale(meta, data, start, count) { + const {iScale} = meta; + const {key = 'r'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + r: iScale.parse(resolveObjectKey(item, key), index) + }; + } + return parsed; +} + +const EPSILON = Number.EPSILON || 1e-14; +const getPoint = (points, i) => i < points.length && !points[i].skip && points[i]; +const getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x'; +function splineCurve(firstPoint, middlePoint, afterPoint, t) { + const previous = firstPoint.skip ? middlePoint : firstPoint; + const current = middlePoint; + const next = afterPoint.skip ? middlePoint : afterPoint; + const d01 = distanceBetweenPoints(current, previous); + const d12 = distanceBetweenPoints(next, current); + let s01 = d01 / (d01 + d12); + let s12 = d12 / (d01 + d12); + s01 = isNaN(s01) ? 0 : s01; + s12 = isNaN(s12) ? 0 : s12; + const fa = t * s01; + const fb = t * s12; + return { + previous: { + x: current.x - fa * (next.x - previous.x), + y: current.y - fa * (next.y - previous.y) + }, + next: { + x: current.x + fb * (next.x - previous.x), + y: current.y + fb * (next.y - previous.y) + } + }; +} +function monotoneAdjust(points, deltaK, mK) { + const pointsLen = points.length; + let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen - 1; ++i) { + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent || !pointAfter) { + continue; + } + if (almostEquals(deltaK[i], 0, EPSILON)) { + mK[i] = mK[i + 1] = 0; + continue; + } + alphaK = mK[i] / deltaK[i]; + betaK = mK[i + 1] / deltaK[i]; + squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); + if (squaredMagnitude <= 9) { + continue; + } + tauK = 3 / Math.sqrt(squaredMagnitude); + mK[i] = alphaK * tauK * deltaK[i]; + mK[i + 1] = betaK * tauK * deltaK[i]; + } +} +function monotoneCompute(points, mK, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + let delta, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + const iPixel = pointCurrent[indexAxis]; + const vPixel = pointCurrent[valueAxis]; + if (pointBefore) { + delta = (iPixel - pointBefore[indexAxis]) / 3; + pointCurrent[`cp1${indexAxis}`] = iPixel - delta; + pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; + } + if (pointAfter) { + delta = (pointAfter[indexAxis] - iPixel) / 3; + pointCurrent[`cp2${indexAxis}`] = iPixel + delta; + pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; + } + } +} +function splineCurveMonotone(points, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + const deltaK = Array(pointsLen).fill(0); + const mK = Array(pointsLen); + let i, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + if (pointAfter) { + const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; + deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; + } + mK[i] = !pointBefore ? deltaK[i] + : !pointAfter ? deltaK[i - 1] + : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0 + : (deltaK[i - 1] + deltaK[i]) / 2; + } + monotoneAdjust(points, deltaK, mK); + monotoneCompute(points, mK, indexAxis); +} +function capControlPoint(pt, min, max) { + return Math.max(Math.min(pt, max), min); +} +function capBezierPoints(points, area) { + let i, ilen, point, inArea, inAreaPrev; + let inAreaNext = _isPointInArea(points[0], area); + for (i = 0, ilen = points.length; i < ilen; ++i) { + inAreaPrev = inArea; + inArea = inAreaNext; + inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); + if (!inArea) { + continue; + } + point = points[i]; + if (inAreaPrev) { + point.cp1x = capControlPoint(point.cp1x, area.left, area.right); + point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); + } + if (inAreaNext) { + point.cp2x = capControlPoint(point.cp2x, area.left, area.right); + point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); + } + } +} +function _updateBezierControlPoints(points, options, area, loop, indexAxis) { + let i, ilen, point, controlPoints; + if (options.spanGaps) { + points = points.filter((pt) => !pt.skip); + } + if (options.cubicInterpolationMode === 'monotone') { + splineCurveMonotone(points, indexAxis); + } else { + let prev = loop ? points[points.length - 1] : points[0]; + for (i = 0, ilen = points.length; i < ilen; ++i) { + point = points[i]; + controlPoints = splineCurve( + prev, + point, + points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], + options.tension + ); + point.cp1x = controlPoints.previous.x; + point.cp1y = controlPoints.previous.y; + point.cp2x = controlPoints.next.x; + point.cp2y = controlPoints.next.y; + prev = point; + } + } + if (options.capBezierPoints) { + capBezierPoints(points, area); + } +} + +function _isDomSupported() { + return typeof window !== 'undefined' && typeof document !== 'undefined'; +} +function _getParentNode(domNode) { + let parent = domNode.parentNode; + if (parent && parent.toString() === '[object ShadowRoot]') { + parent = parent.host; + } + return parent; +} +function parseMaxStyle(styleValue, node, parentProperty) { + let valueInPixels; + if (typeof styleValue === 'string') { + valueInPixels = parseInt(styleValue, 10); + if (styleValue.indexOf('%') !== -1) { + valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty]; + } + } else { + valueInPixels = styleValue; + } + return valueInPixels; +} +const getComputedStyle = (element) => window.getComputedStyle(element, null); +function getStyle(el, property) { + return getComputedStyle(el).getPropertyValue(property); +} +const positions = ['top', 'right', 'bottom', 'left']; +function getPositionedStyle(styles, style, suffix) { + const result = {}; + suffix = suffix ? '-' + suffix : ''; + for (let i = 0; i < 4; i++) { + const pos = positions[i]; + result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0; + } + result.width = result.left + result.right; + result.height = result.top + result.bottom; + return result; +} +const useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot); +function getCanvasPosition(e, canvas) { + const touches = e.touches; + const source = touches && touches.length ? touches[0] : e; + const {offsetX, offsetY} = source; + let box = false; + let x, y; + if (useOffsetPos(offsetX, offsetY, e.target)) { + x = offsetX; + y = offsetY; + } else { + const rect = canvas.getBoundingClientRect(); + x = source.clientX - rect.left; + y = source.clientY - rect.top; + box = true; + } + return {x, y, box}; +} +function getRelativePosition(evt, chart) { + if ('native' in evt) { + return evt; + } + const {canvas, currentDevicePixelRatio} = chart; + const style = getComputedStyle(canvas); + const borderBox = style.boxSizing === 'border-box'; + const paddings = getPositionedStyle(style, 'padding'); + const borders = getPositionedStyle(style, 'border', 'width'); + const {x, y, box} = getCanvasPosition(evt, canvas); + const xOffset = paddings.left + (box && borders.left); + const yOffset = paddings.top + (box && borders.top); + let {width, height} = chart; + if (borderBox) { + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + return { + x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio), + y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio) + }; +} +function getContainerSize(canvas, width, height) { + let maxWidth, maxHeight; + if (width === undefined || height === undefined) { + const container = _getParentNode(canvas); + if (!container) { + width = canvas.clientWidth; + height = canvas.clientHeight; + } else { + const rect = container.getBoundingClientRect(); + const containerStyle = getComputedStyle(container); + const containerBorder = getPositionedStyle(containerStyle, 'border', 'width'); + const containerPadding = getPositionedStyle(containerStyle, 'padding'); + width = rect.width - containerPadding.width - containerBorder.width; + height = rect.height - containerPadding.height - containerBorder.height; + maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth'); + maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight'); + } + } + return { + width, + height, + maxWidth: maxWidth || INFINITY, + maxHeight: maxHeight || INFINITY + }; +} +const round1 = v => Math.round(v * 10) / 10; +function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { + const style = getComputedStyle(canvas); + const margins = getPositionedStyle(style, 'margin'); + const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY; + const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY; + const containerSize = getContainerSize(canvas, bbWidth, bbHeight); + let {width, height} = containerSize; + if (style.boxSizing === 'content-box') { + const borders = getPositionedStyle(style, 'border', 'width'); + const paddings = getPositionedStyle(style, 'padding'); + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + width = Math.max(0, width - margins.width); + height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height); + width = round1(Math.min(width, maxWidth, containerSize.maxWidth)); + height = round1(Math.min(height, maxHeight, containerSize.maxHeight)); + if (width && !height) { + height = round1(width / 2); + } + return { + width, + height + }; +} +function retinaScale(chart, forceRatio, forceStyle) { + const pixelRatio = forceRatio || 1; + const deviceHeight = Math.floor(chart.height * pixelRatio); + const deviceWidth = Math.floor(chart.width * pixelRatio); + chart.height = deviceHeight / pixelRatio; + chart.width = deviceWidth / pixelRatio; + const canvas = chart.canvas; + if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) { + canvas.style.height = `${chart.height}px`; + canvas.style.width = `${chart.width}px`; + } + if (chart.currentDevicePixelRatio !== pixelRatio + || canvas.height !== deviceHeight + || canvas.width !== deviceWidth) { + chart.currentDevicePixelRatio = pixelRatio; + canvas.height = deviceHeight; + canvas.width = deviceWidth; + chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); + return true; + } + return false; +} +const supportsEventListenerOptions = (function() { + let passiveSupported = false; + try { + const options = { + get passive() { + passiveSupported = true; + return false; + } + }; + window.addEventListener('test', null, options); + window.removeEventListener('test', null, options); + } catch (e) { + } + return passiveSupported; +}()); +function readUsedSize(element, property) { + const value = getStyle(element, property); + const matches = value && value.match(/^(\d+)(\.\d+)?px$/); + return matches ? +matches[1] : undefined; +} + +function _pointInLine(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: p1.y + t * (p2.y - p1.y) + }; +} +function _steppedInterpolation(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y + : mode === 'after' ? t < 1 ? p1.y : p2.y + : t > 0 ? p2.y : p1.y + }; +} +function _bezierInterpolation(p1, p2, t, mode) { + const cp1 = {x: p1.cp2x, y: p1.cp2y}; + const cp2 = {x: p2.cp1x, y: p2.cp1y}; + const a = _pointInLine(p1, cp1, t); + const b = _pointInLine(cp1, cp2, t); + const c = _pointInLine(cp2, p2, t); + const d = _pointInLine(a, b, t); + const e = _pointInLine(b, c, t); + return _pointInLine(d, e, t); +} + +const intlCache = new Map(); +function getNumberFormat(locale, options) { + options = options || {}; + const cacheKey = locale + JSON.stringify(options); + let formatter = intlCache.get(cacheKey); + if (!formatter) { + formatter = new Intl.NumberFormat(locale, options); + intlCache.set(cacheKey, formatter); + } + return formatter; +} +function formatNumber(num, locale, options) { + return getNumberFormat(locale, options).format(num); +} + +const getRightToLeftAdapter = function(rectX, width) { + return { + x(x) { + return rectX + rectX + width - x; + }, + setWidth(w) { + width = w; + }, + textAlign(align) { + if (align === 'center') { + return align; + } + return align === 'right' ? 'left' : 'right'; + }, + xPlus(x, value) { + return x - value; + }, + leftForLtr(x, itemWidth) { + return x - itemWidth; + }, + }; +}; +const getLeftToRightAdapter = function() { + return { + x(x) { + return x; + }, + setWidth(w) { + }, + textAlign(align) { + return align; + }, + xPlus(x, value) { + return x + value; + }, + leftForLtr(x, _itemWidth) { + return x; + }, + }; +}; +function getRtlAdapter(rtl, rectX, width) { + return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter(); +} +function overrideTextDirection(ctx, direction) { + let 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; + } +} +function restoreTextDirection(ctx, original) { + if (original !== undefined) { + delete ctx.prevTextDirection; + ctx.canvas.style.setProperty('direction', original[0], original[1]); + } +} + +function propertyFn(property) { + if (property === 'angle') { + return { + between: _angleBetween, + compare: _angleDiff, + normalize: _normalizeAngle, + }; + } + return { + between: _isBetween, + compare: (a, b) => a - b, + normalize: x => x + }; +} +function normalizeSegment({start, end, count, loop, style}) { + return { + start: start % count, + end: end % count, + loop: loop && (end - start + 1) % count === 0, + style + }; +} +function getSegment(segment, points, bounds) { + const {property, start: startBound, end: endBound} = bounds; + const {between, normalize} = propertyFn(property); + const count = points.length; + let {start, end, loop} = segment; + let i, ilen; + if (loop) { + start += count; + end += count; + for (i = 0, ilen = count; i < ilen; ++i) { + if (!between(normalize(points[start % count][property]), startBound, endBound)) { + break; + } + start--; + end--; + } + start %= count; + end %= count; + } + if (end < start) { + end += count; + } + return {start, end, loop, style: segment.style}; +} +function _boundSegment(segment, points, bounds) { + if (!bounds) { + return [segment]; + } + const {property, start: startBound, end: endBound} = bounds; + const count = points.length; + const {compare, between, normalize} = propertyFn(property); + const {start, end, loop, style} = getSegment(segment, points, bounds); + const result = []; + let inside = false; + let subStart = null; + let value, point, prevValue; + const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; + const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value); + const shouldStart = () => inside || startIsBefore(); + const shouldStop = () => !inside || endIsBefore(); + for (let i = start, prev = start; i <= end; ++i) { + point = points[i % count]; + if (point.skip) { + continue; + } + value = normalize(point[property]); + if (value === prevValue) { + continue; + } + inside = between(value, startBound, endBound); + if (subStart === null && shouldStart()) { + subStart = compare(value, startBound) === 0 ? i : prev; + } + if (subStart !== null && shouldStop()) { + result.push(normalizeSegment({start: subStart, end: i, loop, count, style})); + subStart = null; + } + prev = i; + prevValue = value; + } + if (subStart !== null) { + result.push(normalizeSegment({start: subStart, end, loop, count, style})); + } + return result; +} +function _boundSegments(line, bounds) { + const result = []; + const segments = line.segments; + for (let i = 0; i < segments.length; i++) { + const sub = _boundSegment(segments[i], line.points, bounds); + if (sub.length) { + result.push(...sub); + } + } + return result; +} +function findStartAndEnd(points, count, loop, spanGaps) { + let start = 0; + let end = count - 1; + if (loop && !spanGaps) { + while (start < count && !points[start].skip) { + start++; + } + } + while (start < count && points[start].skip) { + start++; + } + start %= count; + if (loop) { + end += start; + } + while (end > start && points[end % count].skip) { + end--; + } + end %= count; + return {start, end}; +} +function solidSegments(points, start, max, loop) { + const count = points.length; + const result = []; + let last = start; + let prev = points[start]; + let end; + for (end = start + 1; end <= max; ++end) { + const cur = points[end % count]; + if (cur.skip || cur.stop) { + if (!prev.skip) { + loop = false; + result.push({start: start % count, end: (end - 1) % count, loop}); + start = last = cur.stop ? end : null; + } + } else { + last = end; + if (prev.skip) { + start = end; + } + } + prev = cur; + } + if (last !== null) { + result.push({start: start % count, end: last % count, loop}); + } + return result; +} +function _computeSegments(line, segmentOptions) { + const points = line.points; + const spanGaps = line.options.spanGaps; + const count = points.length; + if (!count) { + return []; + } + const loop = !!line._loop; + const {start, end} = findStartAndEnd(points, count, loop, spanGaps); + if (spanGaps === true) { + return splitByStyles(line, [{start, end, loop}], points, segmentOptions); + } + const max = end < start ? end + count : end; + const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; + return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); +} +function splitByStyles(line, segments, points, segmentOptions) { + if (!segmentOptions || !segmentOptions.setContext || !points) { + return segments; + } + return doSplitByStyles(line, segments, points, segmentOptions); +} +function doSplitByStyles(line, segments, points, segmentOptions) { + const chartContext = line._chart.getContext(); + const baseStyle = readStyle(line.options); + const {_datasetIndex: datasetIndex, options: {spanGaps}} = line; + const count = points.length; + const result = []; + let prevStyle = baseStyle; + let start = segments[0].start; + let i = start; + function addStyle(s, e, l, st) { + const dir = spanGaps ? -1 : 1; + if (s === e) { + return; + } + s += count; + while (points[s % count].skip) { + s -= dir; + } + while (points[e % count].skip) { + e += dir; + } + if (s % count !== e % count) { + result.push({start: s % count, end: e % count, loop: l, style: st}); + prevStyle = st; + start = e % count; + } + } + for (const segment of segments) { + start = spanGaps ? start : segment.start; + let prev = points[start % count]; + let style; + for (i = start + 1; i <= segment.end; i++) { + const pt = points[i % count]; + style = readStyle(segmentOptions.setContext(createContext(chartContext, { + type: 'segment', + p0: prev, + p1: pt, + p0DataIndex: (i - 1) % count, + p1DataIndex: i % count, + datasetIndex + }))); + if (styleChanged(style, prevStyle)) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + prev = pt; + prevStyle = style; + } + if (start < i - 1) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + } + return result; +} +function readStyle(options) { + return { + backgroundColor: options.backgroundColor, + borderCapStyle: options.borderCapStyle, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderJoinStyle: options.borderJoinStyle, + borderWidth: options.borderWidth, + borderColor: options.borderColor + }; +} +function styleChanged(style, prevStyle) { + return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle); +} + +export { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z }; diff --git a/scriptApl/chart.js/dist/chunks/helpers.segment.mjs b/scriptApl/chart.js/dist/chunks/helpers.segment.mjs new file mode 100644 index 00000000..5cffd79e --- /dev/null +++ b/scriptApl/chart.js/dist/chunks/helpers.segment.mjs @@ -0,0 +1,2619 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +function noop() {} +const uid = (function() { + let id = 0; + return function() { + return id++; + }; +}()); +function isNullOrUndef(value) { + return value === null || typeof value === 'undefined'; +} +function isArray(value) { + if (Array.isArray && Array.isArray(value)) { + return true; + } + const type = Object.prototype.toString.call(value); + if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') { + return true; + } + return false; +} +function isObject(value) { + return value !== null && Object.prototype.toString.call(value) === '[object Object]'; +} +const isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value); +function finiteOrDefault(value, defaultValue) { + return isNumberFinite(value) ? value : defaultValue; +} +function valueOrDefault(value, defaultValue) { + return typeof value === 'undefined' ? defaultValue : value; +} +const toPercentage = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 + : value / dimension; +const toDimension = (value, dimension) => + typeof value === 'string' && value.endsWith('%') ? + parseFloat(value) / 100 * dimension + : +value; +function callback(fn, args, thisArg) { + if (fn && typeof fn.call === 'function') { + return fn.apply(thisArg, args); + } +} +function each(loopable, fn, thisArg, reverse) { + let i, len, keys; + if (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 (isObject(loopable)) { + keys = Object.keys(loopable); + len = keys.length; + for (i = 0; i < len; i++) { + fn.call(thisArg, loopable[keys[i]], keys[i]); + } + } +} +function _elementsEqual(a0, a1) { + let 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.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) { + return false; + } + } + return true; +} +function clone$1(source) { + if (isArray(source)) { + return source.map(clone$1); + } + if (isObject(source)) { + const target = Object.create(null); + const keys = Object.keys(source); + const klen = keys.length; + let k = 0; + for (; k < klen; ++k) { + target[keys[k]] = clone$1(source[keys[k]]); + } + return target; + } + return source; +} +function isValidKey(key) { + return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1; +} +function _merger(key, target, source, options) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + merge(tval, sval, options); + } else { + target[key] = clone$1(sval); + } +} +function merge(target, source, options) { + const sources = isArray(source) ? source : [source]; + const ilen = sources.length; + if (!isObject(target)) { + return target; + } + options = options || {}; + const merger = options.merger || _merger; + for (let i = 0; i < ilen; ++i) { + source = sources[i]; + if (!isObject(source)) { + continue; + } + const keys = Object.keys(source); + for (let k = 0, klen = keys.length; k < klen; ++k) { + merger(keys[k], target, source, options); + } + } + return target; +} +function mergeIf(target, source) { + return merge(target, source, {merger: _mergerIf}); +} +function _mergerIf(key, target, source) { + if (!isValidKey(key)) { + return; + } + const tval = target[key]; + const sval = source[key]; + if (isObject(tval) && isObject(sval)) { + mergeIf(tval, sval); + } else if (!Object.prototype.hasOwnProperty.call(target, key)) { + target[key] = clone$1(sval); + } +} +function _deprecated(scope, value, previous, current) { + if (value !== undefined) { + console.warn(scope + ': "' + previous + + '" is deprecated. Please use "' + current + '" instead'); + } +} +const keyResolvers = { + '': v => v, + x: o => o.x, + y: o => o.y +}; +function resolveObjectKey(obj, key) { + const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); + return resolver(obj); +} +function _getKeyResolver(key) { + const keys = _splitKey(key); + return obj => { + for (const k of keys) { + if (k === '') { + break; + } + obj = obj && obj[k]; + } + return obj; + }; +} +function _splitKey(key) { + const parts = key.split('.'); + const keys = []; + let tmp = ''; + for (const part of parts) { + tmp += part; + if (tmp.endsWith('\\')) { + tmp = tmp.slice(0, -1) + '.'; + } else { + keys.push(tmp); + tmp = ''; + } + } + return keys; +} +function _capitalize(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} +const defined = (value) => typeof value !== 'undefined'; +const isFunction = (value) => typeof value === 'function'; +const setsEqual = (a, b) => { + if (a.size !== b.size) { + return false; + } + for (const item of a) { + if (!b.has(item)) { + return false; + } + } + return true; +}; +function _isClickEvent(e) { + return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu'; +} + +const PI = Math.PI; +const TAU = 2 * PI; +const PITAU = TAU + PI; +const INFINITY = Number.POSITIVE_INFINITY; +const RAD_PER_DEG = PI / 180; +const HALF_PI = PI / 2; +const QUARTER_PI = PI / 4; +const TWO_THIRDS_PI = PI * 2 / 3; +const log10 = Math.log10; +const sign = Math.sign; +function niceNum(range) { + const roundedRange = Math.round(range); + range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range; + const niceRange = Math.pow(10, Math.floor(log10(range))); + const fraction = range / niceRange; + const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10; + return niceFraction * niceRange; +} +function _factorize(value) { + const result = []; + const sqrt = Math.sqrt(value); + let i; + for (i = 1; i < sqrt; i++) { + if (value % i === 0) { + result.push(i); + result.push(value / i); + } + } + if (sqrt === (sqrt | 0)) { + result.push(sqrt); + } + result.sort((a, b) => a - b).pop(); + return result; +} +function isNumber(n) { + return !isNaN(parseFloat(n)) && isFinite(n); +} +function almostEquals(x, y, epsilon) { + return Math.abs(x - y) < epsilon; +} +function almostWhole(x, epsilon) { + const rounded = Math.round(x); + return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x); +} +function _setMinAndMaxByKey(array, target, property) { + let i, ilen, value; + for (i = 0, ilen = array.length; i < ilen; i++) { + value = array[i][property]; + if (!isNaN(value)) { + target.min = Math.min(target.min, value); + target.max = Math.max(target.max, value); + } + } +} +function toRadians(degrees) { + return degrees * (PI / 180); +} +function toDegrees(radians) { + return radians * (180 / PI); +} +function _decimalPlaces(x) { + if (!isNumberFinite(x)) { + return; + } + let e = 1; + let p = 0; + while (Math.round(x * e) / e !== x) { + e *= 10; + p++; + } + return p; +} +function getAngleFromPoint(centrePoint, anglePoint) { + const distanceFromXCenter = anglePoint.x - centrePoint.x; + const distanceFromYCenter = anglePoint.y - centrePoint.y; + const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter); + let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter); + if (angle < (-0.5 * PI)) { + angle += TAU; + } + return { + angle, + distance: radialDistanceFromCenter + }; +} +function distanceBetweenPoints(pt1, pt2) { + return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); +} +function _angleDiff(a, b) { + return (a - b + PITAU) % TAU - PI; +} +function _normalizeAngle(a) { + return (a % TAU + TAU) % TAU; +} +function _angleBetween(angle, start, end, sameAngleIsFullCircle) { + const a = _normalizeAngle(angle); + const s = _normalizeAngle(start); + const e = _normalizeAngle(end); + const angleToStart = _normalizeAngle(s - a); + const angleToEnd = _normalizeAngle(e - a); + const startToAngle = _normalizeAngle(a - s); + const endToAngle = _normalizeAngle(a - e); + return a === s || a === e || (sameAngleIsFullCircle && s === e) + || (angleToStart > angleToEnd && startToAngle < endToAngle); +} +function _limitValue(value, min, max) { + return Math.max(min, Math.min(max, value)); +} +function _int16Range(value) { + return _limitValue(value, -32768, 32767); +} +function _isBetween(value, start, end, epsilon = 1e-6) { + return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; +} + +function _lookup(table, value, cmp) { + cmp = cmp || ((index) => table[index] < value); + let hi = table.length - 1; + let lo = 0; + let mid; + while (hi - lo > 1) { + mid = (lo + hi) >> 1; + if (cmp(mid)) { + lo = mid; + } else { + hi = mid; + } + } + return {lo, hi}; +} +const _lookupByKey = (table, key, value, last) => + _lookup(table, value, last + ? index => table[index][key] <= value + : index => table[index][key] < value); +const _rlookupByKey = (table, key, value) => + _lookup(table, value, index => table[index][key] >= value); +function _filterBetween(values, min, max) { + let start = 0; + let end = values.length; + while (start < end && values[start] < min) { + start++; + } + while (end > start && values[end - 1] > max) { + end--; + } + return start > 0 || end < values.length + ? values.slice(start, end) + : values; +} +const arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; +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((key) => { + const method = '_onData' + _capitalize(key); + const base = array[key]; + Object.defineProperty(array, key, { + configurable: true, + enumerable: false, + value(...args) { + const res = base.apply(this, args); + array._chartjs.listeners.forEach((object) => { + if (typeof object[method] === 'function') { + object[method](...args); + } + }); + return res; + } + }); + }); +} +function unlistenArrayEvents(array, listener) { + const stub = array._chartjs; + if (!stub) { + return; + } + const listeners = stub.listeners; + const index = listeners.indexOf(listener); + if (index !== -1) { + listeners.splice(index, 1); + } + if (listeners.length > 0) { + return; + } + arrayEvents.forEach((key) => { + delete array[key]; + }); + delete array._chartjs; +} +function _arrayUnique(items) { + const set = new Set(); + let i, ilen; + for (i = 0, ilen = items.length; i < ilen; ++i) { + set.add(items[i]); + } + if (set.size === ilen) { + return items; + } + return Array.from(set); +} + +function fontString(pixelSize, fontStyle, fontFamily) { + return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; +} +const requestAnimFrame = (function() { + if (typeof window === 'undefined') { + return function(callback) { + return callback(); + }; + } + return window.requestAnimationFrame; +}()); +function throttled(fn, thisArg, updateFn) { + const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args)); + let ticking = false; + let args = []; + return function(...rest) { + args = updateArgs(rest); + if (!ticking) { + ticking = true; + requestAnimFrame.call(window, () => { + ticking = false; + fn.apply(thisArg, args); + }); + } + }; +} +function debounce(fn, delay) { + let timeout; + return function(...args) { + if (delay) { + clearTimeout(timeout); + timeout = setTimeout(fn, delay, args); + } else { + fn.apply(this, args); + } + return delay; + }; +} +const _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center'; +const _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2; +const _textX = (align, left, right, rtl) => { + const check = rtl ? 'left' : 'right'; + return align === check ? right : align === 'center' ? (left + right) / 2 : left; +}; +function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { + const pointCount = points.length; + let start = 0; + let count = pointCount; + if (meta._sorted) { + const {iScale, _parsed} = meta; + const axis = iScale.axis; + const {min, max, minDefined, maxDefined} = iScale.getUserBounds(); + if (minDefined) { + start = _limitValue(Math.min( + _lookupByKey(_parsed, iScale.axis, min).lo, + animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), + 0, pointCount - 1); + } + if (maxDefined) { + count = _limitValue(Math.max( + _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, + animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), + start, pointCount) - start; + } else { + count = pointCount - start; + } + } + return {start, count}; +} +function _scaleRangesChanged(meta) { + const {xScale, yScale, _scaleRanges} = meta; + const newRanges = { + xmin: xScale.min, + xmax: xScale.max, + ymin: yScale.min, + ymax: yScale.max + }; + if (!_scaleRanges) { + meta._scaleRanges = newRanges; + return true; + } + const changed = _scaleRanges.xmin !== xScale.min + || _scaleRanges.xmax !== xScale.max + || _scaleRanges.ymin !== yScale.min + || _scaleRanges.ymax !== yScale.max; + Object.assign(_scaleRanges, newRanges); + return changed; +} + +const atEdge = (t) => t === 0 || t === 1; +const elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p)); +const elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1; +const effects = { + linear: t => t, + easeInQuad: t => t * t, + easeOutQuad: t => -t * (t - 2), + easeInOutQuad: t => ((t /= 0.5) < 1) + ? 0.5 * t * t + : -0.5 * ((--t) * (t - 2) - 1), + easeInCubic: t => t * t * t, + easeOutCubic: t => (t -= 1) * t * t + 1, + easeInOutCubic: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t + : 0.5 * ((t -= 2) * t * t + 2), + easeInQuart: t => t * t * t * t, + easeOutQuart: t => -((t -= 1) * t * t * t - 1), + easeInOutQuart: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t + : -0.5 * ((t -= 2) * t * t * t - 2), + easeInQuint: t => t * t * t * t * t, + easeOutQuint: t => (t -= 1) * t * t * t * t + 1, + easeInOutQuint: t => ((t /= 0.5) < 1) + ? 0.5 * t * t * t * t * t + : 0.5 * ((t -= 2) * t * t * t * t + 2), + easeInSine: t => -Math.cos(t * HALF_PI) + 1, + easeOutSine: t => Math.sin(t * HALF_PI), + easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1), + easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)), + easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1, + easeInOutExpo: t => atEdge(t) ? t : t < 0.5 + ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) + : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2), + easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1), + easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t), + easeInOutCirc: t => ((t /= 0.5) < 1) + ? -0.5 * (Math.sqrt(1 - t * t) - 1) + : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), + easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3), + easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3), + easeInOutElastic(t) { + const s = 0.1125; + const p = 0.45; + return atEdge(t) ? t : + t < 0.5 + ? 0.5 * elasticIn(t * 2, s, p) + : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p); + }, + easeInBack(t) { + const s = 1.70158; + return t * t * ((s + 1) * t - s); + }, + easeOutBack(t) { + const s = 1.70158; + return (t -= 1) * t * ((s + 1) * t + s) + 1; + }, + easeInOutBack(t) { + let 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: t => 1 - effects.easeOutBounce(1 - t), + easeOutBounce(t) { + const m = 7.5625; + const d = 2.75; + if (t < (1 / d)) { + return m * t * t; + } + if (t < (2 / d)) { + return m * (t -= (1.5 / d)) * t + 0.75; + } + if (t < (2.5 / d)) { + return m * (t -= (2.25 / d)) * t + 0.9375; + } + return m * (t -= (2.625 / d)) * t + 0.984375; + }, + easeInOutBounce: t => (t < 0.5) + ? effects.easeInBounce(t * 2) * 0.5 + : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5, +}; + +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ +function round(v) { + return v + 0.5 | 0; +} +const lim = (v, l, h) => Math.max(Math.min(v, h), l); +function p2b(v) { + return lim(round(v * 2.55), 0, 255); +} +function n2b(v) { + return lim(round(v * 255), 0, 255); +} +function b2n(v) { + return lim(round(v / 2.55) / 100, 0, 1); +} +function n2p(v) { + return lim(round(v * 100), 0, 100); +} +const map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15}; +const hex = [...'0123456789ABCDEF']; +const h1 = b => hex[b & 0xF]; +const h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF]; +const eq = b => ((b & 0xF0) >> 4) === (b & 0xF); +const isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a); +function hexParse(str) { + var len = str.length; + var ret; + if (str[0] === '#') { + if (len === 4 || len === 5) { + ret = { + r: 255 & map$1[str[1]] * 17, + g: 255 & map$1[str[2]] * 17, + b: 255 & map$1[str[3]] * 17, + a: len === 5 ? map$1[str[4]] * 17 : 255 + }; + } else if (len === 7 || len === 9) { + ret = { + r: map$1[str[1]] << 4 | map$1[str[2]], + g: map$1[str[3]] << 4 | map$1[str[4]], + b: map$1[str[5]] << 4 | map$1[str[6]], + a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255 + }; + } + } + return ret; +} +const alpha = (a, f) => a < 255 ? f(a) : ''; +function hexString(v) { + var f = isShort(v) ? h1 : h2; + return v + ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) + : undefined; +} +const HUE_RE = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; +function hsl2rgbn(h, s, l) { + const a = s * Math.min(l, 1 - l); + const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); + return [f(0), f(8), f(4)]; +} +function hsv2rgbn(h, s, v) { + const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0); + return [f(5), f(3), f(1)]; +} +function hwb2rgbn(h, w, b) { + const rgb = hsl2rgbn(h, 1, 0.5); + let i; + if (w + b > 1) { + i = 1 / (w + b); + w *= i; + b *= i; + } + for (i = 0; i < 3; i++) { + rgb[i] *= 1 - w - b; + rgb[i] += w; + } + return rgb; +} +function hueValue(r, g, b, d, max) { + if (r === max) { + return ((g - b) / d) + (g < b ? 6 : 0); + } + if (g === max) { + return (b - r) / d + 2; + } + return (r - g) / d + 4; +} +function rgb2hsl(v) { + const range = 255; + const r = v.r / range; + const g = v.g / range; + const b = v.b / range; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + const l = (max + min) / 2; + let h, s, d; + if (max !== min) { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = hueValue(r, g, b, d, max); + h = h * 60 + 0.5; + } + return [h | 0, s || 0, l]; +} +function calln(f, a, b, c) { + return ( + Array.isArray(a) + ? f(a[0], a[1], a[2]) + : f(a, b, c) + ).map(n2b); +} +function hsl2rgb(h, s, l) { + return calln(hsl2rgbn, h, s, l); +} +function hwb2rgb(h, w, b) { + return calln(hwb2rgbn, h, w, b); +} +function hsv2rgb(h, s, v) { + return calln(hsv2rgbn, h, s, v); +} +function hue(h) { + return (h % 360 + 360) % 360; +} +function hueParse(str) { + const m = HUE_RE.exec(str); + let a = 255; + let v; + if (!m) { + return; + } + if (m[5] !== v) { + a = m[6] ? p2b(+m[5]) : n2b(+m[5]); + } + const h = hue(+m[2]); + const p1 = +m[3] / 100; + const p2 = +m[4] / 100; + if (m[1] === 'hwb') { + v = hwb2rgb(h, p1, p2); + } else if (m[1] === 'hsv') { + v = hsv2rgb(h, p1, p2); + } else { + v = hsl2rgb(h, p1, p2); + } + return { + r: v[0], + g: v[1], + b: v[2], + a: a + }; +} +function rotate(v, deg) { + var h = rgb2hsl(v); + h[0] = hue(h[0] + deg); + h = hsl2rgb(h); + v.r = h[0]; + v.g = h[1]; + v.b = h[2]; +} +function hslString(v) { + if (!v) { + return; + } + const a = rgb2hsl(v); + const h = a[0]; + const s = n2p(a[1]); + const l = n2p(a[2]); + return v.a < 255 + ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})` + : `hsl(${h}, ${s}%, ${l}%)`; +} +const map = { + x: 'dark', + Z: 'light', + Y: 're', + X: 'blu', + W: 'gr', + V: 'medium', + U: 'slate', + A: 'ee', + T: 'ol', + S: 'or', + B: 'ra', + C: 'lateg', + D: 'ights', + R: 'in', + Q: 'turquois', + E: 'hi', + P: 'ro', + O: 'al', + N: 'le', + M: 'de', + L: 'yello', + F: 'en', + K: 'ch', + G: 'arks', + H: 'ea', + I: 'ightg', + J: 'wh' +}; +const names$1 = { + OiceXe: 'f0f8ff', + antiquewEte: 'faebd7', + aqua: 'ffff', + aquamarRe: '7fffd4', + azuY: 'f0ffff', + beige: 'f5f5dc', + bisque: 'ffe4c4', + black: '0', + blanKedOmond: 'ffebcd', + Xe: 'ff', + XeviTet: '8a2be2', + bPwn: 'a52a2a', + burlywood: 'deb887', + caMtXe: '5f9ea0', + KartYuse: '7fff00', + KocTate: 'd2691e', + cSO: 'ff7f50', + cSnflowerXe: '6495ed', + cSnsilk: 'fff8dc', + crimson: 'dc143c', + cyan: 'ffff', + xXe: '8b', + xcyan: '8b8b', + xgTMnPd: 'b8860b', + xWay: 'a9a9a9', + xgYF: '6400', + xgYy: 'a9a9a9', + xkhaki: 'bdb76b', + xmagFta: '8b008b', + xTivegYF: '556b2f', + xSange: 'ff8c00', + xScEd: '9932cc', + xYd: '8b0000', + xsOmon: 'e9967a', + xsHgYF: '8fbc8f', + xUXe: '483d8b', + xUWay: '2f4f4f', + xUgYy: '2f4f4f', + xQe: 'ced1', + xviTet: '9400d3', + dAppRk: 'ff1493', + dApskyXe: 'bfff', + dimWay: '696969', + dimgYy: '696969', + dodgerXe: '1e90ff', + fiYbrick: 'b22222', + flSOwEte: 'fffaf0', + foYstWAn: '228b22', + fuKsia: 'ff00ff', + gaRsbSo: 'dcdcdc', + ghostwEte: 'f8f8ff', + gTd: 'ffd700', + gTMnPd: 'daa520', + Way: '808080', + gYF: '8000', + gYFLw: 'adff2f', + gYy: '808080', + honeyMw: 'f0fff0', + hotpRk: 'ff69b4', + RdianYd: 'cd5c5c', + Rdigo: '4b0082', + ivSy: 'fffff0', + khaki: 'f0e68c', + lavFMr: 'e6e6fa', + lavFMrXsh: 'fff0f5', + lawngYF: '7cfc00', + NmoncEffon: 'fffacd', + ZXe: 'add8e6', + ZcSO: 'f08080', + Zcyan: 'e0ffff', + ZgTMnPdLw: 'fafad2', + ZWay: 'd3d3d3', + ZgYF: '90ee90', + ZgYy: 'd3d3d3', + ZpRk: 'ffb6c1', + ZsOmon: 'ffa07a', + ZsHgYF: '20b2aa', + ZskyXe: '87cefa', + ZUWay: '778899', + ZUgYy: '778899', + ZstAlXe: 'b0c4de', + ZLw: 'ffffe0', + lime: 'ff00', + limegYF: '32cd32', + lRF: 'faf0e6', + magFta: 'ff00ff', + maPon: '800000', + VaquamarRe: '66cdaa', + VXe: 'cd', + VScEd: 'ba55d3', + VpurpN: '9370db', + VsHgYF: '3cb371', + VUXe: '7b68ee', + VsprRggYF: 'fa9a', + VQe: '48d1cc', + VviTetYd: 'c71585', + midnightXe: '191970', + mRtcYam: 'f5fffa', + mistyPse: 'ffe4e1', + moccasR: 'ffe4b5', + navajowEte: 'ffdead', + navy: '80', + Tdlace: 'fdf5e6', + Tive: '808000', + TivedBb: '6b8e23', + Sange: 'ffa500', + SangeYd: 'ff4500', + ScEd: 'da70d6', + pOegTMnPd: 'eee8aa', + pOegYF: '98fb98', + pOeQe: 'afeeee', + pOeviTetYd: 'db7093', + papayawEp: 'ffefd5', + pHKpuff: 'ffdab9', + peru: 'cd853f', + pRk: 'ffc0cb', + plum: 'dda0dd', + powMrXe: 'b0e0e6', + purpN: '800080', + YbeccapurpN: '663399', + Yd: 'ff0000', + Psybrown: 'bc8f8f', + PyOXe: '4169e1', + saddNbPwn: '8b4513', + sOmon: 'fa8072', + sandybPwn: 'f4a460', + sHgYF: '2e8b57', + sHshell: 'fff5ee', + siFna: 'a0522d', + silver: 'c0c0c0', + skyXe: '87ceeb', + UXe: '6a5acd', + UWay: '708090', + UgYy: '708090', + snow: 'fffafa', + sprRggYF: 'ff7f', + stAlXe: '4682b4', + tan: 'd2b48c', + teO: '8080', + tEstN: 'd8bfd8', + tomato: 'ff6347', + Qe: '40e0d0', + viTet: 'ee82ee', + JHt: 'f5deb3', + wEte: 'ffffff', + wEtesmoke: 'f5f5f5', + Lw: 'ffff00', + LwgYF: '9acd32' +}; +function unpack() { + const unpacked = {}; + const keys = Object.keys(names$1); + const tkeys = Object.keys(map); + let i, j, k, ok, nk; + for (i = 0; i < keys.length; i++) { + ok = nk = keys[i]; + for (j = 0; j < tkeys.length; j++) { + k = tkeys[j]; + nk = nk.replace(k, map[k]); + } + k = parseInt(names$1[ok], 16); + unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF]; + } + return unpacked; +} +let names; +function nameParse(str) { + if (!names) { + names = unpack(); + names.transparent = [0, 0, 0, 0]; + } + const a = names[str.toLowerCase()]; + return a && { + r: a[0], + g: a[1], + b: a[2], + a: a.length === 4 ? a[3] : 255 + }; +} +const RGB_RE = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; +function rgbParse(str) { + const m = RGB_RE.exec(str); + let a = 255; + let r, g, b; + if (!m) { + return; + } + if (m[7] !== r) { + const v = +m[7]; + a = m[8] ? p2b(v) : lim(v * 255, 0, 255); + } + r = +m[1]; + g = +m[3]; + b = +m[5]; + r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255)); + g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255)); + b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255)); + return { + r: r, + g: g, + b: b, + a: a + }; +} +function rgbString(v) { + return v && ( + v.a < 255 + ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})` + : `rgb(${v.r}, ${v.g}, ${v.b})` + ); +} +const to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055; +const from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); +function interpolate(rgb1, rgb2, t) { + const r = from(b2n(rgb1.r)); + const g = from(b2n(rgb1.g)); + const b = from(b2n(rgb1.b)); + return { + r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))), + g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))), + b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))), + a: rgb1.a + t * (rgb2.a - rgb1.a) + }; +} +function modHSL(v, i, ratio) { + if (v) { + let tmp = rgb2hsl(v); + tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1)); + tmp = hsl2rgb(tmp); + v.r = tmp[0]; + v.g = tmp[1]; + v.b = tmp[2]; + } +} +function clone(v, proto) { + return v ? Object.assign(proto || {}, v) : v; +} +function fromObject(input) { + var v = {r: 0, g: 0, b: 0, a: 255}; + if (Array.isArray(input)) { + if (input.length >= 3) { + v = {r: input[0], g: input[1], b: input[2], a: 255}; + if (input.length > 3) { + v.a = n2b(input[3]); + } + } + } else { + v = clone(input, {r: 0, g: 0, b: 0, a: 1}); + v.a = n2b(v.a); + } + return v; +} +function functionParse(str) { + if (str.charAt(0) === 'r') { + return rgbParse(str); + } + return hueParse(str); +} +class Color { + constructor(input) { + if (input instanceof Color) { + return input; + } + const type = typeof input; + let v; + if (type === 'object') { + v = fromObject(input); + } else if (type === 'string') { + v = hexParse(input) || nameParse(input) || functionParse(input); + } + this._rgb = v; + this._valid = !!v; + } + get valid() { + return this._valid; + } + get rgb() { + var v = clone(this._rgb); + if (v) { + v.a = b2n(v.a); + } + return v; + } + set rgb(obj) { + this._rgb = fromObject(obj); + } + rgbString() { + return this._valid ? rgbString(this._rgb) : undefined; + } + hexString() { + return this._valid ? hexString(this._rgb) : undefined; + } + hslString() { + return this._valid ? hslString(this._rgb) : undefined; + } + mix(color, weight) { + if (color) { + const c1 = this.rgb; + const c2 = color.rgb; + let w2; + const p = weight === w2 ? 0.5 : weight; + const w = 2 * p - 1; + const a = c1.a - c2.a; + const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0; + w2 = 1 - w1; + c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5; + c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5; + c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5; + c1.a = p * c1.a + (1 - p) * c2.a; + this.rgb = c1; + } + return this; + } + interpolate(color, t) { + if (color) { + this._rgb = interpolate(this._rgb, color._rgb, t); + } + return this; + } + clone() { + return new Color(this.rgb); + } + alpha(a) { + this._rgb.a = n2b(a); + return this; + } + clearer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 - ratio; + return this; + } + greyscale() { + const rgb = this._rgb; + const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11); + rgb.r = rgb.g = rgb.b = val; + return this; + } + opaquer(ratio) { + const rgb = this._rgb; + rgb.a *= 1 + ratio; + return this; + } + negate() { + const v = this._rgb; + v.r = 255 - v.r; + v.g = 255 - v.g; + v.b = 255 - v.b; + return this; + } + lighten(ratio) { + modHSL(this._rgb, 2, ratio); + return this; + } + darken(ratio) { + modHSL(this._rgb, 2, -ratio); + return this; + } + saturate(ratio) { + modHSL(this._rgb, 1, ratio); + return this; + } + desaturate(ratio) { + modHSL(this._rgb, 1, -ratio); + return this; + } + rotate(deg) { + rotate(this._rgb, deg); + return this; + } +} +function index_esm(input) { + return new Color(input); +} + +function isPatternOrGradient(value) { + if (value && typeof value === 'object') { + const type = value.toString(); + return type === '[object CanvasPattern]' || type === '[object CanvasGradient]'; + } + return false; +} +function color(value) { + return isPatternOrGradient(value) ? value : index_esm(value); +} +function getHoverColor(value) { + return isPatternOrGradient(value) + ? value + : index_esm(value).saturate(0.5).darken(0.1).hexString(); +} + +const overrides = Object.create(null); +const descriptors = Object.create(null); +function getScope$1(node, key) { + if (!key) { + return node; + } + const keys = key.split('.'); + for (let i = 0, n = keys.length; i < n; ++i) { + const k = keys[i]; + node = node[k] || (node[k] = Object.create(null)); + } + return node; +} +function set(root, scope, values) { + if (typeof scope === 'string') { + return merge(getScope$1(root, scope), values); + } + return merge(getScope$1(root, ''), scope); +} +class Defaults { + constructor(_descriptors) { + this.animation = undefined; + this.backgroundColor = 'rgba(0,0,0,0.1)'; + this.borderColor = 'rgba(0,0,0,0.1)'; + this.color = '#666'; + this.datasets = {}; + this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio(); + this.elements = {}; + this.events = [ + 'mousemove', + 'mouseout', + 'click', + 'touchstart', + 'touchmove' + ]; + this.font = { + family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + size: 12, + style: 'normal', + lineHeight: 1.2, + weight: null + }; + this.hover = {}; + this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor); + this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor); + this.hoverColor = (ctx, options) => getHoverColor(options.color); + this.indexAxis = 'x'; + this.interaction = { + mode: 'nearest', + intersect: true, + includeInvisible: false + }; + this.maintainAspectRatio = true; + this.onHover = null; + this.onClick = null; + this.parsing = true; + this.plugins = {}; + this.responsive = true; + this.scale = undefined; + this.scales = {}; + this.showLine = true; + this.drawActiveElementsOnTop = true; + this.describe(_descriptors); + } + set(scope, values) { + return set(this, scope, values); + } + get(scope) { + return getScope$1(this, scope); + } + describe(scope, values) { + return set(descriptors, scope, values); + } + override(scope, values) { + return set(overrides, scope, values); + } + route(scope, name, targetScope, targetName) { + const scopeObject = getScope$1(this, scope); + const targetScopeObject = getScope$1(this, targetScope); + const privateName = '_' + name; + Object.defineProperties(scopeObject, { + [privateName]: { + value: scopeObject[name], + writable: true + }, + [name]: { + enumerable: true, + get() { + const local = this[privateName]; + const target = targetScopeObject[targetName]; + if (isObject(local)) { + return Object.assign({}, target, local); + } + return valueOrDefault(local, target); + }, + set(value) { + this[privateName] = value; + } + } + }); + } +} +var defaults = new Defaults({ + _scriptable: (name) => !name.startsWith('on'), + _indexable: (name) => name !== 'events', + hover: { + _fallback: 'interaction' + }, + interaction: { + _scriptable: false, + _indexable: false, + } +}); + +function toFontString(font) { + if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { + return null; + } + return (font.style ? font.style + ' ' : '') + + (font.weight ? font.weight + ' ' : '') + + font.size + 'px ' + + font.family; +} +function _measureText(ctx, data, gc, longest, string) { + let textWidth = data[string]; + if (!textWidth) { + textWidth = data[string] = ctx.measureText(string).width; + gc.push(string); + } + if (textWidth > longest) { + longest = textWidth; + } + return longest; +} +function _longestText(ctx, font, arrayOfThings, cache) { + cache = cache || {}; + let data = cache.data = cache.data || {}; + let gc = cache.garbageCollect = cache.garbageCollect || []; + if (cache.font !== font) { + data = cache.data = {}; + gc = cache.garbageCollect = []; + cache.font = font; + } + ctx.save(); + ctx.font = font; + let longest = 0; + const ilen = arrayOfThings.length; + let i, j, jlen, thing, nestedThing; + for (i = 0; i < ilen; i++) { + thing = arrayOfThings[i]; + if (thing !== undefined && thing !== null && isArray(thing) !== true) { + longest = _measureText(ctx, data, gc, longest, thing); + } else if (isArray(thing)) { + for (j = 0, jlen = thing.length; j < jlen; j++) { + nestedThing = thing[j]; + if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) { + longest = _measureText(ctx, data, gc, longest, nestedThing); + } + } + } + } + ctx.restore(); + const gcLen = gc.length / 2; + if (gcLen > arrayOfThings.length) { + for (i = 0; i < gcLen; i++) { + delete data[gc[i]]; + } + gc.splice(0, gcLen); + } + return longest; +} +function _alignPixel(chart, pixel, width) { + const devicePixelRatio = chart.currentDevicePixelRatio; + const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0; + return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth; +} +function clearCanvas(canvas, ctx) { + ctx = ctx || canvas.getContext('2d'); + ctx.save(); + ctx.resetTransform(); + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.restore(); +} +function drawPoint(ctx, options, x, y) { + drawPointLegend(ctx, options, x, y, null); +} +function drawPointLegend(ctx, options, x, y, w) { + let type, xOffset, yOffset, size, cornerRadius, width; + const style = options.pointStyle; + const rotation = options.rotation; + const radius = options.radius; + let 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: + if (w) { + ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); + } else { + ctx.arc(x, y, radius, 0, TAU); + } + 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': + 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; + width = w ? w / 2 : size; + ctx.rect(x - width, y - size, 2 * width, 2 * size); + break; + } + rad += QUARTER_PI; + 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; + 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 = w ? w / 2 : 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(); + if (options.borderWidth > 0) { + ctx.stroke(); + } +} +function _isPointInArea(point, area, margin) { + margin = margin || 0.5; + return !area || (point && point.x > area.left - margin && point.x < area.right + margin && + point.y > area.top - margin && point.y < area.bottom + margin); +} +function clipArea(ctx, area) { + ctx.save(); + ctx.beginPath(); + ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); + ctx.clip(); +} +function unclipArea(ctx) { + ctx.restore(); +} +function _steppedLineTo(ctx, previous, target, flip, mode) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + if (mode === 'middle') { + const midpoint = (previous.x + target.x) / 2.0; + ctx.lineTo(midpoint, previous.y); + ctx.lineTo(midpoint, target.y); + } else if (mode === 'after' !== !!flip) { + ctx.lineTo(previous.x, target.y); + } else { + ctx.lineTo(target.x, previous.y); + } + ctx.lineTo(target.x, target.y); +} +function _bezierCurveTo(ctx, previous, target, flip) { + if (!previous) { + return ctx.lineTo(target.x, target.y); + } + ctx.bezierCurveTo( + flip ? previous.cp1x : previous.cp2x, + flip ? previous.cp1y : previous.cp2y, + flip ? target.cp2x : target.cp1x, + flip ? target.cp2y : target.cp1y, + target.x, + target.y); +} +function renderText(ctx, text, x, y, font, opts = {}) { + const lines = isArray(text) ? text : [text]; + const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ''; + let i, line; + ctx.save(); + ctx.font = font.string; + setRenderOpts(ctx, opts); + for (i = 0; i < lines.length; ++i) { + line = lines[i]; + if (stroke) { + if (opts.strokeColor) { + ctx.strokeStyle = opts.strokeColor; + } + if (!isNullOrUndef(opts.strokeWidth)) { + ctx.lineWidth = opts.strokeWidth; + } + ctx.strokeText(line, x, y, opts.maxWidth); + } + ctx.fillText(line, x, y, opts.maxWidth); + decorateText(ctx, x, y, line, opts); + y += font.lineHeight; + } + ctx.restore(); +} +function setRenderOpts(ctx, opts) { + if (opts.translation) { + ctx.translate(opts.translation[0], opts.translation[1]); + } + if (!isNullOrUndef(opts.rotation)) { + ctx.rotate(opts.rotation); + } + if (opts.color) { + ctx.fillStyle = opts.color; + } + if (opts.textAlign) { + ctx.textAlign = opts.textAlign; + } + if (opts.textBaseline) { + ctx.textBaseline = opts.textBaseline; + } +} +function decorateText(ctx, x, y, line, opts) { + if (opts.strikethrough || opts.underline) { + const metrics = ctx.measureText(line); + const left = x - metrics.actualBoundingBoxLeft; + const right = x + metrics.actualBoundingBoxRight; + const top = y - metrics.actualBoundingBoxAscent; + const bottom = y + metrics.actualBoundingBoxDescent; + const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom; + ctx.strokeStyle = ctx.fillStyle; + ctx.beginPath(); + ctx.lineWidth = opts.decorationWidth || 2; + ctx.moveTo(left, yDecoration); + ctx.lineTo(right, yDecoration); + ctx.stroke(); + } +} +function addRoundedRectPath(ctx, rect) { + const {x, y, w, h, radius} = rect; + ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); + ctx.lineTo(x, y + h - radius.bottomLeft); + ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true); + ctx.lineTo(x + w - radius.bottomRight, y + h); + ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true); + ctx.lineTo(x + w, y + radius.topRight); + ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); + ctx.lineTo(x + radius.topLeft, y); +} + +const LINE_HEIGHT = new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/); +const FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/); +function toLineHeight(value, size) { + const matches = ('' + value).match(LINE_HEIGHT); + 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; +} +const numberOrZero = v => +v || 0; +function _readValueToProps(value, props) { + const ret = {}; + const objProps = isObject(props); + const keys = objProps ? Object.keys(props) : props; + const read = isObject(value) + ? objProps + ? prop => valueOrDefault(value[prop], value[props[prop]]) + : prop => value[prop] + : () => value; + for (const prop of keys) { + ret[prop] = numberOrZero(read(prop)); + } + return ret; +} +function toTRBL(value) { + return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'}); +} +function toTRBLCorners(value) { + return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']); +} +function toPadding(value) { + const obj = toTRBL(value); + obj.width = obj.left + obj.right; + obj.height = obj.top + obj.bottom; + return obj; +} +function toFont(options, fallback) { + options = options || {}; + fallback = fallback || defaults.font; + let size = valueOrDefault(options.size, fallback.size); + if (typeof size === 'string') { + size = parseInt(size, 10); + } + let style = valueOrDefault(options.style, fallback.style); + if (style && !('' + style).match(FONT_STYLE)) { + console.warn('Invalid font style specified: "' + style + '"'); + style = ''; + } + const font = { + family: valueOrDefault(options.family, fallback.family), + lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size), + size, + style, + weight: valueOrDefault(options.weight, fallback.weight), + string: '' + }; + font.string = toFontString(font); + return font; +} +function resolve(inputs, context, index, info) { + let cacheable = true; + let 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 && isArray(value)) { + value = value[index % value.length]; + cacheable = false; + } + if (value !== undefined) { + if (info && !cacheable) { + info.cacheable = false; + } + return value; + } + } +} +function _addGrace(minmax, grace, beginAtZero) { + const {min, max} = minmax; + const change = toDimension(grace, (max - min) / 2); + const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add; + return { + min: keepZero(min, -Math.abs(change)), + max: keepZero(max, change) + }; +} +function createContext(parentContext, context) { + return Object.assign(Object.create(parentContext), context); +} + +function _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) { + if (!defined(fallback)) { + fallback = _resolve('_fallback', scopes); + } + const cache = { + [Symbol.toStringTag]: 'Object', + _cacheable: true, + _scopes: scopes, + _rootScopes: rootScopes, + _fallback: fallback, + _getTarget: getTarget, + override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback), + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete target._keys; + delete scopes[0][prop]; + return true; + }, + get(target, prop) { + return _cached(target, prop, + () => _resolveWithPrefixes(prop, prefixes, scopes, target)); + }, + getOwnPropertyDescriptor(target, prop) { + return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(scopes[0]); + }, + has(target, prop) { + return getKeysFromAllScopes(target).includes(prop); + }, + ownKeys(target) { + return getKeysFromAllScopes(target); + }, + set(target, prop, value) { + const storage = target._storage || (target._storage = getTarget()); + target[prop] = storage[prop] = value; + delete target._keys; + return true; + } + }); +} +function _attachContext(proxy, context, subProxy, descriptorDefaults) { + const cache = { + _cacheable: false, + _proxy: proxy, + _context: context, + _subProxy: subProxy, + _stack: new Set(), + _descriptors: _descriptors(proxy, descriptorDefaults), + setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults), + override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) + }; + return new Proxy(cache, { + deleteProperty(target, prop) { + delete target[prop]; + delete proxy[prop]; + return true; + }, + get(target, prop, receiver) { + return _cached(target, prop, + () => _resolveWithContext(target, prop, receiver)); + }, + getOwnPropertyDescriptor(target, prop) { + return target._descriptors.allKeys + ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined + : Reflect.getOwnPropertyDescriptor(proxy, prop); + }, + getPrototypeOf() { + return Reflect.getPrototypeOf(proxy); + }, + has(target, prop) { + return Reflect.has(proxy, prop); + }, + ownKeys() { + return Reflect.ownKeys(proxy); + }, + set(target, prop, value) { + proxy[prop] = value; + delete target[prop]; + return true; + } + }); +} +function _descriptors(proxy, defaults = {scriptable: true, indexable: true}) { + const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy; + return { + allKeys: _allKeys, + scriptable: _scriptable, + indexable: _indexable, + isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable, + isIndexable: isFunction(_indexable) ? _indexable : () => _indexable + }; +} +const readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name; +const needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' && + (Object.getPrototypeOf(value) === null || value.constructor === Object); +function _cached(target, prop, resolve) { + if (Object.prototype.hasOwnProperty.call(target, prop)) { + return target[prop]; + } + const value = resolve(); + target[prop] = value; + return value; +} +function _resolveWithContext(target, prop, receiver) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + let value = _proxy[prop]; + if (isFunction(value) && descriptors.isScriptable(prop)) { + value = _resolveScriptable(prop, value, target, receiver); + } + if (isArray(value) && value.length) { + value = _resolveArray(prop, value, target, descriptors.isIndexable); + } + if (needsSubResolver(prop, value)) { + value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors); + } + return value; +} +function _resolveScriptable(prop, value, target, receiver) { + const {_proxy, _context, _subProxy, _stack} = target; + if (_stack.has(prop)) { + throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop); + } + _stack.add(prop); + value = value(_context, _subProxy || receiver); + _stack.delete(prop); + if (needsSubResolver(prop, value)) { + value = createSubResolver(_proxy._scopes, _proxy, prop, value); + } + return value; +} +function _resolveArray(prop, value, target, isIndexable) { + const {_proxy, _context, _subProxy, _descriptors: descriptors} = target; + if (defined(_context.index) && isIndexable(prop)) { + value = value[_context.index % value.length]; + } else if (isObject(value[0])) { + const arr = value; + const scopes = _proxy._scopes.filter(s => s !== arr); + value = []; + for (const item of arr) { + const resolver = createSubResolver(scopes, _proxy, prop, item); + value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors)); + } + } + return value; +} +function resolveFallback(fallback, prop, value) { + return isFunction(fallback) ? fallback(prop, value) : fallback; +} +const getScope = (key, parent) => key === true ? parent + : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined; +function addScopes(set, parentScopes, key, parentFallback, value) { + for (const parent of parentScopes) { + const scope = getScope(key, parent); + if (scope) { + set.add(scope); + const fallback = resolveFallback(scope._fallback, key, value); + if (defined(fallback) && fallback !== key && fallback !== parentFallback) { + return fallback; + } + } else if (scope === false && defined(parentFallback) && key !== parentFallback) { + return null; + } + } + return false; +} +function createSubResolver(parentScopes, resolver, prop, value) { + const rootScopes = resolver._rootScopes; + const fallback = resolveFallback(resolver._fallback, prop, value); + const allScopes = [...parentScopes, ...rootScopes]; + const set = new Set(); + set.add(value); + let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value); + if (key === null) { + return false; + } + if (defined(fallback) && fallback !== prop) { + key = addScopesFromKey(set, allScopes, fallback, key, value); + if (key === null) { + return false; + } + } + return _createResolver(Array.from(set), [''], rootScopes, fallback, + () => subGetTarget(resolver, prop, value)); +} +function addScopesFromKey(set, allScopes, key, fallback, item) { + while (key) { + key = addScopes(set, allScopes, key, fallback, item); + } + return key; +} +function subGetTarget(resolver, prop, value) { + const parent = resolver._getTarget(); + if (!(prop in parent)) { + parent[prop] = {}; + } + const target = parent[prop]; + if (isArray(target) && isObject(value)) { + return value; + } + return target; +} +function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { + let value; + for (const prefix of prefixes) { + value = _resolve(readKey(prefix, prop), scopes); + if (defined(value)) { + return needsSubResolver(prop, value) + ? createSubResolver(scopes, proxy, prop, value) + : value; + } + } +} +function _resolve(key, scopes) { + for (const scope of scopes) { + if (!scope) { + continue; + } + const value = scope[key]; + if (defined(value)) { + return value; + } + } +} +function getKeysFromAllScopes(target) { + let keys = target._keys; + if (!keys) { + keys = target._keys = resolveKeysFromAllScopes(target._scopes); + } + return keys; +} +function resolveKeysFromAllScopes(scopes) { + const set = new Set(); + for (const scope of scopes) { + for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) { + set.add(key); + } + } + return Array.from(set); +} +function _parseObjectDataRadialScale(meta, data, start, count) { + const {iScale} = meta; + const {key = 'r'} = this._parsing; + const parsed = new Array(count); + let i, ilen, index, item; + for (i = 0, ilen = count; i < ilen; ++i) { + index = i + start; + item = data[index]; + parsed[i] = { + r: iScale.parse(resolveObjectKey(item, key), index) + }; + } + return parsed; +} + +const EPSILON = Number.EPSILON || 1e-14; +const getPoint = (points, i) => i < points.length && !points[i].skip && points[i]; +const getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x'; +function splineCurve(firstPoint, middlePoint, afterPoint, t) { + const previous = firstPoint.skip ? middlePoint : firstPoint; + const current = middlePoint; + const next = afterPoint.skip ? middlePoint : afterPoint; + const d01 = distanceBetweenPoints(current, previous); + const d12 = distanceBetweenPoints(next, current); + let s01 = d01 / (d01 + d12); + let s12 = d12 / (d01 + d12); + s01 = isNaN(s01) ? 0 : s01; + s12 = isNaN(s12) ? 0 : s12; + const fa = t * s01; + const fb = t * s12; + return { + previous: { + x: current.x - fa * (next.x - previous.x), + y: current.y - fa * (next.y - previous.y) + }, + next: { + x: current.x + fb * (next.x - previous.x), + y: current.y + fb * (next.y - previous.y) + } + }; +} +function monotoneAdjust(points, deltaK, mK) { + const pointsLen = points.length; + let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen - 1; ++i) { + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent || !pointAfter) { + continue; + } + if (almostEquals(deltaK[i], 0, EPSILON)) { + mK[i] = mK[i + 1] = 0; + continue; + } + alphaK = mK[i] / deltaK[i]; + betaK = mK[i + 1] / deltaK[i]; + squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); + if (squaredMagnitude <= 9) { + continue; + } + tauK = 3 / Math.sqrt(squaredMagnitude); + mK[i] = alphaK * tauK * deltaK[i]; + mK[i + 1] = betaK * tauK * deltaK[i]; + } +} +function monotoneCompute(points, mK, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + let delta, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (let i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + const iPixel = pointCurrent[indexAxis]; + const vPixel = pointCurrent[valueAxis]; + if (pointBefore) { + delta = (iPixel - pointBefore[indexAxis]) / 3; + pointCurrent[`cp1${indexAxis}`] = iPixel - delta; + pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; + } + if (pointAfter) { + delta = (pointAfter[indexAxis] - iPixel) / 3; + pointCurrent[`cp2${indexAxis}`] = iPixel + delta; + pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; + } + } +} +function splineCurveMonotone(points, indexAxis = 'x') { + const valueAxis = getValueAxis(indexAxis); + const pointsLen = points.length; + const deltaK = Array(pointsLen).fill(0); + const mK = Array(pointsLen); + let i, pointBefore, pointCurrent; + let pointAfter = getPoint(points, 0); + for (i = 0; i < pointsLen; ++i) { + pointBefore = pointCurrent; + pointCurrent = pointAfter; + pointAfter = getPoint(points, i + 1); + if (!pointCurrent) { + continue; + } + if (pointAfter) { + const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; + deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; + } + mK[i] = !pointBefore ? deltaK[i] + : !pointAfter ? deltaK[i - 1] + : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0 + : (deltaK[i - 1] + deltaK[i]) / 2; + } + monotoneAdjust(points, deltaK, mK); + monotoneCompute(points, mK, indexAxis); +} +function capControlPoint(pt, min, max) { + return Math.max(Math.min(pt, max), min); +} +function capBezierPoints(points, area) { + let i, ilen, point, inArea, inAreaPrev; + let inAreaNext = _isPointInArea(points[0], area); + for (i = 0, ilen = points.length; i < ilen; ++i) { + inAreaPrev = inArea; + inArea = inAreaNext; + inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); + if (!inArea) { + continue; + } + point = points[i]; + if (inAreaPrev) { + point.cp1x = capControlPoint(point.cp1x, area.left, area.right); + point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); + } + if (inAreaNext) { + point.cp2x = capControlPoint(point.cp2x, area.left, area.right); + point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); + } + } +} +function _updateBezierControlPoints(points, options, area, loop, indexAxis) { + let i, ilen, point, controlPoints; + if (options.spanGaps) { + points = points.filter((pt) => !pt.skip); + } + if (options.cubicInterpolationMode === 'monotone') { + splineCurveMonotone(points, indexAxis); + } else { + let prev = loop ? points[points.length - 1] : points[0]; + for (i = 0, ilen = points.length; i < ilen; ++i) { + point = points[i]; + controlPoints = splineCurve( + prev, + point, + points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], + options.tension + ); + point.cp1x = controlPoints.previous.x; + point.cp1y = controlPoints.previous.y; + point.cp2x = controlPoints.next.x; + point.cp2y = controlPoints.next.y; + prev = point; + } + } + if (options.capBezierPoints) { + capBezierPoints(points, area); + } +} + +function _isDomSupported() { + return typeof window !== 'undefined' && typeof document !== 'undefined'; +} +function _getParentNode(domNode) { + let parent = domNode.parentNode; + if (parent && parent.toString() === '[object ShadowRoot]') { + parent = parent.host; + } + return parent; +} +function parseMaxStyle(styleValue, node, parentProperty) { + let valueInPixels; + if (typeof styleValue === 'string') { + valueInPixels = parseInt(styleValue, 10); + if (styleValue.indexOf('%') !== -1) { + valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty]; + } + } else { + valueInPixels = styleValue; + } + return valueInPixels; +} +const getComputedStyle = (element) => window.getComputedStyle(element, null); +function getStyle(el, property) { + return getComputedStyle(el).getPropertyValue(property); +} +const positions = ['top', 'right', 'bottom', 'left']; +function getPositionedStyle(styles, style, suffix) { + const result = {}; + suffix = suffix ? '-' + suffix : ''; + for (let i = 0; i < 4; i++) { + const pos = positions[i]; + result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0; + } + result.width = result.left + result.right; + result.height = result.top + result.bottom; + return result; +} +const useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot); +function getCanvasPosition(e, canvas) { + const touches = e.touches; + const source = touches && touches.length ? touches[0] : e; + const {offsetX, offsetY} = source; + let box = false; + let x, y; + if (useOffsetPos(offsetX, offsetY, e.target)) { + x = offsetX; + y = offsetY; + } else { + const rect = canvas.getBoundingClientRect(); + x = source.clientX - rect.left; + y = source.clientY - rect.top; + box = true; + } + return {x, y, box}; +} +function getRelativePosition(evt, chart) { + if ('native' in evt) { + return evt; + } + const {canvas, currentDevicePixelRatio} = chart; + const style = getComputedStyle(canvas); + const borderBox = style.boxSizing === 'border-box'; + const paddings = getPositionedStyle(style, 'padding'); + const borders = getPositionedStyle(style, 'border', 'width'); + const {x, y, box} = getCanvasPosition(evt, canvas); + const xOffset = paddings.left + (box && borders.left); + const yOffset = paddings.top + (box && borders.top); + let {width, height} = chart; + if (borderBox) { + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + return { + x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio), + y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio) + }; +} +function getContainerSize(canvas, width, height) { + let maxWidth, maxHeight; + if (width === undefined || height === undefined) { + const container = _getParentNode(canvas); + if (!container) { + width = canvas.clientWidth; + height = canvas.clientHeight; + } else { + const rect = container.getBoundingClientRect(); + const containerStyle = getComputedStyle(container); + const containerBorder = getPositionedStyle(containerStyle, 'border', 'width'); + const containerPadding = getPositionedStyle(containerStyle, 'padding'); + width = rect.width - containerPadding.width - containerBorder.width; + height = rect.height - containerPadding.height - containerBorder.height; + maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth'); + maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight'); + } + } + return { + width, + height, + maxWidth: maxWidth || INFINITY, + maxHeight: maxHeight || INFINITY + }; +} +const round1 = v => Math.round(v * 10) / 10; +function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { + const style = getComputedStyle(canvas); + const margins = getPositionedStyle(style, 'margin'); + const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY; + const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY; + const containerSize = getContainerSize(canvas, bbWidth, bbHeight); + let {width, height} = containerSize; + if (style.boxSizing === 'content-box') { + const borders = getPositionedStyle(style, 'border', 'width'); + const paddings = getPositionedStyle(style, 'padding'); + width -= paddings.width + borders.width; + height -= paddings.height + borders.height; + } + width = Math.max(0, width - margins.width); + height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height); + width = round1(Math.min(width, maxWidth, containerSize.maxWidth)); + height = round1(Math.min(height, maxHeight, containerSize.maxHeight)); + if (width && !height) { + height = round1(width / 2); + } + return { + width, + height + }; +} +function retinaScale(chart, forceRatio, forceStyle) { + const pixelRatio = forceRatio || 1; + const deviceHeight = Math.floor(chart.height * pixelRatio); + const deviceWidth = Math.floor(chart.width * pixelRatio); + chart.height = deviceHeight / pixelRatio; + chart.width = deviceWidth / pixelRatio; + const canvas = chart.canvas; + if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) { + canvas.style.height = `${chart.height}px`; + canvas.style.width = `${chart.width}px`; + } + if (chart.currentDevicePixelRatio !== pixelRatio + || canvas.height !== deviceHeight + || canvas.width !== deviceWidth) { + chart.currentDevicePixelRatio = pixelRatio; + canvas.height = deviceHeight; + canvas.width = deviceWidth; + chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); + return true; + } + return false; +} +const supportsEventListenerOptions = (function() { + let passiveSupported = false; + try { + const options = { + get passive() { + passiveSupported = true; + return false; + } + }; + window.addEventListener('test', null, options); + window.removeEventListener('test', null, options); + } catch (e) { + } + return passiveSupported; +}()); +function readUsedSize(element, property) { + const value = getStyle(element, property); + const matches = value && value.match(/^(\d+)(\.\d+)?px$/); + return matches ? +matches[1] : undefined; +} + +function _pointInLine(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: p1.y + t * (p2.y - p1.y) + }; +} +function _steppedInterpolation(p1, p2, t, mode) { + return { + x: p1.x + t * (p2.x - p1.x), + y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y + : mode === 'after' ? t < 1 ? p1.y : p2.y + : t > 0 ? p2.y : p1.y + }; +} +function _bezierInterpolation(p1, p2, t, mode) { + const cp1 = {x: p1.cp2x, y: p1.cp2y}; + const cp2 = {x: p2.cp1x, y: p2.cp1y}; + const a = _pointInLine(p1, cp1, t); + const b = _pointInLine(cp1, cp2, t); + const c = _pointInLine(cp2, p2, t); + const d = _pointInLine(a, b, t); + const e = _pointInLine(b, c, t); + return _pointInLine(d, e, t); +} + +const intlCache = new Map(); +function getNumberFormat(locale, options) { + options = options || {}; + const cacheKey = locale + JSON.stringify(options); + let formatter = intlCache.get(cacheKey); + if (!formatter) { + formatter = new Intl.NumberFormat(locale, options); + intlCache.set(cacheKey, formatter); + } + return formatter; +} +function formatNumber(num, locale, options) { + return getNumberFormat(locale, options).format(num); +} + +const getRightToLeftAdapter = function(rectX, width) { + return { + x(x) { + return rectX + rectX + width - x; + }, + setWidth(w) { + width = w; + }, + textAlign(align) { + if (align === 'center') { + return align; + } + return align === 'right' ? 'left' : 'right'; + }, + xPlus(x, value) { + return x - value; + }, + leftForLtr(x, itemWidth) { + return x - itemWidth; + }, + }; +}; +const getLeftToRightAdapter = function() { + return { + x(x) { + return x; + }, + setWidth(w) { + }, + textAlign(align) { + return align; + }, + xPlus(x, value) { + return x + value; + }, + leftForLtr(x, _itemWidth) { + return x; + }, + }; +}; +function getRtlAdapter(rtl, rectX, width) { + return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter(); +} +function overrideTextDirection(ctx, direction) { + let 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; + } +} +function restoreTextDirection(ctx, original) { + if (original !== undefined) { + delete ctx.prevTextDirection; + ctx.canvas.style.setProperty('direction', original[0], original[1]); + } +} + +function propertyFn(property) { + if (property === 'angle') { + return { + between: _angleBetween, + compare: _angleDiff, + normalize: _normalizeAngle, + }; + } + return { + between: _isBetween, + compare: (a, b) => a - b, + normalize: x => x + }; +} +function normalizeSegment({start, end, count, loop, style}) { + return { + start: start % count, + end: end % count, + loop: loop && (end - start + 1) % count === 0, + style + }; +} +function getSegment(segment, points, bounds) { + const {property, start: startBound, end: endBound} = bounds; + const {between, normalize} = propertyFn(property); + const count = points.length; + let {start, end, loop} = segment; + let i, ilen; + if (loop) { + start += count; + end += count; + for (i = 0, ilen = count; i < ilen; ++i) { + if (!between(normalize(points[start % count][property]), startBound, endBound)) { + break; + } + start--; + end--; + } + start %= count; + end %= count; + } + if (end < start) { + end += count; + } + return {start, end, loop, style: segment.style}; +} +function _boundSegment(segment, points, bounds) { + if (!bounds) { + return [segment]; + } + const {property, start: startBound, end: endBound} = bounds; + const count = points.length; + const {compare, between, normalize} = propertyFn(property); + const {start, end, loop, style} = getSegment(segment, points, bounds); + const result = []; + let inside = false; + let subStart = null; + let value, point, prevValue; + const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; + const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value); + const shouldStart = () => inside || startIsBefore(); + const shouldStop = () => !inside || endIsBefore(); + for (let i = start, prev = start; i <= end; ++i) { + point = points[i % count]; + if (point.skip) { + continue; + } + value = normalize(point[property]); + if (value === prevValue) { + continue; + } + inside = between(value, startBound, endBound); + if (subStart === null && shouldStart()) { + subStart = compare(value, startBound) === 0 ? i : prev; + } + if (subStart !== null && shouldStop()) { + result.push(normalizeSegment({start: subStart, end: i, loop, count, style})); + subStart = null; + } + prev = i; + prevValue = value; + } + if (subStart !== null) { + result.push(normalizeSegment({start: subStart, end, loop, count, style})); + } + return result; +} +function _boundSegments(line, bounds) { + const result = []; + const segments = line.segments; + for (let i = 0; i < segments.length; i++) { + const sub = _boundSegment(segments[i], line.points, bounds); + if (sub.length) { + result.push(...sub); + } + } + return result; +} +function findStartAndEnd(points, count, loop, spanGaps) { + let start = 0; + let end = count - 1; + if (loop && !spanGaps) { + while (start < count && !points[start].skip) { + start++; + } + } + while (start < count && points[start].skip) { + start++; + } + start %= count; + if (loop) { + end += start; + } + while (end > start && points[end % count].skip) { + end--; + } + end %= count; + return {start, end}; +} +function solidSegments(points, start, max, loop) { + const count = points.length; + const result = []; + let last = start; + let prev = points[start]; + let end; + for (end = start + 1; end <= max; ++end) { + const cur = points[end % count]; + if (cur.skip || cur.stop) { + if (!prev.skip) { + loop = false; + result.push({start: start % count, end: (end - 1) % count, loop}); + start = last = cur.stop ? end : null; + } + } else { + last = end; + if (prev.skip) { + start = end; + } + } + prev = cur; + } + if (last !== null) { + result.push({start: start % count, end: last % count, loop}); + } + return result; +} +function _computeSegments(line, segmentOptions) { + const points = line.points; + const spanGaps = line.options.spanGaps; + const count = points.length; + if (!count) { + return []; + } + const loop = !!line._loop; + const {start, end} = findStartAndEnd(points, count, loop, spanGaps); + if (spanGaps === true) { + return splitByStyles(line, [{start, end, loop}], points, segmentOptions); + } + const max = end < start ? end + count : end; + const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; + return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); +} +function splitByStyles(line, segments, points, segmentOptions) { + if (!segmentOptions || !segmentOptions.setContext || !points) { + return segments; + } + return doSplitByStyles(line, segments, points, segmentOptions); +} +function doSplitByStyles(line, segments, points, segmentOptions) { + const chartContext = line._chart.getContext(); + const baseStyle = readStyle(line.options); + const {_datasetIndex: datasetIndex, options: {spanGaps}} = line; + const count = points.length; + const result = []; + let prevStyle = baseStyle; + let start = segments[0].start; + let i = start; + function addStyle(s, e, l, st) { + const dir = spanGaps ? -1 : 1; + if (s === e) { + return; + } + s += count; + while (points[s % count].skip) { + s -= dir; + } + while (points[e % count].skip) { + e += dir; + } + if (s % count !== e % count) { + result.push({start: s % count, end: e % count, loop: l, style: st}); + prevStyle = st; + start = e % count; + } + } + for (const segment of segments) { + start = spanGaps ? start : segment.start; + let prev = points[start % count]; + let style; + for (i = start + 1; i <= segment.end; i++) { + const pt = points[i % count]; + style = readStyle(segmentOptions.setContext(createContext(chartContext, { + type: 'segment', + p0: prev, + p1: pt, + p0DataIndex: (i - 1) % count, + p1DataIndex: i % count, + datasetIndex + }))); + if (styleChanged(style, prevStyle)) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + prev = pt; + prevStyle = style; + } + if (start < i - 1) { + addStyle(start, i - 1, segment.loop, prevStyle); + } + } + return result; +} +function readStyle(options) { + return { + backgroundColor: options.backgroundColor, + borderCapStyle: options.borderCapStyle, + borderDash: options.borderDash, + borderDashOffset: options.borderDashOffset, + borderJoinStyle: options.borderJoinStyle, + borderWidth: options.borderWidth, + borderColor: options.borderColor + }; +} +function styleChanged(style, prevStyle) { + return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle); +} + +export { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z }; diff --git a/scriptApl/chart.js/dist/docs/404.html b/scriptApl/chart.js/dist/docs/404.html new file mode 100644 index 00000000..a8915f05 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/404.html @@ -0,0 +1,17 @@ + + + + + + Chart.js + + + + + + + +
+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/Animation.html b/scriptApl/chart.js/dist/docs/api/classes/Animation.html new file mode 100644 index 00000000..e2f3e09b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/Animation.html @@ -0,0 +1,53 @@ + + + + + + Class: Animation | Chart.js + + + + + + + +

# Class: Animation

# Constructors

# constructor

• new Animation(cfg, target, prop, to?)

# Parameters

Name Type
cfg AnyObject
target AnyObject
prop string
to? unknown

# Defined in

animation.d.ts:5 (opens new window)

# Methods

# active

â–¸ active(): boolean

# Returns

boolean

# Defined in

animation.d.ts:6 (opens new window)


# cancel

â–¸ cancel(): void

# Returns

void

# Defined in

animation.d.ts:8 (opens new window)


# tick

â–¸ tick(date): void

# Parameters

Name Type
date number

# Returns

void

# Defined in

animation.d.ts:9 (opens new window)


# update

â–¸ update(cfg, to, date): void

# Parameters

Name Type
cfg AnyObject
to unknown
date number

# Returns

void

# Defined in

animation.d.ts:7 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/Animations.html b/scriptApl/chart.js/dist/docs/api/classes/Animations.html new file mode 100644 index 00000000..2a4e719e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/Animations.html @@ -0,0 +1,53 @@ + + + + + + Class: Animations | Chart.js + + + + + + + +

# Class: Animations

# Constructors

# constructor

• new Animations(chart, animations)

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
animations AnyObject

# Defined in

animation.d.ts:30 (opens new window)

# Methods

# configure

â–¸ configure(animations): void

# Parameters

Name Type
animations AnyObject

# Returns

void

# Defined in

animation.d.ts:31 (opens new window)


# update

â–¸ update(target, values): boolean

# Parameters

Name Type
target AnyObject
values AnyObject

# Returns

boolean

# Defined in

animation.d.ts:32 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/Animator.html b/scriptApl/chart.js/dist/docs/api/classes/Animator.html new file mode 100644 index 00000000..c71bbf46 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/Animator.html @@ -0,0 +1,53 @@ + + + + + + Class: Animator | Chart.js + + + + + + + +

# Class: Animator

# Constructors

# constructor

• new Animator()

# Methods

# add

â–¸ add(chart, items): void

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
items readonly Animation[]

# Returns

void

# Defined in

animation.d.ts:21 (opens new window)


# has

â–¸ has(chart): boolean

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

boolean

# Defined in

animation.d.ts:22 (opens new window)


# listen

â–¸ listen(chart, event, cb): void

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
event "progress" | "complete"
cb (event: AnimationEvent) => void

# Returns

void

# Defined in

animation.d.ts:20 (opens new window)


# remove

â–¸ remove(chart): boolean

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

boolean

# Defined in

animation.d.ts:26 (opens new window)


# running

â–¸ running(chart): boolean

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

boolean

# Defined in

animation.d.ts:24 (opens new window)


# start

â–¸ start(chart): void

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Defined in

animation.d.ts:23 (opens new window)


# stop

â–¸ stop(chart): void

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Defined in

animation.d.ts:25 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/BasePlatform.html b/scriptApl/chart.js/dist/docs/api/classes/BasePlatform.html new file mode 100644 index 00000000..ef9418ef --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/BasePlatform.html @@ -0,0 +1,55 @@ + + + + + + Class: BasePlatform | Chart.js + + + + + + + +

# Class: BasePlatform

# Hierarchy

# Constructors

# constructor

• new BasePlatform()

# Methods

# acquireContext

â–¸ acquireContext(canvas, options?): CanvasRenderingContext2D

Called at chart construction time, returns a context2d instance implementing +the W3C Canvas 2D Context API standard (opens new window).

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas from which to acquire context (platform specific)
options? CanvasRenderingContext2DSettings The chart options

# Returns

CanvasRenderingContext2D

# Defined in

index.esm.d.ts:2057 (opens new window)


# addEventListener

â–¸ addEventListener(chart, type, listener): void

Registers the specified listener on the given chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to listen for event
type string The (ChartEvent) type to listen for
listener (e: ChartEvent) => void Receives a notification (an object that implements the ChartEvent interface) when an event of the specified type occurs.

# Returns

void

# Defined in

index.esm.d.ts:2075 (opens new window)


# getDevicePixelRatio

â–¸ getDevicePixelRatio(): number

# Returns

number

the current devicePixelRatio of the device this platform is connected to.

# Defined in

index.esm.d.ts:2086 (opens new window)


# getMaximumSize

â–¸ getMaximumSize(canvas, width?, height?, aspectRatio?): Object

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas for which to calculate the maximum size
width? number -
height? number -
aspectRatio? number -

# Returns

Object

the maximum size available.

Name Type
height number
width number

# Defined in

index.esm.d.ts:2094 (opens new window)


# isAttached

â–¸ isAttached(canvas): boolean

# Parameters

Name Type
canvas HTMLCanvasElement

# Returns

boolean

true if the canvas is attached to the platform, false if not.

# Defined in

index.esm.d.ts:2099 (opens new window)


# releaseContext

â–¸ releaseContext(context): boolean

Called at chart destruction time, releases any resources associated to the context +previously returned by the acquireContext() method.

# Parameters

Name Type Description
context CanvasRenderingContext2D The context2d instance

# Returns

boolean

true if the method succeeded, else false

# Defined in

index.esm.d.ts:2067 (opens new window)


# removeEventListener

â–¸ removeEventListener(chart, type, listener): void

Removes the specified listener previously registered with addEventListener.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to remove the listener
type string The (ChartEvent) type to remove
listener (e: ChartEvent) => void The listener function to remove from the event target.

# Returns

void

# Defined in

index.esm.d.ts:2082 (opens new window)


# updateConfig

â–¸ updateConfig(config): void

Updates config with platform specific requirements

# Parameters

Name Type
config ChartConfiguration<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> | ChartConfigurationCustomTypesPerDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Defined in

index.esm.d.ts:2104 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/BasicPlatform.html b/scriptApl/chart.js/dist/docs/api/classes/BasicPlatform.html new file mode 100644 index 00000000..80175d4d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/BasicPlatform.html @@ -0,0 +1,55 @@ + + + + + + Class: BasicPlatform | Chart.js + + + + + + + +

# Class: BasicPlatform

# Hierarchy

# Constructors

# constructor

• new BasicPlatform()

# Inherited from

BasePlatform.constructor

# Methods

# acquireContext

â–¸ acquireContext(canvas, options?): CanvasRenderingContext2D

Called at chart construction time, returns a context2d instance implementing +the W3C Canvas 2D Context API standard (opens new window).

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas from which to acquire context (platform specific)
options? CanvasRenderingContext2DSettings The chart options

# Returns

CanvasRenderingContext2D

# Inherited from

BasePlatform.acquireContext

# Defined in

index.esm.d.ts:2057 (opens new window)


# addEventListener

â–¸ addEventListener(chart, type, listener): void

Registers the specified listener on the given chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to listen for event
type string The (ChartEvent) type to listen for
listener (e: ChartEvent) => void Receives a notification (an object that implements the ChartEvent interface) when an event of the specified type occurs.

# Returns

void

# Inherited from

BasePlatform.addEventListener

# Defined in

index.esm.d.ts:2075 (opens new window)


# getDevicePixelRatio

â–¸ getDevicePixelRatio(): number

# Returns

number

the current devicePixelRatio of the device this platform is connected to.

# Inherited from

BasePlatform.getDevicePixelRatio

# Defined in

index.esm.d.ts:2086 (opens new window)


# getMaximumSize

â–¸ getMaximumSize(canvas, width?, height?, aspectRatio?): Object

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas for which to calculate the maximum size
width? number -
height? number -
aspectRatio? number -

# Returns

Object

the maximum size available.

Name Type
height number
width number

# Inherited from

BasePlatform.getMaximumSize

# Defined in

index.esm.d.ts:2094 (opens new window)


# isAttached

â–¸ isAttached(canvas): boolean

# Parameters

Name Type
canvas HTMLCanvasElement

# Returns

boolean

true if the canvas is attached to the platform, false if not.

# Inherited from

BasePlatform.isAttached

# Defined in

index.esm.d.ts:2099 (opens new window)


# releaseContext

â–¸ releaseContext(context): boolean

Called at chart destruction time, releases any resources associated to the context +previously returned by the acquireContext() method.

# Parameters

Name Type Description
context CanvasRenderingContext2D The context2d instance

# Returns

boolean

true if the method succeeded, else false

# Inherited from

BasePlatform.releaseContext

# Defined in

index.esm.d.ts:2067 (opens new window)


# removeEventListener

â–¸ removeEventListener(chart, type, listener): void

Removes the specified listener previously registered with addEventListener.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to remove the listener
type string The (ChartEvent) type to remove
listener (e: ChartEvent) => void The listener function to remove from the event target.

# Returns

void

# Inherited from

BasePlatform.removeEventListener

# Defined in

index.esm.d.ts:2082 (opens new window)


# updateConfig

â–¸ updateConfig(config): void

Updates config with platform specific requirements

# Parameters

Name Type
config ChartConfiguration<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> | ChartConfigurationCustomTypesPerDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Inherited from

BasePlatform.updateConfig

# Defined in

index.esm.d.ts:2104 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/Chart.html b/scriptApl/chart.js/dist/docs/api/classes/Chart.html new file mode 100644 index 00000000..26bb10c9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/Chart.html @@ -0,0 +1,53 @@ + + + + + + Class: Chart | Chart.js + + + + + + + +

# Class: Chart<TType, TData, TLabel>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>
TLabel unknown

# Constructors

# constructor

• new Chart<TType, TData, TLabel>(item, config)

# Type parameters

Name Type
TType extends keyof ChartTypeRegistry = keyof ChartTypeRegistry
TData DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>
TLabel unknown

# Parameters

Name Type
item ChartItem
config ChartConfiguration<TType, TData, TLabel> | ChartConfigurationCustomTypesPerDataset<TType, TData, TLabel>

# Defined in

index.esm.d.ts:504 (opens new window)

# Properties

# aspectRatio

• Readonly aspectRatio: number

# Defined in

index.esm.d.ts:491 (opens new window)


# attached

• Readonly attached: boolean

# Defined in

index.esm.d.ts:496 (opens new window)


# boxes

• Readonly boxes: LayoutItem[]

# Defined in

index.esm.d.ts:492 (opens new window)


# canvas

• Readonly canvas: HTMLCanvasElement

# Defined in

index.esm.d.ts:486 (opens new window)


# chartArea

• Readonly chartArea: ChartArea

# Defined in

index.esm.d.ts:494 (opens new window)


# config

• Readonly config: ChartConfiguration<TType, TData, TLabel> | ChartConfigurationCustomTypesPerDataset<TType, TData, TLabel>

# Defined in

index.esm.d.ts:488 (opens new window)


# ctx

• Readonly ctx: CanvasRenderingContext2D

# Defined in

index.esm.d.ts:487 (opens new window)


# currentDevicePixelRatio

• Readonly currentDevicePixelRatio: number

# Defined in

index.esm.d.ts:493 (opens new window)


# data

• data: ChartData<TType, TData, TLabel>

# Defined in

index.esm.d.ts:501 (opens new window)


# height

• Readonly height: number

# Defined in

index.esm.d.ts:490 (opens new window)


# id

• Readonly id: string

# Defined in

index.esm.d.ts:485 (opens new window)


# legend

• Optional Readonly legend: LegendElement<TType>

# Defined in

index.esm.d.ts:498 (opens new window)


# options

• options: DeepPartial<CoreChartOptions<TType> & ElementChartOptions<TType> & PluginChartOptions<TType> & DatasetChartOptions<TType> & ScaleChartOptions<TType> & ChartTypeRegistry[TType]["chartOptions"]>

# Defined in

index.esm.d.ts:502 (opens new window)


# platform

• Readonly platform: BasePlatform

# Defined in

index.esm.d.ts:484 (opens new window)


# scales

• Readonly scales: Object

# Index signature

â–ª [key: string]: Scale

# Defined in

index.esm.d.ts:495 (opens new window)


# tooltip

• Optional Readonly tooltip: TooltipModel<TType>

# Defined in

index.esm.d.ts:499 (opens new window)


# width

• Readonly width: number

# Defined in

index.esm.d.ts:489 (opens new window)


# defaults

â–ª Static Readonly defaults: Defaults

# Defined in

index.esm.d.ts:542 (opens new window)


# instances

â–ª Static Readonly instances: Object

# Index signature

â–ª [key: string]: Chart

# Defined in

index.esm.d.ts:545 (opens new window)


# overrides

â–ª Static Readonly overrides: Overrides

# Defined in

index.esm.d.ts:543 (opens new window)


# registry

â–ª Static Readonly registry: Registry

# Defined in

index.esm.d.ts:546 (opens new window)


# version

â–ª Static Readonly version: string

# Defined in

index.esm.d.ts:544 (opens new window)

# Methods

# bindEvents

â–¸ bindEvents(): void

# Returns

void

# Defined in

index.esm.d.ts:536 (opens new window)


# buildOrUpdateControllers

â–¸ buildOrUpdateControllers(): void

# Returns

void

# Defined in

index.esm.d.ts:512 (opens new window)


# buildOrUpdateScales

â–¸ buildOrUpdateScales(): void

# Returns

void

# Defined in

index.esm.d.ts:511 (opens new window)


# clear

â–¸ clear(): Chart<TType, TData, TLabel>

# Returns

Chart<TType, TData, TLabel>

# Defined in

index.esm.d.ts:506 (opens new window)


# destroy

â–¸ destroy(): void

# Returns

void

# Defined in

index.esm.d.ts:534 (opens new window)


# draw

â–¸ draw(): void

# Returns

void

# Defined in

index.esm.d.ts:516 (opens new window)


# ensureScalesHaveIDs

â–¸ ensureScalesHaveIDs(): void

# Returns

void

# Defined in

index.esm.d.ts:510 (opens new window)


# getActiveElements

â–¸ getActiveElements(): ActiveElement[]

# Returns

ActiveElement[]

# Defined in

index.esm.d.ts:531 (opens new window)


# getDataVisibility

â–¸ getDataVisibility(index): boolean

# Parameters

Name Type
index number

# Returns

boolean

# Defined in

index.esm.d.ts:527 (opens new window)


# getDatasetMeta

â–¸ getDatasetMeta(datasetIndex): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Parameters

Name Type
datasetIndex number

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Defined in

index.esm.d.ts:522 (opens new window)


# getElementsAtEventForMode

â–¸ getElementsAtEventForMode(e, mode, options, useFinalPosition): InteractionItem[]

# Parameters

Name Type
e Event
mode string
options InteractionOptions
useFinalPosition boolean

# Returns

InteractionItem[]

# Defined in

index.esm.d.ts:519 (opens new window)


# getSortedVisibleDatasetMetas

â–¸ getSortedVisibleDatasetMetas(): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Defined in

index.esm.d.ts:521 (opens new window)


# getVisibleDatasetCount

â–¸ getVisibleDatasetCount(): number

# Returns

number

# Defined in

index.esm.d.ts:523 (opens new window)


# hide

â–¸ hide(datasetIndex, dataIndex?): void

# Parameters

Name Type
datasetIndex number
dataIndex? number

# Returns

void

# Defined in

index.esm.d.ts:528 (opens new window)


# isDatasetVisible

â–¸ isDatasetVisible(datasetIndex): boolean

# Parameters

Name Type
datasetIndex number

# Returns

boolean

# Defined in

index.esm.d.ts:524 (opens new window)


# isPointInArea

â–¸ isPointInArea(point): boolean

# Parameters

Name Type
point Point

# Returns

boolean

# Defined in

index.esm.d.ts:518 (opens new window)


# notifyPlugins

â–¸ notifyPlugins(hook, args?): boolean | void

# Parameters

Name Type
hook string
args? AnyObject

# Returns

boolean | void

# Defined in

index.esm.d.ts:540 (opens new window)


# render

â–¸ render(): void

# Returns

void

# Defined in

index.esm.d.ts:515 (opens new window)


# reset

â–¸ reset(): void

# Returns

void

# Defined in

index.esm.d.ts:513 (opens new window)


# resize

â–¸ resize(width?, height?): void

# Parameters

Name Type
width? number
height? number

# Returns

void

# Defined in

index.esm.d.ts:509 (opens new window)


# setActiveElements

â–¸ setActiveElements(active): void

# Parameters

Name Type
active ActiveDataPoint[]

# Returns

void

# Defined in

index.esm.d.ts:532 (opens new window)


# setDatasetVisibility

â–¸ setDatasetVisibility(datasetIndex, visible): void

# Parameters

Name Type
datasetIndex number
visible boolean

# Returns

void

# Defined in

index.esm.d.ts:525 (opens new window)


# show

â–¸ show(datasetIndex, dataIndex?): void

# Parameters

Name Type
datasetIndex number
dataIndex? number

# Returns

void

# Defined in

index.esm.d.ts:529 (opens new window)


# stop

â–¸ stop(): Chart<TType, TData, TLabel>

# Returns

Chart<TType, TData, TLabel>

# Defined in

index.esm.d.ts:507 (opens new window)


# toBase64Image

â–¸ toBase64Image(type?, quality?): string

# Parameters

Name Type
type? string
quality? unknown

# Returns

string

# Defined in

index.esm.d.ts:535 (opens new window)


# toggleDataVisibility

â–¸ toggleDataVisibility(index): void

# Parameters

Name Type
index number

# Returns

void

# Defined in

index.esm.d.ts:526 (opens new window)


# unbindEvents

â–¸ unbindEvents(): void

# Returns

void

# Defined in

index.esm.d.ts:537 (opens new window)


# update

â–¸ update(mode?): void

# Parameters

Name Type
mode? "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Defined in

index.esm.d.ts:514 (opens new window)


# updateHoverStyle

â–¸ updateHoverStyle(items, mode, enabled): void

# Parameters

Name Type
items InteractionItem[]
mode "dataset"
enabled boolean

# Returns

void

# Defined in

index.esm.d.ts:538 (opens new window)


# getChart

â–¸ Static getChart(key): Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Parameters

Name Type
key string | HTMLCanvasElement | CanvasRenderingContext2D

# Returns

Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:547 (opens new window)


# register

â–¸ Static register(...items): void

# Parameters

Name Type
...items ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:548 (opens new window)


# unregister

â–¸ Static unregister(...items): void

# Parameters

Name Type
...items ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:549 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/DatasetController.html b/scriptApl/chart.js/dist/docs/api/classes/DatasetController.html new file mode 100644 index 00000000..a546e888 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/DatasetController.html @@ -0,0 +1,53 @@ + + + + + + Class: DatasetController | Chart.js + + + + + + + +

# Class: DatasetController<TType, TElement, TDatasetElement, TParsedData>

# Type parameters

Name Type
TType extends ChartType = ChartType
TElement extends Element = Element
TDatasetElement extends Element = Element
TParsedData ParsedDataType<TType>

# Hierarchy

# Constructors

# constructor

• new DatasetController<TType, TElement, TDatasetElement, TParsedData>(chart, datasetIndex)

# Type parameters

Name Type
TType extends keyof ChartTypeRegistry = keyof ChartTypeRegistry
TElement extends Element<AnyObject, AnyObject, TElement> = Element<AnyObject, AnyObject>
TDatasetElement extends Element<AnyObject, AnyObject, TDatasetElement> = Element<AnyObject, AnyObject>
TParsedData ParsedDataType<TType>

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
datasetIndex number

# Defined in

index.esm.d.ts:579 (opens new window)

# Properties

# _cachedMeta

• Readonly _cachedMeta: ChartMeta<TElement, TDatasetElement, TType>

# Defined in

index.esm.d.ts:583 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:581 (opens new window)


# enableOptionSharing

• enableOptionSharing: boolean

# Defined in

index.esm.d.ts:584 (opens new window)


# index

• Readonly index: number

# Defined in

index.esm.d.ts:582 (opens new window)


# supportsDecimation

• supportsDecimation: boolean

# Defined in

index.esm.d.ts:588 (opens new window)

# Methods

# addElements

â–¸ addElements(): void

# Returns

void

# Defined in

index.esm.d.ts:604 (opens new window)


# applyStack

â–¸ Protected applyStack(scale, parsed): number

# Parameters

Name Type
scale Scale<CoreScaleOptions>
parsed unknown[]

# Returns

number

# Defined in

index.esm.d.ts:640 (opens new window)


# buildOrUpdateElements

â–¸ buildOrUpdateElements(resetNewElements?): void

# Parameters

Name Type
resetNewElements? boolean

# Returns

void

# Defined in

index.esm.d.ts:605 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Defined in

index.esm.d.ts:602 (opens new window)


# draw

â–¸ draw(): void

# Returns

void

# Defined in

index.esm.d.ts:597 (opens new window)


# getAllParsedValues

â–¸ getAllParsedValues(scale): number[]

# Parameters

Name Type
scale Scale<CoreScaleOptions>

# Returns

number[]

# Defined in

index.esm.d.ts:591 (opens new window)


# getDataset

â–¸ getDataset(): ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Returns

ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Defined in

index.esm.d.ts:599 (opens new window)


# getLabelAndValue

â–¸ Protected getLabelAndValue(index): Object

# Parameters

Name Type
index number

# Returns

Object

Name Type
label string
value string

# Defined in

index.esm.d.ts:592 (opens new window)


# getMaxOverflow

â–¸ Protected getMaxOverflow(): number | boolean

# Returns

number | boolean

# Defined in

index.esm.d.ts:596 (opens new window)


# getMeta

â–¸ getMeta(): ChartMeta<TElement, TDatasetElement, TType>

# Returns

ChartMeta<TElement, TDatasetElement, TType>

# Defined in

index.esm.d.ts:600 (opens new window)


# getMinMax

â–¸ Protected getMinMax(scale, canStack?): Object

# Parameters

Name Type
scale Scale<CoreScaleOptions>
canStack? boolean

# Returns

Object

Name Type
max number
min number

# Defined in

index.esm.d.ts:647 (opens new window)


# getParsed

â–¸ Protected getParsed(index): TParsedData

# Parameters

Name Type
index number

# Returns

TParsedData

# Defined in

index.esm.d.ts:639 (opens new window)


# getScaleForId

â–¸ getScaleForId(scaleID): Scale<CoreScaleOptions>

# Parameters

Name Type
scaleID string

# Returns

Scale<CoreScaleOptions>

# Defined in

index.esm.d.ts:601 (opens new window)


# getSharedOptions

â–¸ Protected getSharedOptions(options): AnyObject

Utility for checking if the options are shared and should be animated separately.

# Parameters

Name Type
options AnyObject

# Returns

AnyObject

# Defined in

index.esm.d.ts:614 (opens new window)


# getStyle

â–¸ getStyle(index, active): AnyObject

# Parameters

Name Type
index number
active boolean

# Returns

AnyObject

# Defined in

index.esm.d.ts:607 (opens new window)


# includeOptions

â–¸ Protected includeOptions(mode, sharedOptions): boolean

Utility for determining if options should be included in the updated properties

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
sharedOptions AnyObject

# Returns

boolean

# Defined in

index.esm.d.ts:619 (opens new window)


# initialize

â–¸ initialize(): void

# Returns

void

# Defined in

index.esm.d.ts:603 (opens new window)


# linkScales

â–¸ linkScales(): void

# Returns

void

# Defined in

index.esm.d.ts:590 (opens new window)


# parse

â–¸ parse(start, count): void

# Parameters

Name Type
start number
count number

# Returns

void

# Defined in

index.esm.d.ts:635 (opens new window)


# parseArrayData

â–¸ Protected parseArrayData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement, TType>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Defined in

index.esm.d.ts:637 (opens new window)


# parseObjectData

â–¸ Protected parseObjectData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement, TType>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Defined in

index.esm.d.ts:638 (opens new window)


# parsePrimitiveData

â–¸ Protected parsePrimitiveData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<TElement, TDatasetElement, TType>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Defined in

index.esm.d.ts:636 (opens new window)


# removeHoverStyle

â–¸ removeHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element TElement
datasetIndex number
index number

# Returns

void

# Defined in

index.esm.d.ts:632 (opens new window)


# reset

â–¸ reset(): void

# Returns

void

# Defined in

index.esm.d.ts:598 (opens new window)


# resolveDataElementOptions

â–¸ Protected resolveDataElementOptions(index, mode): AnyObject

# Parameters

Name Type
index number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Defined in

index.esm.d.ts:609 (opens new window)


# resolveDatasetElementOptions

â–¸ Protected resolveDatasetElementOptions(mode): AnyObject

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Defined in

index.esm.d.ts:608 (opens new window)


# setHoverStyle

â–¸ setHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element TElement
datasetIndex number
index number

# Returns

void

# Defined in

index.esm.d.ts:633 (opens new window)


# update

â–¸ update(mode): void

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Defined in

index.esm.d.ts:594 (opens new window)


# updateElement

â–¸ Protected updateElement(element, index, properties, mode): void

Utility for updating an element with new properties, using animations when appropriate.

# Parameters

Name Type
element TElement | TDatasetElement
index number
properties AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Defined in

index.esm.d.ts:625 (opens new window)


# updateElements

â–¸ updateElements(elements, start, count, mode): void

# Parameters

Name Type
elements TElement[]
start number
count number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Defined in

index.esm.d.ts:593 (opens new window)


# updateIndex

â–¸ updateIndex(datasetIndex): void

# Parameters

Name Type
datasetIndex number

# Returns

void

# Defined in

index.esm.d.ts:595 (opens new window)


# updateRangeFromParsed

â–¸ Protected updateRangeFromParsed(range, scale, parsed, stack): void

# Parameters

Name Type
range Object
range.max number
range.min number
scale Scale<CoreScaleOptions>
parsed unknown[]
stack string | boolean

# Returns

void

# Defined in

index.esm.d.ts:641 (opens new window)


# updateSharedOptions

â–¸ Protected updateSharedOptions(sharedOptions, mode, newOptions): void

Utility to animate the shared options, that are potentially affecting multiple elements.

# Parameters

Name Type
sharedOptions AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
newOptions AnyObject

# Returns

void

# Defined in

index.esm.d.ts:631 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/DomPlatform.html b/scriptApl/chart.js/dist/docs/api/classes/DomPlatform.html new file mode 100644 index 00000000..48a867bc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/DomPlatform.html @@ -0,0 +1,55 @@ + + + + + + Class: DomPlatform | Chart.js + + + + + + + +

# Class: DomPlatform

# Hierarchy

# Constructors

# constructor

• new DomPlatform()

# Inherited from

BasePlatform.constructor

# Methods

# acquireContext

â–¸ acquireContext(canvas, options?): CanvasRenderingContext2D

Called at chart construction time, returns a context2d instance implementing +the W3C Canvas 2D Context API standard (opens new window).

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas from which to acquire context (platform specific)
options? CanvasRenderingContext2DSettings The chart options

# Returns

CanvasRenderingContext2D

# Inherited from

BasePlatform.acquireContext

# Defined in

index.esm.d.ts:2057 (opens new window)


# addEventListener

â–¸ addEventListener(chart, type, listener): void

Registers the specified listener on the given chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to listen for event
type string The (ChartEvent) type to listen for
listener (e: ChartEvent) => void Receives a notification (an object that implements the ChartEvent interface) when an event of the specified type occurs.

# Returns

void

# Inherited from

BasePlatform.addEventListener

# Defined in

index.esm.d.ts:2075 (opens new window)


# getDevicePixelRatio

â–¸ getDevicePixelRatio(): number

# Returns

number

the current devicePixelRatio of the device this platform is connected to.

# Inherited from

BasePlatform.getDevicePixelRatio

# Defined in

index.esm.d.ts:2086 (opens new window)


# getMaximumSize

â–¸ getMaximumSize(canvas, width?, height?, aspectRatio?): Object

# Parameters

Name Type Description
canvas HTMLCanvasElement The canvas for which to calculate the maximum size
width? number -
height? number -
aspectRatio? number -

# Returns

Object

the maximum size available.

Name Type
height number
width number

# Inherited from

BasePlatform.getMaximumSize

# Defined in

index.esm.d.ts:2094 (opens new window)


# isAttached

â–¸ isAttached(canvas): boolean

# Parameters

Name Type
canvas HTMLCanvasElement

# Returns

boolean

true if the canvas is attached to the platform, false if not.

# Inherited from

BasePlatform.isAttached

# Defined in

index.esm.d.ts:2099 (opens new window)


# releaseContext

â–¸ releaseContext(context): boolean

Called at chart destruction time, releases any resources associated to the context +previously returned by the acquireContext() method.

# Parameters

Name Type Description
context CanvasRenderingContext2D The context2d instance

# Returns

boolean

true if the method succeeded, else false

# Inherited from

BasePlatform.releaseContext

# Defined in

index.esm.d.ts:2067 (opens new window)


# removeEventListener

â–¸ removeEventListener(chart, type, listener): void

Removes the specified listener previously registered with addEventListener.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> Chart from which to remove the listener
type string The (ChartEvent) type to remove
listener (e: ChartEvent) => void The listener function to remove from the event target.

# Returns

void

# Inherited from

BasePlatform.removeEventListener

# Defined in

index.esm.d.ts:2082 (opens new window)


# updateConfig

â–¸ updateConfig(config): void

Updates config with platform specific requirements

# Parameters

Name Type
config ChartConfiguration<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> | ChartConfigurationCustomTypesPerDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Inherited from

BasePlatform.updateConfig

# Defined in

index.esm.d.ts:2104 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/classes/Scale.html b/scriptApl/chart.js/dist/docs/api/classes/Scale.html new file mode 100644 index 00000000..a0ef80e8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/classes/Scale.html @@ -0,0 +1,58 @@ + + + + + + Class: Scale | Chart.js + + + + + + + +

# Class: Scale<O>

# Type parameters

Name Type
O extends CoreScaleOptions = CoreScaleOptions

# Hierarchy

# Constructors

# constructor

• new Scale<O>(cfg)

# Type parameters

Name Type
O extends CoreScaleOptions = CoreScaleOptions

# Parameters

Name Type
cfg Object
cfg.chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
cfg.ctx CanvasRenderingContext2D
cfg.id string
cfg.type string

# Inherited from

Element<unknown, O>.constructor

# Defined in

index.esm.d.ts:1337 (opens new window)

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# axis

• axis: string

# Defined in

index.esm.d.ts:1239 (opens new window)


# bottom

• bottom: number

Bottom edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.bottom

# Defined in

layout.d.ts:41 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:1229 (opens new window)


# ctx

• Readonly ctx: CanvasRenderingContext2D

# Defined in

index.esm.d.ts:1228 (opens new window)


# fullSize

• fullSize: boolean

if true, and the item is horizontal, then push vertical boxes down

# Inherited from

LayoutItem.fullSize

# Defined in

layout.d.ts:17 (opens new window)


# height

• height: number

Height of item. Must be valid after update()

# Inherited from

LayoutItem.height

# Defined in

layout.d.ts:25 (opens new window)


# id

• Readonly id: string

# Defined in

index.esm.d.ts:1226 (opens new window)


# labelRotation

• labelRotation: number

# Defined in

index.esm.d.ts:1240 (opens new window)


# left

• left: number

Left edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.left

# Defined in

layout.d.ts:29 (opens new window)


# max

• max: number

# Defined in

index.esm.d.ts:1242 (opens new window)


# maxHeight

• maxHeight: number

# Defined in

index.esm.d.ts:1232 (opens new window)


# maxWidth

• maxWidth: number

# Defined in

index.esm.d.ts:1231 (opens new window)


# min

• min: number

# Defined in

index.esm.d.ts:1241 (opens new window)


# options

• Readonly options: O

# Inherited from

Element.options

# Defined in

element.d.ts:8 (opens new window)


# paddingBottom

• paddingBottom: number

# Defined in

index.esm.d.ts:1235 (opens new window)


# paddingLeft

• paddingLeft: number

# Defined in

index.esm.d.ts:1236 (opens new window)


# paddingRight

• paddingRight: number

# Defined in

index.esm.d.ts:1237 (opens new window)


# paddingTop

• paddingTop: number

# Defined in

index.esm.d.ts:1234 (opens new window)


# position

• position: LayoutPosition

The position of the item in the chart layout. Possible values are

# Inherited from

LayoutItem.position

# Defined in

layout.d.ts:9 (opens new window)


• right: number

Right edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.right

# Defined in

layout.d.ts:37 (opens new window)


# ticks

• ticks: Tick[]

# Defined in

index.esm.d.ts:1243 (opens new window)


# top

• top: number

Top edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.top

# Defined in

layout.d.ts:33 (opens new window)


# type

• Readonly type: string

# Defined in

index.esm.d.ts:1227 (opens new window)


# weight

• weight: number

The weight used to sort the item. Higher weights are further away from the chart area

# Inherited from

LayoutItem.weight

# Defined in

layout.d.ts:13 (opens new window)


# width

• width: number

Width of item. Must be valid after update()

# Inherited from

LayoutItem.width

# Defined in

layout.d.ts:21 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# afterBuildTicks

â–¸ afterBuildTicks(): void

# Returns

void

# Defined in

index.esm.d.ts:1323 (opens new window)


# afterCalculateLabelRotation

â–¸ afterCalculateLabelRotation(): void

# Returns

void

# Defined in

index.esm.d.ts:1329 (opens new window)


# afterDataLimits

â–¸ afterDataLimits(): void

# Returns

void

# Defined in

index.esm.d.ts:1320 (opens new window)


# afterFit

â–¸ afterFit(): void

# Returns

void

# Defined in

index.esm.d.ts:1332 (opens new window)


# afterSetDimensions

â–¸ afterSetDimensions(): void

# Returns

void

# Defined in

index.esm.d.ts:1317 (opens new window)


# afterTickToLabelConversion

â–¸ afterTickToLabelConversion(): void

# Returns

void

# Defined in

index.esm.d.ts:1326 (opens new window)


# afterUpdate

â–¸ afterUpdate(): void

# Returns

void

# Defined in

index.esm.d.ts:1314 (opens new window)


# beforeBuildTicks

â–¸ beforeBuildTicks(): void

# Returns

void

# Defined in

index.esm.d.ts:1321 (opens new window)


# beforeCalculateLabelRotation

â–¸ beforeCalculateLabelRotation(): void

# Returns

void

# Defined in

index.esm.d.ts:1327 (opens new window)


# beforeDataLimits

â–¸ beforeDataLimits(): void

# Returns

void

# Defined in

index.esm.d.ts:1318 (opens new window)


# beforeFit

â–¸ beforeFit(): void

# Returns

void

# Defined in

index.esm.d.ts:1330 (opens new window)


# beforeLayout

â–¸ Optional beforeLayout(): void

Called before the layout process starts

# Returns

void

# Inherited from

LayoutItem.beforeLayout

# Defined in

layout.d.ts:46 (opens new window)


# beforeSetDimensions

â–¸ beforeSetDimensions(): void

# Returns

void

# Defined in

index.esm.d.ts:1315 (opens new window)


# beforeTickToLabelConversion

â–¸ beforeTickToLabelConversion(): void

# Returns

void

# Defined in

index.esm.d.ts:1324 (opens new window)


# beforeUpdate

â–¸ beforeUpdate(): void

# Returns

void

# Defined in

index.esm.d.ts:1312 (opens new window)


# buildTicks

â–¸ buildTicks(): Tick[]

# Returns

Tick[]

# Defined in

index.esm.d.ts:1322 (opens new window)


# calculateLabelRotation

â–¸ calculateLabelRotation(): void

# Returns

void

# Defined in

index.esm.d.ts:1328 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Defined in

index.esm.d.ts:1313 (opens new window)


# determineDataLimits

â–¸ determineDataLimits(): void

# Returns

void

# Defined in

index.esm.d.ts:1319 (opens new window)


# draw

â–¸ draw(chartArea): void

Draws the element

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

LayoutItem.draw

# Defined in

layout.d.ts:50 (opens new window)


# drawGrid

â–¸ drawGrid(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Defined in

index.esm.d.ts:1248 (opens new window)


# drawLabels

â–¸ drawLabels(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Defined in

index.esm.d.ts:1247 (opens new window)


# drawTitle

â–¸ drawTitle(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Defined in

index.esm.d.ts:1246 (opens new window)


# fit

â–¸ fit(): void

# Returns

void

# Defined in

index.esm.d.ts:1331 (opens new window)


# generateTickLabels

â–¸ generateTickLabels(ticks): void

# Parameters

Name Type
ticks Tick[]

# Returns

void

# Defined in

index.esm.d.ts:1325 (opens new window)


# getBasePixel

â–¸ getBasePixel(): number

Returns the pixel for the minimum chart value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Returns

number

# Defined in

index.esm.d.ts:1304 (opens new window)


# getBaseValue

â–¸ getBaseValue(): number

# Returns

number

# Defined in

index.esm.d.ts:1298 (opens new window)


# getDecimalForPixel

â–¸ getDecimalForPixel(pixel): number

# Parameters

Name Type
pixel number

# Returns

number

# Defined in

index.esm.d.ts:1254 (opens new window)


# getLabelForValue

â–¸ getLabelForValue(value): string

Used to get the label to display in the tooltip for the given value

# Parameters

Name Type
value number

# Returns

string

# Defined in

index.esm.d.ts:1274 (opens new window)


# getLabels

â–¸ getLabels(): string[]

# Returns

string[]

# Defined in

index.esm.d.ts:1311 (opens new window)


# getLineWidthForValue

â–¸ getLineWidthForValue(value): number

Returns the grid line width at given value

# Parameters

Name Type
value number

# Returns

number

# Defined in

index.esm.d.ts:1279 (opens new window)


# getMatchingVisibleMetas

â–¸ getMatchingVisibleMetas(type?): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Parameters

Name Type
type? string

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Defined in

index.esm.d.ts:1244 (opens new window)


# getMinMax

â–¸ getMinMax(canStack): Object

# Parameters

Name Type
canStack boolean

# Returns

Object

Name Type
max number
min number

# Defined in

index.esm.d.ts:1309 (opens new window)


# getPadding

â–¸ Optional getPadding(): ChartArea

Returns an object with padding on the edges

# Returns

ChartArea

# Inherited from

LayoutItem.getPadding

# Defined in

layout.d.ts:54 (opens new window)


# getPixelForDecimal

â–¸ getPixelForDecimal(decimal): number

Utility for getting the pixel location of a percentage of scale +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
decimal number

# Returns

number

# Defined in

index.esm.d.ts:1261 (opens new window)


# getPixelForTick

â–¸ getPixelForTick(index): number

Returns the location of the tick at the given index +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
index number

# Returns

number

# Defined in

index.esm.d.ts:1268 (opens new window)


# getPixelForValue

â–¸ getPixelForValue(value, index?): number

Returns the location of the given data point. Value can either be an index or a numerical value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
value number
index? number

# Returns

number

# Defined in

index.esm.d.ts:1288 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<unknown, P[number]>

# Type parameters

Name Type
P extends never[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<unknown, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# getTicks

â–¸ getTicks(): Tick[]

# Returns

Tick[]

# Defined in

index.esm.d.ts:1310 (opens new window)


# getUserBounds

â–¸ getUserBounds(): Object

# Returns

Object

Name Type
max number
maxDefined boolean
min number
minDefined boolean

# Defined in

index.esm.d.ts:1308 (opens new window)


# getValueForPixel

â–¸ getValueForPixel(pixel): number

Used to get the data value from a given pixel. This is the inverse of getPixelForValue +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
pixel number

# Returns

number

# Defined in

index.esm.d.ts:1296 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# init

â–¸ init(options): void

# Parameters

Name Type
options O

# Returns

void

# Defined in

index.esm.d.ts:1306 (opens new window)


# isFullSize

â–¸ isFullSize(): boolean

# Returns

boolean

# Defined in

index.esm.d.ts:1334 (opens new window)


# isHorizontal

â–¸ isHorizontal(): boolean

returns true if the layout item is horizontal (ie. top or bottom)

# Returns

boolean

# Inherited from

LayoutItem.isHorizontal

# Defined in

layout.d.ts:58 (opens new window)


# parse

â–¸ parse(raw, index): unknown

# Parameters

Name Type
raw unknown
index number

# Returns

unknown

# Defined in

index.esm.d.ts:1307 (opens new window)


# setDimensions

â–¸ setDimensions(): void

# Returns

void

# Defined in

index.esm.d.ts:1316 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)


# update

â–¸ update(width, height, margins?): void

Takes two parameters: width and height.

# Parameters

Name Type
width number
height number
margins? ChartArea

# Returns

void

# Inherited from

LayoutItem.update

# Defined in

layout.d.ts:64 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/enums/DecimationAlgorithm.html b/scriptApl/chart.js/dist/docs/api/enums/DecimationAlgorithm.html new file mode 100644 index 00000000..111d069a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/enums/DecimationAlgorithm.html @@ -0,0 +1,53 @@ + + + + + + Enumeration: DecimationAlgorithm | Chart.js + + + + + + + + + + + diff --git a/scriptApl/chart.js/dist/docs/api/enums/UpdateModeEnum.html b/scriptApl/chart.js/dist/docs/api/enums/UpdateModeEnum.html new file mode 100644 index 00000000..eebf934a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/enums/UpdateModeEnum.html @@ -0,0 +1,53 @@ + + + + + + Enumeration: UpdateModeEnum | Chart.js + + + + + + + +

# Enumeration: UpdateModeEnum

# Enumeration members

# active

• active = "active"

# Defined in

index.esm.d.ts:568 (opens new window)


# hide

• hide = "hide"

# Defined in

index.esm.d.ts:565 (opens new window)


# none

• none = "none"

# Defined in

index.esm.d.ts:564 (opens new window)


# normal

• normal = "normal"

# Defined in

index.esm.d.ts:567 (opens new window)


# reset

• reset = "reset"

# Defined in

index.esm.d.ts:563 (opens new window)


# resize

• resize = "resize"

# Defined in

index.esm.d.ts:562 (opens new window)


# show

• show = "show"

# Defined in

index.esm.d.ts:566 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/index.html b/scriptApl/chart.js/dist/docs/api/index.html new file mode 100644 index 00000000..bd0167b8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/index.html @@ -0,0 +1,49 @@ + + + + + + Chart.js - v3.9.1 | Chart.js + + + + + + + +

# Chart.js - v3.9.1

# Enumerations

# Classes

# Interfaces

# Type aliases

# Align

Ƭ Align: "start" | "center" | "end"

# Defined in

index.esm.d.ts:1682 (opens new window)


# AnimationOptions

Ƭ AnimationOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type
animation false | AnimationSpec<TType> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }
animations AnimationsSpec<TType>
transitions TransitionsSpec<TType>

# Defined in

index.esm.d.ts:1639 (opens new window)


# AnimationSpec

Ƭ AnimationSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type Description
delay? Scriptable<number, ScriptableContext<TType>> Delay before starting the animations. default 0
duration? Scriptable<number, ScriptableContext<TType>> The number of milliseconds an animation takes. default 1000
easing? Scriptable<EasingFunction, ScriptableContext<TType>> Easing function to use default 'easeOutQuart'
loop? Scriptable<boolean, ScriptableContext<TType>> If set to true, the animations loop endlessly. default false

# Defined in

index.esm.d.ts:1583 (opens new window)


# AnimationsSpec

Ƭ AnimationsSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Index signature

â–ª [name: string]: false | AnimationSpec<TType> & { from: Scriptable<Color | number | boolean, ScriptableContext<TType>> ; properties: string[] ; to: Scriptable<Color | number | boolean, ScriptableContext<TType>> ; type: "color" | "number" | "boolean" ; fn: <T>(from: T, to: T, factor: number) => T }

# Defined in

index.esm.d.ts:1608 (opens new window)


# BarController

Ƭ BarController: DatasetController

# Defined in

index.esm.d.ts:145 (opens new window)


# BubbleController

Ƭ BubbleController: DatasetController

# Defined in

index.esm.d.ts:173 (opens new window)


# CartesianTickOptions

Ƭ CartesianTickOptions: TickOptions & { align: Align | "inner" ; autoSkip: boolean ; autoSkipPadding: number ; crossAlign: "near" | "center" | "far" ; includeBounds: boolean ; labelOffset: number ; maxRotation: number ; maxTicksLimit: number ; minRotation: number ; mirror: boolean ; padding: number ; sampleSize: number }

# Defined in

index.esm.d.ts:2982 (opens new window)


# CategoryScale

Ƭ CategoryScale<O>: Scale<O>

# Type parameters

Name Type
O extends CategoryScaleOptions = CategoryScaleOptions

# Defined in

index.esm.d.ts:3147 (opens new window)


# CategoryScaleOptions

Ƭ CategoryScaleOptions: Omit<CartesianScaleOptions, "min" | "max"> & { labels: string[] | string[][] ; max: string | number ; min: string | number }

# Defined in

index.esm.d.ts:3141 (opens new window)


# ChartComponentLike

Ƭ ChartComponentLike: ChartComponent | ChartComponent[] | { [key: string]: ChartComponent; } | Plugin | Plugin[]

# Defined in

index.esm.d.ts:1113 (opens new window)


# ChartDataset

Ƭ ChartDataset<TType, TData>: DeepPartial<{ [key in ChartType]: Object & ChartTypeRegistry[key]["datasetOptions"] }[TType]> & ChartDatasetProperties<TType, TData>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>

# Defined in

index.esm.d.ts:3659 (opens new window)


# ChartDatasetCustomTypesPerDataset

Ƭ ChartDatasetCustomTypesPerDataset<TType, TData>: DeepPartial<{ [key in ChartType]: Object & ChartTypeRegistry[key]["datasetOptions"] }[TType]> & ChartDatasetPropertiesCustomTypesPerDataset<TType, TData>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>

# Defined in

index.esm.d.ts:3666 (opens new window)


# ChartItem

Ƭ ChartItem: string | CanvasRenderingContext2D | HTMLCanvasElement | { canvas: HTMLCanvasElement } | ArrayLike<CanvasRenderingContext2D | HTMLCanvasElement>

# Defined in

index.esm.d.ts:554 (opens new window)


# ChartMeta

Ƭ ChartMeta<TElement, TDatasetElement, TType>: DeepPartial<{ [key in ChartType]: ChartTypeRegistry[key]["metaExtensions"] }[TType]> & ChartMetaCommon<TElement, TDatasetElement>

# Type parameters

Name Type
TElement extends Element = Element
TDatasetElement extends Element = Element
TType extends ChartType = ChartType

# Defined in

index.esm.d.ts:460 (opens new window)


# ChartOptions

Ƭ ChartOptions<TType>: DeepPartial<CoreChartOptions<TType> & ElementChartOptions<TType> & PluginChartOptions<TType> & DatasetChartOptions<TType> & ScaleChartOptions<TType> & ChartTypeRegistry[TType]["chartOptions"]>

# Type parameters

Name Type
TType extends ChartType = ChartType

# Defined in

index.esm.d.ts:3636 (opens new window)


# ChartType

Ƭ ChartType: keyof ChartTypeRegistry

# Defined in

index.esm.d.ts:3615 (opens new window)


# Color

Ƭ Color: string | CanvasGradient | CanvasPattern

# Defined in

color.d.ts:1 (opens new window)


# DatasetChartOptions

Ƭ DatasetChartOptions<TType>: { [key in TType]: Object }

# Type parameters

Name Type
TType extends ChartType = ChartType

# Defined in

index.esm.d.ts:3624 (opens new window)


# DecimationOptions

Ƭ DecimationOptions: LttbDecimationOptions | MinMaxDecimationOptions

# Defined in

index.esm.d.ts:2130 (opens new window)


# DefaultDataPoint

Ƭ DefaultDataPoint<TType>: DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>

# Type parameters

Name Type
TType extends ChartType

# Defined in

index.esm.d.ts:3645 (opens new window)


# DoughnutDataPoint

Ƭ DoughnutDataPoint: number

# Defined in

index.esm.d.ts:331 (opens new window)


# EasingFunction

Ƭ EasingFunction: "linear" | "easeInQuad" | "easeOutQuad" | "easeInOutQuad" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic" | "easeInQuart" | "easeOutQuart" | "easeInOutQuart" | "easeInQuint" | "easeOutQuint" | "easeInOutQuint" | "easeInSine" | "easeOutSine" | "easeInOutSine" | "easeInExpo" | "easeOutExpo" | "easeInOutExpo" | "easeInCirc" | "easeOutCirc" | "easeInOutCirc" | "easeInElastic" | "easeOutElastic" | "easeInOutElastic" | "easeInBack" | "easeOutBack" | "easeInOutBack" | "easeInBounce" | "easeOutBounce" | "easeInOutBounce"

# Defined in

index.esm.d.ts:1550 (opens new window)


# ElementChartOptions

Ƭ ElementChartOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartType = ChartType

# Type declaration

Name Type
elements ElementOptionsByType<TType>

# Defined in

index.esm.d.ts:2046 (opens new window)


# FillTarget

Ƭ FillTarget: number | string | { value: number } | "start" | "end" | "origin" | "stack" | "shape" | boolean

# Defined in

index.esm.d.ts:2138 (opens new window)


# InteractionAxis

Ƭ InteractionAxis: "x" | "y" | "xy" | "r"

# Defined in

index.esm.d.ts:1422 (opens new window)


# InteractionMode

Ƭ InteractionMode: keyof InteractionModeMap

# Defined in

index.esm.d.ts:752 (opens new window)


# InteractionModeFunction

Ƭ InteractionModeFunction: (chart: Chart, e: ChartEvent, options: InteractionOptions, useFinalPosition?: boolean) => InteractionItem[]

# Type declaration

â–¸ (chart, e, options, useFinalPosition?): InteractionItem[]

# Parameters
Name Type
chart Chart
e ChartEvent
options InteractionOptions
useFinalPosition? boolean
# Returns

InteractionItem[]

# Defined in

index.esm.d.ts:714 (opens new window)


# LayoutPosition

Ƭ LayoutPosition: "left" | "top" | "right" | "bottom" | "center" | "chartArea" | { [scaleId: string]: number; }

# Defined in

layout.d.ts:3 (opens new window)


# LineController

Ƭ LineController: DatasetController

# Defined in

index.esm.d.ts:219 (opens new window)


# LinearScale

Ƭ LinearScale<O>: Scale<O>

# Type parameters

Name Type
O extends LinearScaleOptions = LinearScaleOptions

# Defined in

index.esm.d.ts:3196 (opens new window)


# LinearScaleOptions

Ƭ LinearScaleOptions: CartesianScaleOptions & { beginAtZero: boolean ; grace?: string | number ; suggestedMax?: number ; suggestedMin?: number ; ticks: { count: number ; format: Intl.NumberFormatOptions ; precision: number ; stepSize: number } }

# Defined in

index.esm.d.ts:3153 (opens new window)


# LogarithmicScale

Ƭ LogarithmicScale<O>: Scale<O>

# Type parameters

Name Type
O extends LogarithmicScaleOptions = LogarithmicScaleOptions

# Defined in

index.esm.d.ts:3220 (opens new window)


# LogarithmicScaleOptions

Ƭ LogarithmicScaleOptions: CartesianScaleOptions & { suggestedMax?: number ; suggestedMin?: number ; ticks: { format: Intl.NumberFormatOptions } }

# Defined in

index.esm.d.ts:3202 (opens new window)


# Overrides

Ƭ Overrides: { [key in ChartType]: CoreChartOptions<key> & ElementChartOptions<key> & PluginChartOptions<key> & DatasetChartOptions<ChartType> & ScaleChartOptions<key> & ChartTypeRegistry[key]["chartOptions"] }

# Defined in

index.esm.d.ts:691 (opens new window)


# ParsedDataType

Ƭ ParsedDataType<TType>: ChartTypeRegistry[TType]["parsedDataType"]

# Type parameters

Name Type
TType extends ChartType = ChartType

# Defined in

index.esm.d.ts:3647 (opens new window)


# PieAnimationOptions

Ƭ PieAnimationOptions: DoughnutAnimationOptions

# Defined in

index.esm.d.ts:354 (opens new window)


# PieController

Ƭ PieController: DoughnutController

# Defined in

index.esm.d.ts:359 (opens new window)


# PieControllerChartOptions

Ƭ PieControllerChartOptions: DoughnutControllerChartOptions

# Defined in

index.esm.d.ts:353 (opens new window)


# PieControllerDatasetOptions

Ƭ PieControllerDatasetOptions: DoughnutControllerDatasetOptions

# Defined in

index.esm.d.ts:352 (opens new window)


# PieDataPoint

Ƭ PieDataPoint: DoughnutDataPoint

# Defined in

index.esm.d.ts:356 (opens new window)


# PieMetaExtensions

Ƭ PieMetaExtensions: DoughnutMetaExtensions

# Defined in

index.esm.d.ts:357 (opens new window)


# PointStyle

Ƭ PointStyle: "circle" | "cross" | "crossRot" | "dash" | "line" | "rect" | "rectRounded" | "rectRot" | "star" | "triangle" | HTMLImageElement | HTMLCanvasElement

# Defined in

index.esm.d.ts:1865 (opens new window)


# PolarAreaAnimationOptions

Ƭ PolarAreaAnimationOptions: DoughnutAnimationOptions

# Defined in

index.esm.d.ts:373 (opens new window)


# RadarController

Ƭ RadarController: DatasetController

# Defined in

index.esm.d.ts:420 (opens new window)


# RadarControllerChartOptions

Ƭ RadarControllerChartOptions: LineControllerChartOptions

# Defined in

index.esm.d.ts:418 (opens new window)


# RadialLinearScaleOptions

Ƭ RadialLinearScaleOptions: CoreScaleOptions & { angleLines: { borderDash: Scriptable<number[], ScriptableScaleContext> ; borderDashOffset: Scriptable<number, ScriptableScaleContext> ; color: Scriptable<Color, ScriptableScaleContext> ; display: boolean ; lineWidth: Scriptable<number, ScriptableScaleContext> } ; animate: boolean ; beginAtZero: boolean ; grid: GridLineOptions ; max: number ; min: number ; pointLabels: { backdropColor: Scriptable<Color, ScriptableScalePointLabelContext> ; backdropPadding: Scriptable<number | ChartArea, ScriptableScalePointLabelContext> ; borderRadius: Scriptable<number | BorderRadius, ScriptableScalePointLabelContext> ; centerPointLabels: boolean ; color: Scriptable<Color, ScriptableScalePointLabelContext> ; display: boolean ; font: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableScalePointLabelContext> ; padding: Scriptable<number, ScriptableScalePointLabelContext> ; callback: (label: string, index: number) => string | number | string[] | number[] } ; startAngle: number ; suggestedMax: number ; suggestedMin: number ; ticks: RadialTickOptions }

# Defined in

index.esm.d.ts:3356 (opens new window)


# RadialTickOptions

Ƭ RadialTickOptions: TickOptions & { count: number ; format: Intl.NumberFormatOptions ; maxTicksLimit: number ; precision: number ; stepSize: number }

# Defined in

index.esm.d.ts:3328 (opens new window)


# ScaleChartOptions

Ƭ ScaleChartOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartType = ChartType

# Type declaration

Name Type
scales Object

# Defined in

index.esm.d.ts:3630 (opens new window)


# ScaleOptions

Ƭ ScaleOptions<TScale>: DeepPartial<ScaleOptionsByType<TScale>>

# Type parameters

Name Type
TScale extends ScaleType = ScaleType

# Defined in

index.esm.d.ts:3622 (opens new window)


# ScaleOptionsByType

Ƭ ScaleOptionsByType<TScale>: { [key in ScaleType]: Object & ScaleTypeRegistry[key]["options"] }[TScale]

# Type parameters

Name Type
TScale extends ScaleType = ScaleType

# Defined in

index.esm.d.ts:3617 (opens new window)


# ScaleType

Ƭ ScaleType: keyof ScaleTypeRegistry

# Defined in

index.esm.d.ts:3511 (opens new window)


# ScatterController

Ƭ ScatterController: LineController

# Defined in

index.esm.d.ts:234 (opens new window)


# ScatterControllerChartOptions

Ƭ ScatterControllerChartOptions: LineControllerChartOptions

# Defined in

index.esm.d.ts:232 (opens new window)


# ScatterControllerDatasetOptions

Ƭ ScatterControllerDatasetOptions: LineControllerDatasetOptions

# Defined in

index.esm.d.ts:225 (opens new window)


# Scriptable

Ƭ Scriptable<T, TContext>: T | (ctx: TContext, options: AnyObject) => T | undefined

# Type parameters

Name
T
TContext

# Defined in

index.esm.d.ts:39 (opens new window)


# ScriptableAndArray

Ƭ ScriptableAndArray<T, TContext>: readonly T[] | Scriptable<T, TContext>

# Type parameters

Name
T
TContext

# Defined in

index.esm.d.ts:42 (opens new window)


# ScriptableAndArrayOptions

Ƭ ScriptableAndArrayOptions<T, TContext>: { [P in keyof T]: ScriptableAndArray<T[P], TContext> }

# Type parameters

Name
T
TContext

# Defined in

index.esm.d.ts:43 (opens new window)


# ScriptableAndScriptableOptions

Ƭ ScriptableAndScriptableOptions<T, TContext>: Scriptable<T, TContext> | ScriptableOptions<T, TContext>

# Type parameters

Name
T
TContext

# Defined in

index.esm.d.ts:41 (opens new window)


# ScriptableOptions

Ƭ ScriptableOptions<T, TContext>: { [P in keyof T]: Scriptable<T[P], TContext> }

# Type parameters

Name
T
TContext

# Defined in

index.esm.d.ts:40 (opens new window)


# TextAlign

Ƭ TextAlign: "left" | "center" | "right"

# Defined in

index.esm.d.ts:1681 (opens new window)


# TimeScaleOptions

Ƭ TimeScaleOptions: Omit<CartesianScaleOptions, "min" | "max"> & { adapters: { date: unknown } ; bounds: "ticks" | "data" ; max: string | number ; min: string | number ; offsetAfterAutoskip: boolean ; suggestedMax: string | number ; suggestedMin: string | number ; ticks: { source: "labels" | "auto" | "data" } ; time: { displayFormats: { [key: string]: string; } ; isoWeekday: boolean | number ; minUnit: TimeUnit ; parser: string | (v: unknown) => number ; round: false | TimeUnit ; stepSize: number ; tooltipFormat: string ; unit: false | TimeUnit } }

# Defined in

index.esm.d.ts:3226 (opens new window)


# TimeSeriesScale

Ƭ TimeSeriesScale<O>: TimeScale<O>

# Type parameters

Name Type
O extends TimeScaleOptions = TimeScaleOptions

# Defined in

index.esm.d.ts:3322 (opens new window)


# TimeUnit

Ƭ TimeUnit: "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year"

# Defined in

adapters.d.ts:3 (opens new window)


# TooltipPositioner

Ƭ TooltipPositioner: keyof TooltipPositionerMap

# Defined in

index.esm.d.ts:2546 (opens new window)


# TooltipPositionerFunction

Ƭ TooltipPositionerFunction<TType>: (this: TooltipModel<TType>, items: readonly ActiveElement[], eventPosition: Point) => TooltipPosition | false

# Type parameters

Name Type
TType extends ChartType

# Type declaration

â–¸ (this, items, eventPosition): TooltipPosition | false

# Parameters
Name Type
this TooltipModel<TType>
items readonly ActiveElement[]
eventPosition Point
# Returns

TooltipPosition | false

# Defined in

index.esm.d.ts:2535 (opens new window)


# TooltipXAlignment

Ƭ TooltipXAlignment: "left" | "center" | "right"

# Defined in

index.esm.d.ts:2444 (opens new window)


# TooltipYAlignment

Ƭ TooltipYAlignment: "top" | "center" | "bottom"

# Defined in

index.esm.d.ts:2445 (opens new window)


# TransitionSpec

Ƭ TransitionSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type
animation AnimationSpec<TType>
animations AnimationsSpec<TType>

# Defined in

index.esm.d.ts:1630 (opens new window)


# TransitionsSpec

Ƭ TransitionsSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Index signature

â–ª [mode: string]: TransitionSpec<TType>

# Defined in

index.esm.d.ts:1635 (opens new window)


# UpdateMode

Ƭ UpdateMode: keyof typeof UpdateModeEnum

# Defined in

index.esm.d.ts:571 (opens new window)

# Variables

# ArcElement

• ArcElement: ChartComponent & { prototype: ArcElement<ArcProps, ArcOptions> }

# Defined in

index.esm.d.ts:1765 (opens new window)


# BarController

• BarController: ChartComponent & { prototype: BarController }

# Defined in

index.esm.d.ts:146 (opens new window)


# BarElement

• BarElement: ChartComponent & { prototype: BarElement<BarProps, BarOptions> }

# Defined in

index.esm.d.ts:2034 (opens new window)


# BubbleController

• BubbleController: ChartComponent & { prototype: BubbleController }

# Defined in

index.esm.d.ts:174 (opens new window)


# CategoryScale

• CategoryScale: ChartComponent & { prototype: CategoryScale<CategoryScaleOptions> }

# Defined in

index.esm.d.ts:3148 (opens new window)


# Decimation

• Decimation: Plugin

# Defined in

index.esm.d.ts:2110 (opens new window)


# DoughnutController

• DoughnutController: ChartComponent & { prototype: DoughnutController }

# Defined in

index.esm.d.ts:343 (opens new window)


# Element

• Element: Object

# Type declaration

Name Type
prototype Element<AnyObject, AnyObject>

# Defined in

element.d.ts:14 (opens new window)


# Filler

• Filler: Plugin

# Defined in

index.esm.d.ts:2132 (opens new window)


# Interaction

• Interaction: Object

# Type declaration

Name Type
modes InteractionModeMap
evaluateInteractionItems (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, axis: InteractionAxis, position: Point, handler: (element: Element<AnyObject, AnyObject> & VisualElement, datasetIndex: number, index: number) => void, intersect?: boolean) => InteractionItem[]

# Defined in

index.esm.d.ts:754 (opens new window)


# Legend

• Legend: Plugin

# Defined in

index.esm.d.ts:2162 (opens new window)


# LineController

• LineController: ChartComponent & { prototype: LineController }

# Defined in

index.esm.d.ts:220 (opens new window)


# LineElement

• LineElement: ChartComponent & { prototype: LineElement<LineProps, LineOptions> }

# Defined in

index.esm.d.ts:1855 (opens new window)


# LinearScale

• LinearScale: ChartComponent & { prototype: LinearScale<LinearScaleOptions> }

# Defined in

index.esm.d.ts:3197 (opens new window)


# LogarithmicScale

• LogarithmicScale: ChartComponent & { prototype: LogarithmicScale<LogarithmicScaleOptions> }

# Defined in

index.esm.d.ts:3221 (opens new window)


# PieController

• PieController: ChartComponent & { prototype: DoughnutController }

# Defined in

index.esm.d.ts:360 (opens new window)


# PointElement

• PointElement: ChartComponent & { prototype: PointElement<PointProps, PointOptions> }

# Defined in

index.esm.d.ts:1972 (opens new window)


# PolarAreaController

• PolarAreaController: ChartComponent & { prototype: PolarAreaController }

# Defined in

index.esm.d.ts:388 (opens new window)


# RadarController

• RadarController: ChartComponent & { prototype: RadarController }

# Defined in

index.esm.d.ts:421 (opens new window)


# RadialLinearScale

• RadialLinearScale: ChartComponent & { prototype: RadialLinearScale<RadialLinearScaleOptions> }

# Defined in

index.esm.d.ts:3479 (opens new window)


# ScatterController

• ScatterController: ChartComponent & { prototype: LineController }

# Defined in

index.esm.d.ts:235 (opens new window)


# SubTitle

• SubTitle: Plugin

# Defined in

index.esm.d.ts:2402 (opens new window)


# Ticks

• Ticks: Object

# Type declaration

Name Type
formatters Object
formatters.logarithmic [object Object]
formatters.numeric [object Object]
formatters.values [object Object]

# Defined in

index.esm.d.ts:1356 (opens new window)


# TimeScale

• TimeScale: ChartComponent & { prototype: TimeScale<TimeScaleOptions> }

# Defined in

index.esm.d.ts:3317 (opens new window)


# TimeSeriesScale

• TimeSeriesScale: ChartComponent & { prototype: TimeSeriesScale<TimeScaleOptions> }

# Defined in

index.esm.d.ts:3323 (opens new window)


# Title

• Title: Plugin

# Defined in

index.esm.d.ts:2403 (opens new window)


# Tooltip

• Tooltip: Tooltip

# Defined in

index.esm.d.ts:2552 (opens new window)


# _adapters

• _adapters: Object

# Type declaration

Name Type
_date DateAdapter

# Defined in

adapters.d.ts:68 (opens new window)


# defaults

• defaults: Defaults

# Defined in

index.esm.d.ts:701 (opens new window)


# layouts

• layouts: Object

# Type declaration

Name Type
addBox (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, item: LayoutItem) => void
configure (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, item: LayoutItem, options: { fullSize?: number ; position?: LayoutPosition ; weight?: number }) => void
removeBox (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, layoutItem: LayoutItem) => void
update (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, width: number, height: number) => void

# Defined in

index.esm.d.ts:769 (opens new window)


# registerables

• registerables: readonly ChartComponentLike[]

# Defined in

index.esm.d.ts:552 (opens new window)


# registry

• registry: Registry

# Defined in

index.esm.d.ts:1139 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ActiveDataPoint.html b/scriptApl/chart.js/dist/docs/api/interfaces/ActiveDataPoint.html new file mode 100644 index 00000000..1588a349 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ActiveDataPoint.html @@ -0,0 +1,53 @@ + + + + + + Interface: ActiveDataPoint | Chart.js + + + + + + + +

# Interface: ActiveDataPoint

# Hierarchy

# Properties

# datasetIndex

• datasetIndex: number

# Defined in

index.esm.d.ts:471 (opens new window)


# index

• index: number

# Defined in

index.esm.d.ts:472 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ActiveElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/ActiveElement.html new file mode 100644 index 00000000..d7b58e5b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ActiveElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: ActiveElement | Chart.js + + + + + + + +

# Interface: ActiveElement

# Hierarchy

# Properties

# datasetIndex

• datasetIndex: number

# Inherited from

ActiveDataPoint.datasetIndex

# Defined in

index.esm.d.ts:471 (opens new window)


# element

• element: Element<AnyObject, AnyObject>

# Defined in

index.esm.d.ts:476 (opens new window)


# index

• index: number

# Inherited from

ActiveDataPoint.index

# Defined in

index.esm.d.ts:472 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/AnimationEvent.html b/scriptApl/chart.js/dist/docs/api/interfaces/AnimationEvent.html new file mode 100644 index 00000000..658d5205 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/AnimationEvent.html @@ -0,0 +1,53 @@ + + + + + + Interface: AnimationEvent | Chart.js + + + + + + + +

# Interface: AnimationEvent

# Properties

# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

animation.d.ts:13 (opens new window)


# currentStep

• currentStep: number

# Defined in

animation.d.ts:16 (opens new window)


# initial

• initial: boolean

# Defined in

animation.d.ts:15 (opens new window)


# numSteps

• numSteps: number

# Defined in

animation.d.ts:14 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ArcBorderRadius.html b/scriptApl/chart.js/dist/docs/api/interfaces/ArcBorderRadius.html new file mode 100644 index 00000000..4f0c37c7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ArcBorderRadius.html @@ -0,0 +1,53 @@ + + + + + + Interface: ArcBorderRadius | Chart.js + + + + + + + +

# Interface: ArcBorderRadius

# Properties

# innerEnd

• innerEnd: number

# Defined in

index.esm.d.ts:1725 (opens new window)


# innerStart

• innerStart: number

# Defined in

index.esm.d.ts:1724 (opens new window)


# outerEnd

• outerEnd: number

# Defined in

index.esm.d.ts:1723 (opens new window)


# outerStart

• outerStart: number

# Defined in

index.esm.d.ts:1722 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ArcElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/ArcElement.html new file mode 100644 index 00000000..1c265093 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ArcElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: ArcElement | Chart.js + + + + + + + +

# Interface: ArcElement<T, O>

# Type parameters

Name Type
T extends ArcProps = ArcProps
O extends ArcOptions = ArcOptions

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# options

• Readonly options: O

# Inherited from

Element.options

# Defined in

element.d.ts:8 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# draw

â–¸ draw(ctx, area?): void

# Parameters

Name Type
ctx CanvasRenderingContext2D
area? ChartArea

# Returns

void

# Inherited from

VisualElement.draw

# Defined in

index.esm.d.ts:1685 (opens new window)


# getCenterPoint

â–¸ getCenterPoint(useFinalPosition?): Object

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Object

Name Type
x number
y number

# Inherited from

VisualElement.getCenterPoint

# Defined in

index.esm.d.ts:1689 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<T, P[number]>

# Type parameters

Name Type
P extends keyof T[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<T, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# getRange

â–¸ Optional getRange(axis): number

# Parameters

Name Type
axis "x" | "y"

# Returns

number

# Inherited from

VisualElement.getRange

# Defined in

index.esm.d.ts:1690 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# inRange

â–¸ inRange(mouseX, mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inRange

# Defined in

index.esm.d.ts:1686 (opens new window)


# inXRange

â–¸ inXRange(mouseX, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inXRange

# Defined in

index.esm.d.ts:1687 (opens new window)


# inYRange

â–¸ inYRange(mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inYRange

# Defined in

index.esm.d.ts:1688 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ArcHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/ArcHoverOptions.html new file mode 100644 index 00000000..d1030970 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ArcHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: ArcHoverOptions | Chart.js + + + + + + + +

# Interface: ArcHoverOptions

# Hierarchy

# Properties

# hoverBackgroundColor

• hoverBackgroundColor: Color

# Inherited from

CommonHoverOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: Color

# Inherited from

CommonHoverOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: number

# Inherited from

CommonHoverOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverOffset

• hoverOffset: number

# Defined in

index.esm.d.ts:1758 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ArcOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/ArcOptions.html new file mode 100644 index 00000000..15f6510b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ArcOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: ArcOptions | Chart.js + + + + + + + +

# Interface: ArcOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: Color

# Inherited from

CommonElementOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderAlign

• borderAlign: "center" | "inner"

Arc stroke alignment.

# Defined in

index.esm.d.ts:1732 (opens new window)


# borderColor

• borderColor: Color

# Inherited from

CommonElementOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderJoinStyle

• borderJoinStyle: CanvasLineJoin

Line join style. See MDN. Default is 'round' when borderAlign is 'inner', else 'bevel'.

# Defined in

index.esm.d.ts:1737 (opens new window)


# borderRadius

• borderRadius: number | ArcBorderRadius

Sets the border radius for arcs

default 0

# Defined in

index.esm.d.ts:1743 (opens new window)


# borderWidth

• borderWidth: number

# Inherited from

CommonElementOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# circular

• circular: boolean

If false, Arc will be flat.

default true

# Defined in

index.esm.d.ts:1754 (opens new window)


# offset

• offset: number

Arc offset (in pixels).

# Defined in

index.esm.d.ts:1748 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ArcProps.html b/scriptApl/chart.js/dist/docs/api/interfaces/ArcProps.html new file mode 100644 index 00000000..d81826db --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ArcProps.html @@ -0,0 +1,53 @@ + + + + + + Interface: ArcProps | Chart.js + + + + + + + +

# Interface: ArcProps

# Properties

# circumference

• circumference: number

# Defined in

index.esm.d.ts:1718 (opens new window)


# endAngle

• endAngle: number

# Defined in

index.esm.d.ts:1715 (opens new window)


# innerRadius

• innerRadius: number

# Defined in

index.esm.d.ts:1716 (opens new window)


# outerRadius

• outerRadius: number

# Defined in

index.esm.d.ts:1717 (opens new window)


# startAngle

• startAngle: number

# Defined in

index.esm.d.ts:1714 (opens new window)


# x

• x: number

# Defined in

index.esm.d.ts:1712 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:1713 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerChartOptions.html new file mode 100644 index 00000000..54e1b823 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerChartOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: BarControllerChartOptions | Chart.js + + + + + + + +

# Interface: BarControllerChartOptions

# Properties

# skipNull

• Optional skipNull: boolean

Should null or undefined values be omitted from drawing

# Defined in

index.esm.d.ts:142 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerDatasetOptions.html new file mode 100644 index 00000000..fdd58100 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarControllerDatasetOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: BarControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: BarControllerDatasetOptions

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<"bar"> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

AnimationOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<"bar">

# Inherited from

AnimationOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"bar">>

# Inherited from

ScriptableAndArrayOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# barPercentage

• barPercentage: number

Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other.

default 0.9

# Defined in

index.esm.d.ts:109 (opens new window)


# barThickness

• barThickness: number | "flex"

Manually set width of each bar in pixels. If set to 'flex', it computes "optimal" sample widths that globally arrange bars side by side. If not set (default), bars are equally sized based on the smallest interval.

# Defined in

index.esm.d.ts:119 (opens new window)


# base

• base: ScriptableAndArray<number, ScriptableContext<"bar">>

The base value for the bar in data units along the value axis.

# Inherited from

ScriptableAndArrayOptions.base

# Defined in

index.esm.d.ts:1990 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"bar">>

# Inherited from

ScriptableAndArrayOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderRadius

• borderRadius: ScriptableAndArray<number | BorderRadius, ScriptableContext<"bar">>

Border radius

default 0

# Inherited from

ScriptableAndArrayOptions.borderRadius

# Defined in

index.esm.d.ts:2002 (opens new window)


# borderSkipped

• borderSkipped: ScriptableAndArray<boolean | "start" | "end" | "left" | "right" | "bottom" | "top" | "middle", ScriptableContext<"bar">>

Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all).

default 'start'

# Inherited from

ScriptableAndArrayOptions.borderSkipped

# Defined in

index.esm.d.ts:1996 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number | { bottom?: number ; left?: number ; right?: number ; top?: number }, ScriptableContext<"bar">>

Width of the border, number for all sides, object to specify width for each side specifically

default 0

# Inherited from

ScriptableAndArrayOptions.borderWidth

# Defined in

index.esm.d.ts:2015 (opens new window)


# categoryPercentage

• categoryPercentage: number

Percent (0-1) of the available width each category should be within the sample width.

default 0.8

# Defined in

index.esm.d.ts:114 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

ControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

ControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"bar">>

# Inherited from

ScriptableAndArrayOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"bar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"bar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

ControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# inflateAmount

• inflateAmount: ScriptableAndArray<number | "auto", ScriptableContext<"bar">>

Amount to inflate the rectangle(s). This can be used to hide artifacts between bars. +Unit is pixels. 'auto' translates to 0.33 pixels when barPercentage * categoryPercentage is 1, else 0.

default 'auto'

# Inherited from

ScriptableAndArrayOptions.inflateAmount

# Defined in

index.esm.d.ts:2009 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

ControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# maxBarThickness

• maxBarThickness: number

Set this to ensure that bars are not sized thicker than this.

# Defined in

index.esm.d.ts:124 (opens new window)


# minBarLength

• minBarLength: number

Set this to ensure that bars have a minimum length in pixels.

# Defined in

index.esm.d.ts:129 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

ControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# pointStyle

• pointStyle: PointStyle

Point style for the legend

default 'circle;

# Defined in

index.esm.d.ts:135 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

ControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)


# transitions

• transitions: TransitionsSpec<"bar">

# Inherited from

AnimationOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)


# xAxisID

• xAxisID: string

The ID of the x axis to plot this dataset on.

# Defined in

index.esm.d.ts:99 (opens new window)


# yAxisID

• yAxisID: string

The ID of the y axis to plot this dataset on.

# Defined in

index.esm.d.ts:103 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarElement.html new file mode 100644 index 00000000..3380c966 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: BarElement | Chart.js + + + + + + + +

# Interface: BarElement<T, O>

# Type parameters

Name Type
T extends BarProps = BarProps
O extends BarOptions = BarOptions

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# options

• Readonly options: O

# Inherited from

Element.options

# Defined in

element.d.ts:8 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# draw

â–¸ draw(ctx, area?): void

# Parameters

Name Type
ctx CanvasRenderingContext2D
area? ChartArea

# Returns

void

# Inherited from

VisualElement.draw

# Defined in

index.esm.d.ts:1685 (opens new window)


# getCenterPoint

â–¸ getCenterPoint(useFinalPosition?): Object

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Object

Name Type
x number
y number

# Inherited from

VisualElement.getCenterPoint

# Defined in

index.esm.d.ts:1689 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<T, P[number]>

# Type parameters

Name Type
P extends keyof T[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<T, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# getRange

â–¸ Optional getRange(axis): number

# Parameters

Name Type
axis "x" | "y"

# Returns

number

# Inherited from

VisualElement.getRange

# Defined in

index.esm.d.ts:1690 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# inRange

â–¸ inRange(mouseX, mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inRange

# Defined in

index.esm.d.ts:1686 (opens new window)


# inXRange

â–¸ inXRange(mouseX, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inXRange

# Defined in

index.esm.d.ts:1687 (opens new window)


# inYRange

â–¸ inYRange(mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inYRange

# Defined in

index.esm.d.ts:1688 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarHoverOptions.html new file mode 100644 index 00000000..4624eb1a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: BarHoverOptions | Chart.js + + + + + + + +

# Interface: BarHoverOptions

# Hierarchy

# Properties

# hoverBackgroundColor

• hoverBackgroundColor: Color

# Inherited from

CommonHoverOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: Color

# Inherited from

CommonHoverOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderRadius

• hoverBorderRadius: number | BorderRadius

# Defined in

index.esm.d.ts:2026 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: number

# Inherited from

CommonHoverOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarOptions.html new file mode 100644 index 00000000..7eee287c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: BarOptions | Chart.js + + + + + + + +

# Interface: BarOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: Color

# Inherited from

Omit.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# base

• base: number

The base value for the bar in data units along the value axis.

# Defined in

index.esm.d.ts:1990 (opens new window)


# borderColor

• borderColor: Color

# Inherited from

Omit.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderRadius

• borderRadius: number | BorderRadius

Border radius

default 0

# Defined in

index.esm.d.ts:2002 (opens new window)


# borderSkipped

• borderSkipped: boolean | "start" | "end" | "left" | "right" | "bottom" | "top" | "middle"

Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all).

default 'start'

# Defined in

index.esm.d.ts:1996 (opens new window)


# borderWidth

• borderWidth: number | { bottom?: number ; left?: number ; right?: number ; top?: number }

Width of the border, number for all sides, object to specify width for each side specifically

default 0

# Defined in

index.esm.d.ts:2015 (opens new window)


# inflateAmount

• inflateAmount: number | "auto"

Amount to inflate the rectangle(s). This can be used to hide artifacts between bars. +Unit is pixels. 'auto' translates to 0.33 pixels when barPercentage * categoryPercentage is 1, else 0.

default 'auto'

# Defined in

index.esm.d.ts:2009 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BarProps.html b/scriptApl/chart.js/dist/docs/api/interfaces/BarProps.html new file mode 100644 index 00000000..8ae098d6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BarProps.html @@ -0,0 +1,53 @@ + + + + + + Interface: BarProps | Chart.js + + + + + + + +

# Interface: BarProps

# Properties

# base

• base: number

# Defined in

index.esm.d.ts:1980 (opens new window)


# height

• height: number

# Defined in

index.esm.d.ts:1983 (opens new window)


# horizontal

• horizontal: boolean

# Defined in

index.esm.d.ts:1981 (opens new window)


# width

• width: number

# Defined in

index.esm.d.ts:1982 (opens new window)


# x

• x: number

# Defined in

index.esm.d.ts:1978 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:1979 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BorderRadius.html b/scriptApl/chart.js/dist/docs/api/interfaces/BorderRadius.html new file mode 100644 index 00000000..95987553 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BorderRadius.html @@ -0,0 +1,53 @@ + + + + + + Interface: BorderRadius | Chart.js + + + + + + + +

# Interface: BorderRadius

# Properties

# bottomLeft

• bottomLeft: number

# Defined in

index.esm.d.ts:2021 (opens new window)


# bottomRight

• bottomRight: number

# Defined in

index.esm.d.ts:2022 (opens new window)


# topLeft

• topLeft: number

# Defined in

index.esm.d.ts:2019 (opens new window)


# topRight

• topRight: number

# Defined in

index.esm.d.ts:2020 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BubbleControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/BubbleControllerDatasetOptions.html new file mode 100644 index 00000000..936c9a9a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BubbleControllerDatasetOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: BubbleControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: BubbleControllerDatasetOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

ControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# drawActiveElementsOnTop

• drawActiveElementsOnTop: ScriptableAndArray<boolean, ScriptableContext<"bubble">>

Draw the active elements over the other elements of the dataset,

default true

# Inherited from

ScriptableAndArrayOptions.drawActiveElementsOnTop

# Defined in

index.esm.d.ts:1904 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

ControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hitRadius

• hitRadius: ScriptableAndArray<number, ScriptableContext<"bubble">>

Extra radius added to point radius for hit detection.

default 1

# Inherited from

ScriptableAndArrayOptions.hitRadius

# Defined in

index.esm.d.ts:1889 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"bubble">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverRadius

• hoverRadius: ScriptableAndArray<number, ScriptableContext<"bubble">>

Point radius when hovered.

default 4

# Inherited from

ScriptableAndArrayOptions.hoverRadius

# Defined in

index.esm.d.ts:1912 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

ControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

ControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

ControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# pointStyle

• pointStyle: ScriptableAndArray<PointStyle, ScriptableContext<"bubble">>

Point style

default 'circle;

# Inherited from

ScriptableAndArrayOptions.pointStyle

# Defined in

index.esm.d.ts:1894 (opens new window)


# radius

• radius: ScriptableAndArray<number, ScriptableContext<"bubble">>

Point radius

default 3

# Inherited from

ScriptableAndArrayOptions.radius

# Defined in

index.esm.d.ts:1884 (opens new window)


# rotation

• rotation: ScriptableAndArray<number, ScriptableContext<"bubble">>

Point rotation (in degrees).

default 0

# Inherited from

ScriptableAndArrayOptions.rotation

# Defined in

index.esm.d.ts:1899 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

ControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/BubbleDataPoint.html b/scriptApl/chart.js/dist/docs/api/interfaces/BubbleDataPoint.html new file mode 100644 index 00000000..9440eb2b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/BubbleDataPoint.html @@ -0,0 +1,53 @@ + + + + + + Interface: BubbleDataPoint | Chart.js + + + + + + + +

# Interface: BubbleDataPoint

# Properties

# r

• r: number

Bubble radius in pixels (not scaled).

# Defined in

index.esm.d.ts:170 (opens new window)


# x

• x: number

X Value

# Defined in

index.esm.d.ts:160 (opens new window)


# y

• y: number

Y Value

# Defined in

index.esm.d.ts:165 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleOptions.html new file mode 100644 index 00000000..200c3b05 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CartesianScaleOptions | Chart.js + + + + + + + +

# Interface: CartesianScaleOptions

# Hierarchy

# Properties

# alignToPixels

• alignToPixels: boolean

Align pixel values to device pixels

# Inherited from

CoreScaleOptions.alignToPixels

# Defined in

index.esm.d.ts:1156 (opens new window)


# axis

• axis: "x" | "y"

Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.

# Defined in

index.esm.d.ts:3089 (opens new window)


# bounds

• bounds: "data" | "ticks"

Scale boundary strategy (bypassed by min/max time options)

  • data: make sure data are fully visible, ticks outside are removed
  • ticks: make sure ticks are fully visible, data outside are truncated

since 2.7.0

default 'ticks'

# Defined in

index.esm.d.ts:3068 (opens new window)


# display

• display: boolean | "auto"

Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.

default true

# Inherited from

CoreScaleOptions.display

# Defined in

index.esm.d.ts:1152 (opens new window)


# grid

• grid: GridLineOptions

# Defined in

index.esm.d.ts:3107 (opens new window)


# max

• max: number

User defined maximum value for the scale, overrides maximum value from data.

# Defined in

index.esm.d.ts:3099 (opens new window)


# min

• min: number

User defined minimum value for the scale, overrides minimum value from data.

# Defined in

index.esm.d.ts:3094 (opens new window)


# offset

• offset: boolean

If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.

default false

# Defined in

index.esm.d.ts:3105 (opens new window)


# position

• position: "left" | "right" | "bottom" | "top" | "center" | { [scale: string]: number; }

Position of the axis.

# Defined in

index.esm.d.ts:3073 (opens new window)


# reverse

• reverse: boolean

Reverse the scale.

default false

# Inherited from

CoreScaleOptions.reverse

# Defined in

index.esm.d.ts:1161 (opens new window)


# stack

• Optional stack: string

Stack group. Axes at the same position with same stack are stacked.

# Defined in

index.esm.d.ts:3078 (opens new window)


# stackWeight

• Optional stackWeight: number

Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.

default 1

# Defined in

index.esm.d.ts:3084 (opens new window)


# stacked

• Optional stacked: boolean | "single"

If true, data will be comprised between datasets of data

default false

# Defined in

index.esm.d.ts:3136 (opens new window)


# ticks

• ticks: CartesianTickOptions

# Defined in

index.esm.d.ts:3138 (opens new window)


# title

• title: Object

Options for the scale title.

# Type declaration

Name Type Description
align Align Alignment of the axis title.
color Color Color of the axis label.
display boolean If true, displays the axis title.
font ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableCartesianScaleContext> Information about the axis title font.
padding number | { bottom: number ; top: number ; y: number } Padding to apply around scale labels.
text string | string[] The text for the title, e.g. "# of People" or "Response Choices".

# Defined in

index.esm.d.ts:3110 (opens new window)


# weight

• weight: number

The weight used to sort the axis. Higher weights are further away from the chart area.

default true

# Inherited from

CoreScaleOptions.weight

# Defined in

index.esm.d.ts:1166 (opens new window)

# Methods

# afterBuildTicks

â–¸ afterBuildTicks(axis): void

Callback that runs after ticks are created. Useful for filtering ticks.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterBuildTicks

# Defined in

index.esm.d.ts:1194 (opens new window)


# afterCalculateLabelRotation

â–¸ afterCalculateLabelRotation(axis): void

Callback that runs after tick rotation is determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterCalculateLabelRotation

# Defined in

index.esm.d.ts:1210 (opens new window)


# afterDataLimits

â–¸ afterDataLimits(axis): void

Callback that runs after data limits are determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterDataLimits

# Defined in

index.esm.d.ts:1186 (opens new window)


# afterFit

â–¸ afterFit(axis): void

Callback that runs after the scale fits to the canvas.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterFit

# Defined in

index.esm.d.ts:1218 (opens new window)


# afterSetDimensions

â–¸ afterSetDimensions(axis): void

Callback that runs after dimensions are set.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterSetDimensions

# Defined in

index.esm.d.ts:1178 (opens new window)


# afterTickToLabelConversion

â–¸ afterTickToLabelConversion(axis): void

Callback that runs after ticks are converted into strings.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterTickToLabelConversion

# Defined in

index.esm.d.ts:1202 (opens new window)


# afterUpdate

â–¸ afterUpdate(axis): void

Callback that runs at the end of the update process.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.afterUpdate

# Defined in

index.esm.d.ts:1222 (opens new window)


# beforeBuildTicks

â–¸ beforeBuildTicks(axis): void

Callback that runs before ticks are created.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeBuildTicks

# Defined in

index.esm.d.ts:1190 (opens new window)


# beforeCalculateLabelRotation

â–¸ beforeCalculateLabelRotation(axis): void

Callback that runs before tick rotation is determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeCalculateLabelRotation

# Defined in

index.esm.d.ts:1206 (opens new window)


# beforeDataLimits

â–¸ beforeDataLimits(axis): void

Callback that runs before data limits are determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeDataLimits

# Defined in

index.esm.d.ts:1182 (opens new window)


# beforeFit

â–¸ beforeFit(axis): void

Callback that runs before the scale fits to the canvas.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeFit

# Defined in

index.esm.d.ts:1214 (opens new window)


# beforeSetDimensions

â–¸ beforeSetDimensions(axis): void

Callback that runs before dimensions are set.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeSetDimensions

# Defined in

index.esm.d.ts:1174 (opens new window)


# beforeTickToLabelConversion

â–¸ beforeTickToLabelConversion(axis): void

Callback that runs before ticks are converted into strings.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeTickToLabelConversion

# Defined in

index.esm.d.ts:1198 (opens new window)


# beforeUpdate

â–¸ beforeUpdate(axis): void

Callback called before the update process starts.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Inherited from

CoreScaleOptions.beforeUpdate

# Defined in

index.esm.d.ts:1170 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleTypeRegistry.html b/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleTypeRegistry.html new file mode 100644 index 00000000..723802c8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CartesianScaleTypeRegistry.html @@ -0,0 +1,53 @@ + + + + + + Interface: CartesianScaleTypeRegistry | Chart.js + + + + + + + +

# Interface: CartesianScaleTypeRegistry

# Hierarchy

# Properties

# category

• category: Object

# Type declaration

Name Type
options CategoryScaleOptions

# Defined in

index.esm.d.ts:3491 (opens new window)


# linear

• linear: Object

# Type declaration

Name Type
options LinearScaleOptions

# Defined in

index.esm.d.ts:3485 (opens new window)


# logarithmic

• logarithmic: Object

# Type declaration

Name Type
options LogarithmicScaleOptions

# Defined in

index.esm.d.ts:3488 (opens new window)


# time

• time: Object

# Type declaration

Name Type
options TimeScaleOptions

# Defined in

index.esm.d.ts:3494 (opens new window)


# timeseries

• timeseries: Object

# Type declaration

Name Type
options TimeScaleOptions

# Defined in

index.esm.d.ts:3497 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartArea.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartArea.html new file mode 100644 index 00000000..e443273d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartArea.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartArea | Chart.js + + + + + + + +

# Interface: ChartArea

# Properties

# bottom

• bottom: number

# Defined in

geometric.d.ts:5 (opens new window)


# height

• height: number

# Defined in

geometric.d.ts:7 (opens new window)


# left

• left: number

# Defined in

geometric.d.ts:3 (opens new window)


• right: number

# Defined in

geometric.d.ts:4 (opens new window)


# top

• top: number

# Defined in

geometric.d.ts:2 (opens new window)


# width

• width: number

# Defined in

geometric.d.ts:6 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartComponent.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartComponent.html new file mode 100644 index 00000000..bfcee6dc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartComponent.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartComponent | Chart.js + + + + + + + +

# Interface: ChartComponent

# Hierarchy

# Properties

# defaultRoutes

• Optional defaultRoutes: Object

# Index signature

â–ª [property: string]: string

# Defined in

index.esm.d.ts:1414 (opens new window)


# defaults

• Optional defaults: AnyObject

# Defined in

index.esm.d.ts:1413 (opens new window)


# id

• id: string

# Defined in

index.esm.d.ts:1412 (opens new window)

# Methods

# afterRegister

â–¸ Optional afterRegister(): void

# Returns

void

# Defined in

index.esm.d.ts:1417 (opens new window)


# afterUnregister

â–¸ Optional afterUnregister(): void

# Returns

void

# Defined in

index.esm.d.ts:1419 (opens new window)


# beforeRegister

â–¸ Optional beforeRegister(): void

# Returns

void

# Defined in

index.esm.d.ts:1416 (opens new window)


# beforeUnregister

â–¸ Optional beforeUnregister(): void

# Returns

void

# Defined in

index.esm.d.ts:1418 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfiguration.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfiguration.html new file mode 100644 index 00000000..bc91f684 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfiguration.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartConfiguration | Chart.js + + + + + + + +

# Interface: ChartConfiguration<TType, TData, TLabel>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>
TLabel unknown

# Properties

# data

• data: ChartData<TType, TData, TLabel>

# Defined in

index.esm.d.ts:3702 (opens new window)


# options

• Optional options: DeepPartial<CoreChartOptions<TType> & ElementChartOptions<TType> & PluginChartOptions<TType> & DatasetChartOptions<TType> & ScaleChartOptions<TType> & ChartTypeRegistry[TType]["chartOptions"]>

# Defined in

index.esm.d.ts:3703 (opens new window)


# plugins

• Optional plugins: Plugin<TType, AnyObject>[]

# Defined in

index.esm.d.ts:3704 (opens new window)


# type

• type: TType

# Defined in

index.esm.d.ts:3701 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfigurationCustomTypesPerDataset.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfigurationCustomTypesPerDataset.html new file mode 100644 index 00000000..1c573f38 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartConfigurationCustomTypesPerDataset.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartConfigurationCustomTypesPerDataset | Chart.js + + + + + + + +

# Interface: ChartConfigurationCustomTypesPerDataset<TType, TData, TLabel>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>
TLabel unknown

# Properties

# data

• data: ChartDataCustomTypesPerDataset<TType, TData, TLabel>

# Defined in

index.esm.d.ts:3712 (opens new window)


# options

• Optional options: DeepPartial<CoreChartOptions<TType> & ElementChartOptions<TType> & PluginChartOptions<TType> & DatasetChartOptions<TType> & ScaleChartOptions<TType> & ChartTypeRegistry[TType]["chartOptions"]>

# Defined in

index.esm.d.ts:3713 (opens new window)


# plugins

• Optional plugins: Plugin<TType, AnyObject>[]

# Defined in

index.esm.d.ts:3714 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartData.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartData.html new file mode 100644 index 00000000..95f5e0ac --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartData.html @@ -0,0 +1,55 @@ + + + + + + Interface: ChartData | Chart.js + + + + + + + +

# Interface: ChartData<TType, TData, TLabel>

TData represents the data point type. If unspecified, a default is provided +based on the chart type. +TLabel represents the label type

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>
TLabel unknown

# Properties

# datasets

• datasets: ChartDataset<TType, TData>[]

# Defined in

index.esm.d.ts:3684 (opens new window)


# labels

• Optional labels: TLabel[]

# Defined in

index.esm.d.ts:3683 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartDataCustomTypesPerDataset.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDataCustomTypesPerDataset.html new file mode 100644 index 00000000..18009b27 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDataCustomTypesPerDataset.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartDataCustomTypesPerDataset | Chart.js + + + + + + + +

# Interface: ChartDataCustomTypesPerDataset<TType, TData, TLabel>

# Type parameters

Name Type
TType extends ChartType = ChartType
TData DefaultDataPoint<TType>
TLabel unknown

# Properties

# datasets

• datasets: ChartDatasetCustomTypesPerDataset<TType, TData>[]

# Defined in

index.esm.d.ts:3693 (opens new window)


# labels

• Optional labels: TLabel[]

# Defined in

index.esm.d.ts:3692 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetProperties.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetProperties.html new file mode 100644 index 00000000..aad875af --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetProperties.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartDatasetProperties | Chart.js + + + + + + + +

# Interface: ChartDatasetProperties<TType, TData>

# Type parameters

Name Type
TType extends ChartType
TData TData

# Properties

# data

• data: TData

# Defined in

index.esm.d.ts:3651 (opens new window)


# type

• Optional type: TType

# Defined in

index.esm.d.ts:3650 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html new file mode 100644 index 00000000..e02beaf8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartDatasetPropertiesCustomTypesPerDataset | Chart.js + + + + + + + +

# Interface: ChartDatasetPropertiesCustomTypesPerDataset<TType, TData>

# Type parameters

Name Type
TType extends ChartType
TData TData

# Properties

# data

• data: TData

# Defined in

index.esm.d.ts:3656 (opens new window)


# type

• type: TType

# Defined in

index.esm.d.ts:3655 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartEvent.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartEvent.html new file mode 100644 index 00000000..c65fa6e1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartEvent.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartEvent | Chart.js + + + + + + + +

# Interface: ChartEvent

# Properties

# native

• native: Event

# Defined in

index.esm.d.ts:1407 (opens new window)


# type

• type: "resize" | "click" | "contextmenu" | "dblclick" | "keydown" | "keypress" | "keyup" | "mousedown" | "mouseenter" | "mousemove" | "mouseout" | "mouseup"

# Defined in

index.esm.d.ts:1394 (opens new window)


# x

• x: number

# Defined in

index.esm.d.ts:1408 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:1409 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ChartTypeRegistry.html b/scriptApl/chart.js/dist/docs/api/interfaces/ChartTypeRegistry.html new file mode 100644 index 00000000..230e88c9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ChartTypeRegistry.html @@ -0,0 +1,53 @@ + + + + + + Interface: ChartTypeRegistry | Chart.js + + + + + + + +

# Interface: ChartTypeRegistry

# Properties

# bar

• bar: Object

# Type declaration

Name Type
chartOptions BarControllerChartOptions
datasetOptions BarControllerDatasetOptions
defaultDataPoint number
metaExtensions Object
parsedDataType BarParsedData
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3549 (opens new window)


# bubble

• bubble: Object

# Type declaration

Name Type
chartOptions unknown
datasetOptions BubbleControllerDatasetOptions
defaultDataPoint BubbleDataPoint
metaExtensions Object
parsedDataType BubbleParsedData
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3573 (opens new window)


# doughnut

• doughnut: Object

# Type declaration

Name Type
chartOptions DoughnutControllerChartOptions
datasetOptions DoughnutControllerDatasetOptions
defaultDataPoint number
metaExtensions DoughnutMetaExtensions
parsedDataType number
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3589 (opens new window)


# line

• line: Object

# Type declaration

Name Type
chartOptions LineControllerChartOptions
datasetOptions LineControllerDatasetOptions & FillerControllerDatasetOptions
defaultDataPoint number | ScatterDataPoint
metaExtensions Object
parsedDataType CartesianParsedData
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3557 (opens new window)


# pie

• pie: Object

# Type declaration

Name Type
chartOptions DoughnutControllerChartOptions
datasetOptions DoughnutControllerDatasetOptions
defaultDataPoint number
metaExtensions DoughnutMetaExtensions
parsedDataType number
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3581 (opens new window)


# polarArea

• polarArea: Object

# Type declaration

Name Type
chartOptions PolarAreaControllerChartOptions
datasetOptions PolarAreaControllerDatasetOptions
defaultDataPoint number
metaExtensions Object
parsedDataType RadialParsedData
scales "radialLinear"

# Defined in

index.esm.d.ts:3597 (opens new window)


# radar

• radar: Object

# Type declaration

Name Type
chartOptions LineControllerChartOptions
datasetOptions RadarControllerDatasetOptions & FillerControllerDatasetOptions
defaultDataPoint number
metaExtensions Object
parsedDataType RadialParsedData
scales "radialLinear"

# Defined in

index.esm.d.ts:3605 (opens new window)


# scatter

• scatter: Object

# Type declaration

Name Type
chartOptions LineControllerChartOptions
datasetOptions LineControllerDatasetOptions
defaultDataPoint number | ScatterDataPoint
metaExtensions Object
parsedDataType CartesianParsedData
scales keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3565 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CommonElementOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CommonElementOptions.html new file mode 100644 index 00000000..742342b2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CommonElementOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CommonElementOptions | Chart.js + + + + + + + +

# Interface: CommonElementOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: Color

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderColor

• borderColor: Color

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderWidth

• borderWidth: number

# Defined in

index.esm.d.ts:1694 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CommonHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CommonHoverOptions.html new file mode 100644 index 00000000..77c568b3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CommonHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CommonHoverOptions | Chart.js + + + + + + + +

# Interface: CommonHoverOptions

# Hierarchy

# Properties

# hoverBackgroundColor

• hoverBackgroundColor: Color

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: Color

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: number

# Defined in

index.esm.d.ts:1700 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ComplexFillTarget.html b/scriptApl/chart.js/dist/docs/api/interfaces/ComplexFillTarget.html new file mode 100644 index 00000000..a9d2cf00 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ComplexFillTarget.html @@ -0,0 +1,53 @@ + + + + + + Interface: ComplexFillTarget | Chart.js + + + + + + + +

# Interface: ComplexFillTarget

# Properties

# above

• above: Color

If no color is set, the default color will be the background color of the chart.

# Defined in

index.esm.d.ts:2148 (opens new window)


# below

• below: Color

Same as the above.

# Defined in

index.esm.d.ts:2152 (opens new window)


# target

• target: FillTarget

The accepted values are the same as the filling mode values, so you may use absolute and relative dataset indexes and/or boundaries.

# Defined in

index.esm.d.ts:2144 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/ControllerDatasetOptions.html new file mode 100644 index 00000000..1b0462ed --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ControllerDatasetOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: ControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: ControllerDatasetOptions

# Hierarchy

# Properties

# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Defined in

index.esm.d.ts:70 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Defined in

index.esm.d.ts:88 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ParsingOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ParsingOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Defined in

index.esm.d.ts:83 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CoreChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CoreChartOptions.html new file mode 100644 index 00000000..8de99df7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CoreChartOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CoreChartOptions | Chart.js + + + + + + + +

# Interface: CoreChartOptions<TType>

# Type parameters

Name Type
TType extends ChartType

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<TType> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

AnimationOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<TType>

# Inherited from

AnimationOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# aspectRatio

• aspectRatio: number

Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style.

default 2

# Defined in

index.esm.d.ts:1505 (opens new window)


# backgroundColor

• backgroundColor: Scriptable<Color, ScriptableContext<TType>>

base background color

see Defaults.backgroundColor

# Defined in

index.esm.d.ts:1474 (opens new window)


# borderColor

• borderColor: Scriptable<Color, ScriptableContext<TType>>

base border color

see Defaults.borderColor

# Defined in

index.esm.d.ts:1479 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Defined in

index.esm.d.ts:1463 (opens new window)


# color

• color: Scriptable<Color, ScriptableContext<TType>>

base color

see Defaults.color

# Defined in

index.esm.d.ts:1469 (opens new window)


# datasets

• datasets: Object

# Type declaration

Name Type
bar BarControllerDatasetOptions
bubble BubbleControllerDatasetOptions
doughnut DoughnutControllerDatasetOptions
line LineControllerDatasetOptions & FillerControllerDatasetOptions
pie DoughnutControllerDatasetOptions
polarArea PolarAreaControllerDatasetOptions
radar RadarControllerDatasetOptions & FillerControllerDatasetOptions
scatter LineControllerDatasetOptions

# Defined in

index.esm.d.ts:1450 (opens new window)


# devicePixelRatio

• devicePixelRatio: number

Override the window's default devicePixelRatio.

default window.devicePixelRatio

# Defined in

index.esm.d.ts:1522 (opens new window)


# events

• events: keyof HTMLElementEventMap[]

The events option defines the browser events that the chart should listen to for tooltips and hovering.

default ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove']

# Defined in

index.esm.d.ts:1532 (opens new window)


# font

• font: Partial<FontSpec>

base font

see Defaults.font

# Defined in

index.esm.d.ts:1484 (opens new window)


# hover

• hover: CoreInteractionOptions

# Defined in

index.esm.d.ts:1526 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Defined in

index.esm.d.ts:1458 (opens new window)


# interaction

• interaction: CoreInteractionOptions

# Defined in

index.esm.d.ts:1524 (opens new window)


# layout

• layout: Partial<{ autoPadding: boolean ; padding: Scriptable<number | Partial<ChartArea>, ScriptableContext<TType>> }>

# Defined in

index.esm.d.ts:1544 (opens new window)


# locale

• locale: string

Locale used for number formatting (using Intl.NumberFormat).

default user's browser setting

# Defined in

index.esm.d.ts:1511 (opens new window)


# maintainAspectRatio

• maintainAspectRatio: boolean

Maintain the original canvas aspect ratio (width / height) when resizing.

default true

# Defined in

index.esm.d.ts:1494 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ParsingOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ParsingOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# resizeDelay

• resizeDelay: number

Delay the resize update by give amount of milliseconds. This can ease the resize process by debouncing update of the elements.

default 0

# Defined in

index.esm.d.ts:1499 (opens new window)


# responsive

• responsive: boolean

Resizes the chart canvas when its container does (important note...).

default true

# Defined in

index.esm.d.ts:1489 (opens new window)


# transitions

• transitions: TransitionsSpec<TType>

# Inherited from

AnimationOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)

# Methods

# onClick

â–¸ onClick(event, elements, chart): void

Called if the event is of type 'mouseup' or 'click'. Passed the event, an array of active elements, and the chart.

# Parameters

Name Type
event ChartEvent
elements ActiveElement[]
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Defined in

index.esm.d.ts:1542 (opens new window)


# onHover

â–¸ onHover(event, elements, chart): void

Called when any of the events fire. Passed the event, an array of active elements (bars, points, etc), and the chart.

# Parameters

Name Type
event ChartEvent
elements ActiveElement[]
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Defined in

index.esm.d.ts:1537 (opens new window)


# onResize

â–¸ onResize(chart, size): void

Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
size Object
size.height number
size.width number

# Returns

void

# Defined in

index.esm.d.ts:1516 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CoreInteractionOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CoreInteractionOptions.html new file mode 100644 index 00000000..7ac9bec4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CoreInteractionOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CoreInteractionOptions | Chart.js + + + + + + + +

# Interface: CoreInteractionOptions

# Hierarchy

# Properties

# axis

• axis: InteractionAxis

Defines which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes.

# Defined in

index.esm.d.ts:1439 (opens new window)


# includeInvisible

• includeInvisible: boolean

if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.

default false

# Defined in

index.esm.d.ts:1445 (opens new window)


# intersect

• intersect: boolean

if true, the hover mode only applies when the mouse position intersects an item on the chart.

default true

# Defined in

index.esm.d.ts:1434 (opens new window)


# mode

• mode: keyof InteractionModeMap

Sets which elements appear in the tooltip. See Interaction Modes for details.

default 'nearest'

# Defined in

index.esm.d.ts:1429 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/CoreScaleOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/CoreScaleOptions.html new file mode 100644 index 00000000..5a91a1b5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/CoreScaleOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: CoreScaleOptions | Chart.js + + + + + + + +

# Interface: CoreScaleOptions

# Hierarchy

# Properties

# alignToPixels

• alignToPixels: boolean

Align pixel values to device pixels

# Defined in

index.esm.d.ts:1156 (opens new window)


# display

• display: boolean | "auto"

Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.

default true

# Defined in

index.esm.d.ts:1152 (opens new window)


# reverse

• reverse: boolean

Reverse the scale.

default false

# Defined in

index.esm.d.ts:1161 (opens new window)


# weight

• weight: number

The weight used to sort the axis. Higher weights are further away from the chart area.

default true

# Defined in

index.esm.d.ts:1166 (opens new window)

# Methods

# afterBuildTicks

â–¸ afterBuildTicks(axis): void

Callback that runs after ticks are created. Useful for filtering ticks.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1194 (opens new window)


# afterCalculateLabelRotation

â–¸ afterCalculateLabelRotation(axis): void

Callback that runs after tick rotation is determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1210 (opens new window)


# afterDataLimits

â–¸ afterDataLimits(axis): void

Callback that runs after data limits are determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1186 (opens new window)


# afterFit

â–¸ afterFit(axis): void

Callback that runs after the scale fits to the canvas.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1218 (opens new window)


# afterSetDimensions

â–¸ afterSetDimensions(axis): void

Callback that runs after dimensions are set.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1178 (opens new window)


# afterTickToLabelConversion

â–¸ afterTickToLabelConversion(axis): void

Callback that runs after ticks are converted into strings.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1202 (opens new window)


# afterUpdate

â–¸ afterUpdate(axis): void

Callback that runs at the end of the update process.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1222 (opens new window)


# beforeBuildTicks

â–¸ beforeBuildTicks(axis): void

Callback that runs before ticks are created.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1190 (opens new window)


# beforeCalculateLabelRotation

â–¸ beforeCalculateLabelRotation(axis): void

Callback that runs before tick rotation is determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1206 (opens new window)


# beforeDataLimits

â–¸ beforeDataLimits(axis): void

Callback that runs before data limits are determined.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1182 (opens new window)


# beforeFit

â–¸ beforeFit(axis): void

Callback that runs before the scale fits to the canvas.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1214 (opens new window)


# beforeSetDimensions

â–¸ beforeSetDimensions(axis): void

Callback that runs before dimensions are set.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1174 (opens new window)


# beforeTickToLabelConversion

â–¸ beforeTickToLabelConversion(axis): void

Callback that runs before ticks are converted into strings.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1198 (opens new window)


# beforeUpdate

â–¸ beforeUpdate(axis): void

Callback called before the update process starts.

# Parameters

Name Type
axis Scale<CoreScaleOptions>

# Returns

void

# Defined in

index.esm.d.ts:1170 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DatasetControllerChartComponent.html b/scriptApl/chart.js/dist/docs/api/interfaces/DatasetControllerChartComponent.html new file mode 100644 index 00000000..83555488 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DatasetControllerChartComponent.html @@ -0,0 +1,53 @@ + + + + + + Interface: DatasetControllerChartComponent | Chart.js + + + + + + + +

# Interface: DatasetControllerChartComponent

# Hierarchy

# Properties

# defaultRoutes

• Optional defaultRoutes: Object

# Index signature

â–ª [property: string]: string

# Inherited from

ChartComponent.defaultRoutes

# Defined in

index.esm.d.ts:1414 (opens new window)


# defaults

• defaults: Object

# Type declaration

Name Type
dataElementType? string | false
datasetElementType? string | false

# Overrides

ChartComponent.defaults

# Defined in

index.esm.d.ts:651 (opens new window)


# id

• id: string

# Inherited from

ChartComponent.id

# Defined in

index.esm.d.ts:1412 (opens new window)

# Methods

# afterRegister

â–¸ Optional afterRegister(): void

# Returns

void

# Inherited from

ChartComponent.afterRegister

# Defined in

index.esm.d.ts:1417 (opens new window)


# afterUnregister

â–¸ Optional afterUnregister(): void

# Returns

void

# Inherited from

ChartComponent.afterUnregister

# Defined in

index.esm.d.ts:1419 (opens new window)


# beforeRegister

â–¸ Optional beforeRegister(): void

# Returns

void

# Inherited from

ChartComponent.beforeRegister

# Defined in

index.esm.d.ts:1416 (opens new window)


# beforeUnregister

â–¸ Optional beforeUnregister(): void

# Returns

void

# Inherited from

ChartComponent.beforeUnregister

# Defined in

index.esm.d.ts:1418 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DateAdapter.html b/scriptApl/chart.js/dist/docs/api/interfaces/DateAdapter.html new file mode 100644 index 00000000..a4d782d6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DateAdapter.html @@ -0,0 +1,54 @@ + + + + + + Interface: DateAdapter | Chart.js + + + + + + + +

# Interface: DateAdapter

# Properties

# options

• Readonly options: unknown

# Defined in

adapters.d.ts:8 (opens new window)

# Methods

# add

â–¸ add(timestamp, amount, unit): number

Adds the specified amount of unit to the given timestamp.

# Parameters

Name Type Description
timestamp number the input timestamp
amount number the amount to add
unit TimeUnit the unit as string

# Returns

number

# Defined in

adapters.d.ts:41 (opens new window)


# diff

â–¸ diff(a, b, unit): number

Returns the number of unit between the given timestamps.

# Parameters

Name Type Description
a number the input timestamp (reference)
b number the timestamp to subtract
unit TimeUnit the unit as string

# Returns

number

# Defined in

adapters.d.ts:49 (opens new window)


# endOf

â–¸ endOf(timestamp, unit): number

Returns end of unit for the given timestamp.

# Parameters

Name Type Description
timestamp number the input timestamp
unit TimeUnit | "isoWeek" the unit as string

# Returns

number

# Defined in

adapters.d.ts:65 (opens new window)


# format

â–¸ format(timestamp, format): string

Returns the formatted date in the specified format for a given timestamp.

# Parameters

Name Type Description
timestamp number the timestamp to format
format TimeUnit the date/time token

# Returns

string

# Defined in

adapters.d.ts:33 (opens new window)


# formats

â–¸ formats(): Object

Returns a map of time formats for the supported formatting units defined +in Unit as well as 'datetime' representing a detailed date/time string.

# Returns

Object

# Defined in

adapters.d.ts:20 (opens new window)


# init

â–¸ init(chartOptions): void

Will called with chart options after adapter creation.

# Parameters

Name Type
chartOptions _DeepPartialObject<CoreChartOptions<keyof ChartTypeRegistry> & ElementChartOptions<keyof ChartTypeRegistry> & PluginChartOptions<keyof ChartTypeRegistry> & DatasetChartOptions<keyof ChartTypeRegistry> & ScaleChartOptions<keyof ChartTypeRegistry>>

# Returns

void

# Defined in

adapters.d.ts:14 (opens new window)


# override

â–¸ override(members): void

# Parameters

Name Type
members Partial<DateAdapter>

# Returns

void

# Defined in

adapters.d.ts:7 (opens new window)


# parse

â–¸ parse(value, format?): number

Parses the given value and return the associated timestamp.

# Parameters

Name Type Description
value unknown the value to parse (usually comes from the data)
format? TimeUnit -

# Returns

number

# Defined in

adapters.d.ts:26 (opens new window)


# startOf

â–¸ startOf(timestamp, unit, weekday?): number

Returns start of unit for the given timestamp.

# Parameters

Name Type Description
timestamp number the input timestamp
unit TimeUnit | "isoWeek" the unit as string
weekday? number -

# Returns

number

# Defined in

adapters.d.ts:58 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Defaults.html b/scriptApl/chart.js/dist/docs/api/interfaces/Defaults.html new file mode 100644 index 00000000..0f3b8745 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Defaults.html @@ -0,0 +1,56 @@ + + + + + + Interface: Defaults | Chart.js + + + + + + + +

# Interface: Defaults

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<keyof ChartTypeRegistry> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

CoreChartOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<keyof ChartTypeRegistry>

# Inherited from

CoreChartOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# aspectRatio

• aspectRatio: number

Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style.

default 2

# Inherited from

CoreChartOptions.aspectRatio

# Defined in

index.esm.d.ts:1505 (opens new window)


# backgroundColor

• backgroundColor: Scriptable<Color, ScriptableContext<keyof ChartTypeRegistry>>

base background color

see Defaults.backgroundColor

# Inherited from

CoreChartOptions.backgroundColor

# Defined in

index.esm.d.ts:1474 (opens new window)


# borderColor

• borderColor: Scriptable<Color, ScriptableContext<keyof ChartTypeRegistry>>

base border color

see Defaults.borderColor

# Inherited from

CoreChartOptions.borderColor

# Defined in

index.esm.d.ts:1479 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

CoreChartOptions.clip

# Defined in

index.esm.d.ts:1463 (opens new window)


# color

• color: Scriptable<Color, ScriptableContext<keyof ChartTypeRegistry>>

base color

see Defaults.color

# Inherited from

CoreChartOptions.color

# Defined in

index.esm.d.ts:1469 (opens new window)


# datasets

• datasets: Object

# Type declaration

Name Type
bar BarControllerDatasetOptions
bubble BubbleControllerDatasetOptions
doughnut DoughnutControllerDatasetOptions
line LineControllerDatasetOptions & FillerControllerDatasetOptions
pie DoughnutControllerDatasetOptions
polarArea PolarAreaControllerDatasetOptions
radar RadarControllerDatasetOptions & FillerControllerDatasetOptions
scatter LineControllerDatasetOptions

# Inherited from

CoreChartOptions.datasets

# Defined in

index.esm.d.ts:1450 (opens new window)


# devicePixelRatio

• devicePixelRatio: number

Override the window's default devicePixelRatio.

default window.devicePixelRatio

# Inherited from

CoreChartOptions.devicePixelRatio

# Defined in

index.esm.d.ts:1522 (opens new window)


# elements

• elements: ElementOptionsByType<keyof ChartTypeRegistry>

# Inherited from

ElementChartOptions.elements

# Defined in

index.esm.d.ts:2047 (opens new window)


# events

• events: keyof HTMLElementEventMap[]

The events option defines the browser events that the chart should listen to for tooltips and hovering.

default ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove']

# Inherited from

CoreChartOptions.events

# Defined in

index.esm.d.ts:1532 (opens new window)


# font

• font: Partial<FontSpec>

base font

see Defaults.font

# Inherited from

CoreChartOptions.font

# Defined in

index.esm.d.ts:1484 (opens new window)


# hover

• hover: CoreInteractionOptions

# Inherited from

CoreChartOptions.hover

# Defined in

index.esm.d.ts:1526 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

CoreChartOptions.indexAxis

# Defined in

index.esm.d.ts:1458 (opens new window)


# interaction

• interaction: CoreInteractionOptions

# Inherited from

CoreChartOptions.interaction

# Defined in

index.esm.d.ts:1524 (opens new window)


# layout

• layout: Partial<{ autoPadding: boolean ; padding: Scriptable<number | Partial<ChartArea>, ScriptableContext<keyof ChartTypeRegistry>> }>

# Inherited from

CoreChartOptions.layout

# Defined in

index.esm.d.ts:1544 (opens new window)


# locale

• locale: string

Locale used for number formatting (using Intl.NumberFormat).

default user's browser setting

# Inherited from

CoreChartOptions.locale

# Defined in

index.esm.d.ts:1511 (opens new window)


# maintainAspectRatio

• maintainAspectRatio: boolean

Maintain the original canvas aspect ratio (width / height) when resizing.

default true

# Inherited from

CoreChartOptions.maintainAspectRatio

# Defined in

index.esm.d.ts:1494 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

CoreChartOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

CoreChartOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# plugins

• plugins: PluginOptionsByType<keyof ChartTypeRegistry>

# Inherited from

PluginChartOptions.plugins

# Defined in

index.esm.d.ts:2845 (opens new window)


# resizeDelay

• resizeDelay: number

Delay the resize update by give amount of milliseconds. This can ease the resize process by debouncing update of the elements.

default 0

# Inherited from

CoreChartOptions.resizeDelay

# Defined in

index.esm.d.ts:1499 (opens new window)


# responsive

• responsive: boolean

Resizes the chart canvas when its container does (important note...).

default true

# Inherited from

CoreChartOptions.responsive

# Defined in

index.esm.d.ts:1489 (opens new window)


# scale

• scale: ScaleOptionsByType<keyof ScaleTypeRegistry>

# Defined in

index.esm.d.ts:659 (opens new window)


# scales

• scales: Object

# Type declaration

Name Type
category { type: "category" } & Omit<CartesianScaleOptions, "min" | "max"> & { labels: string[] | string[][] ; max: string | number ; min: string | number }
linear { type: "linear" } & CartesianScaleOptions & { beginAtZero: boolean ; grace?: string | number ; suggestedMax?: number ; suggestedMin?: number ; ticks: { count: number ; format: NumberFormatOptions ; precision: number ; stepSize: number } }
logarithmic { type: "logarithmic" } & CartesianScaleOptions & { suggestedMax?: number ; suggestedMin?: number ; ticks: { format: NumberFormatOptions } }
radialLinear { type: "radialLinear" } & CoreScaleOptions & { angleLines: { borderDash: Scriptable<number[], ScriptableScaleContext> ; borderDashOffset: Scriptable<number, ScriptableScaleContext> ; color: Scriptable<Color, ScriptableScaleContext> ; display: boolean ; lineWidth: Scriptable<number, ScriptableScaleContext> } ; animate: boolean ; beginAtZero: boolean ; grid: GridLineOptions ; max: number ; min: number ; pointLabels: { backdropColor: Scriptable<Color, ScriptableScalePointLabelContext> ; backdropPadding: Scriptable<number | ChartArea, ScriptableScalePointLabelContext> ; borderRadius: Scriptable<number | BorderRadius, ScriptableScalePointLabelContext> ; centerPointLabels: boolean ; color: Scriptable<Color, ScriptableScalePointLabelContext> ; display: boolean ; font: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableScalePointLabelContext> ; padding: Scriptable<number, ScriptableScalePointLabelContext> ; callback: (label: string, index: number) => string | number | string[] | number[] } ; startAngle: number ; suggestedMax: number ; suggestedMin: number ; ticks: RadialTickOptions }
time { type: "time" } & Omit<CartesianScaleOptions, "min" | "max"> & { adapters: { date: unknown } ; bounds: "data" | "ticks" ; max: string | number ; min: string | number ; offsetAfterAutoskip: boolean ; suggestedMax: string | number ; suggestedMin: string | number ; ticks: { source: "auto" | "data" | "labels" } ; time: { displayFormats: { [key: string]: string; } ; isoWeekday: number | boolean ; minUnit: TimeUnit ; parser: string | (v: unknown) => number ; round: false | TimeUnit ; stepSize: number ; tooltipFormat: string ; unit: false | TimeUnit } }
timeseries { type: "timeseries" } & Omit<CartesianScaleOptions, "min" | "max"> & { adapters: { date: unknown } ; bounds: "data" | "ticks" ; max: string | number ; min: string | number ; offsetAfterAutoskip: boolean ; suggestedMax: string | number ; suggestedMin: string | number ; ticks: { source: "auto" | "data" | "labels" } ; time: { displayFormats: { [key: string]: string; } ; isoWeekday: number | boolean ; minUnit: TimeUnit ; parser: string | (v: unknown) => number ; round: false | TimeUnit ; stepSize: number ; tooltipFormat: string ; unit: false | TimeUnit } }

# Defined in

index.esm.d.ts:660 (opens new window)


# transitions

• transitions: TransitionsSpec<keyof ChartTypeRegistry>

# Inherited from

CoreChartOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)

# Methods

# describe

â–¸ describe(scope, values): AnyObject

# Parameters

Name Type
scope string
values AnyObject

# Returns

AnyObject

# Defined in

index.esm.d.ts:668 (opens new window)


# get

â–¸ get(scope): AnyObject

# Parameters

Name Type
scope string

# Returns

AnyObject

# Defined in

index.esm.d.ts:666 (opens new window)


# onClick

â–¸ onClick(event, elements, chart): void

Called if the event is of type 'mouseup' or 'click'. Passed the event, an array of active elements, and the chart.

# Parameters

Name Type
event ChartEvent
elements ActiveElement[]
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Inherited from

CoreChartOptions.onClick

# Defined in

index.esm.d.ts:1542 (opens new window)


# onHover

â–¸ onHover(event, elements, chart): void

Called when any of the events fire. Passed the event, an array of active elements (bars, points, etc), and the chart.

# Parameters

Name Type
event ChartEvent
elements ActiveElement[]
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

void

# Inherited from

CoreChartOptions.onHover

# Defined in

index.esm.d.ts:1537 (opens new window)


# onResize

â–¸ onResize(chart, size): void

Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.

# Parameters

Name Type
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
size Object
size.height number
size.width number

# Returns

void

# Inherited from

CoreChartOptions.onResize

# Defined in

index.esm.d.ts:1516 (opens new window)


# override

â–¸ override(scope, values): AnyObject

# Parameters

Name Type
scope string
values AnyObject

# Returns

AnyObject

# Defined in

index.esm.d.ts:669 (opens new window)


# route

â–¸ route(scope, name, targetScope, targetName): void

Routes the named defaults to fallback to another scope/name. +This routing is useful when those target values, like defaults.color, are changed runtime. +If the values would be copied, the runtime change would not take effect. By routing, the +fallback is evaluated at each access, so its always up to date.

Example:

defaults.route('elements.arc', 'backgroundColor', '', 'color')

  • reads the backgroundColor from defaults.color when undefined locally

# Parameters

Name Type Description
scope string Scope this route applies to.
name string Property name that should be routed to different namespace when not defined here.
targetScope string The namespace where those properties should be routed to. Empty string ('') is the root of defaults.
targetName string The target name in the target scope the property should be routed to.

# Returns

void

# Defined in

index.esm.d.ts:688 (opens new window)


# set

â–¸ set(values): AnyObject

# Parameters

Name Type
values AnyObject

# Returns

AnyObject

# Defined in

index.esm.d.ts:664 (opens new window)

â–¸ set(scope, values): AnyObject

# Parameters

Name Type
scope string
values AnyObject

# Returns

AnyObject

# Defined in

index.esm.d.ts:665 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutAnimationOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutAnimationOptions.html new file mode 100644 index 00000000..8744d028 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutAnimationOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: DoughnutAnimationOptions | Chart.js + + + + + + + +

# Interface: DoughnutAnimationOptions

# Properties

# animateRotate

• animateRotate: boolean

If true, the chart will animate in with a rotation animation. This property is in the options.animation object.

default true

# Defined in

index.esm.d.ts:282 (opens new window)


# animateScale

• animateScale: boolean

If true, will animate scaling the chart from the center outwards.

default false

# Defined in

index.esm.d.ts:288 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutController.html b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutController.html new file mode 100644 index 00000000..7d68a4b5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutController.html @@ -0,0 +1,53 @@ + + + + + + Interface: DoughnutController | Chart.js + + + + + + + +

# Interface: DoughnutController

# Hierarchy

# Properties

# _cachedMeta

• Readonly _cachedMeta: ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Inherited from

DatasetController._cachedMeta

# Defined in

index.esm.d.ts:583 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Inherited from

DatasetController.chart

# Defined in

index.esm.d.ts:581 (opens new window)


# enableOptionSharing

• enableOptionSharing: boolean

# Inherited from

DatasetController.enableOptionSharing

# Defined in

index.esm.d.ts:584 (opens new window)


# index

• Readonly index: number

# Inherited from

DatasetController.index

# Defined in

index.esm.d.ts:582 (opens new window)


# innerRadius

• Readonly innerRadius: number

# Defined in

index.esm.d.ts:334 (opens new window)


# offsetX

• Readonly offsetX: number

# Defined in

index.esm.d.ts:336 (opens new window)


# offsetY

• Readonly offsetY: number

# Defined in

index.esm.d.ts:337 (opens new window)


# outerRadius

• Readonly outerRadius: number

# Defined in

index.esm.d.ts:335 (opens new window)


# supportsDecimation

• supportsDecimation: boolean

# Inherited from

DatasetController.supportsDecimation

# Defined in

index.esm.d.ts:588 (opens new window)

# Methods

# addElements

â–¸ addElements(): void

# Returns

void

# Inherited from

DatasetController.addElements

# Defined in

index.esm.d.ts:604 (opens new window)


# applyStack

â–¸ Protected applyStack(scale, parsed): number

# Parameters

Name Type
scale Scale<CoreScaleOptions>
parsed unknown[]

# Returns

number

# Inherited from

DatasetController.applyStack

# Defined in

index.esm.d.ts:640 (opens new window)


# buildOrUpdateElements

â–¸ buildOrUpdateElements(resetNewElements?): void

# Parameters

Name Type
resetNewElements? boolean

# Returns

void

# Inherited from

DatasetController.buildOrUpdateElements

# Defined in

index.esm.d.ts:605 (opens new window)


# calculateCircumference

â–¸ calculateCircumference(value): number

# Parameters

Name Type
value number

# Returns

number

# Defined in

index.esm.d.ts:340 (opens new window)


# calculateTotal

â–¸ calculateTotal(): number

# Returns

number

# Defined in

index.esm.d.ts:339 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Inherited from

DatasetController.configure

# Defined in

index.esm.d.ts:602 (opens new window)


# draw

â–¸ draw(): void

# Returns

void

# Inherited from

DatasetController.draw

# Defined in

index.esm.d.ts:597 (opens new window)


# getAllParsedValues

â–¸ getAllParsedValues(scale): number[]

# Parameters

Name Type
scale Scale<CoreScaleOptions>

# Returns

number[]

# Inherited from

DatasetController.getAllParsedValues

# Defined in

index.esm.d.ts:591 (opens new window)


# getDataset

â–¸ getDataset(): ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Returns

ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Inherited from

DatasetController.getDataset

# Defined in

index.esm.d.ts:599 (opens new window)


# getLabelAndValue

â–¸ Protected getLabelAndValue(index): Object

# Parameters

Name Type
index number

# Returns

Object

Name Type
label string
value string

# Inherited from

DatasetController.getLabelAndValue

# Defined in

index.esm.d.ts:592 (opens new window)


# getMaxOverflow

â–¸ Protected getMaxOverflow(): number | boolean

# Returns

number | boolean

# Inherited from

DatasetController.getMaxOverflow

# Defined in

index.esm.d.ts:596 (opens new window)


# getMeta

â–¸ getMeta(): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Inherited from

DatasetController.getMeta

# Defined in

index.esm.d.ts:600 (opens new window)


# getMinMax

â–¸ Protected getMinMax(scale, canStack?): Object

# Parameters

Name Type
scale Scale<CoreScaleOptions>
canStack? boolean

# Returns

Object

Name Type
max number
min number

# Inherited from

DatasetController.getMinMax

# Defined in

index.esm.d.ts:647 (opens new window)


# getParsed

â–¸ Protected getParsed(index): number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData

# Parameters

Name Type
index number

# Returns

number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData

# Inherited from

DatasetController.getParsed

# Defined in

index.esm.d.ts:639 (opens new window)


# getScaleForId

â–¸ getScaleForId(scaleID): Scale<CoreScaleOptions>

# Parameters

Name Type
scaleID string

# Returns

Scale<CoreScaleOptions>

# Inherited from

DatasetController.getScaleForId

# Defined in

index.esm.d.ts:601 (opens new window)


# getSharedOptions

â–¸ Protected getSharedOptions(options): AnyObject

Utility for checking if the options are shared and should be animated separately.

# Parameters

Name Type
options AnyObject

# Returns

AnyObject

# Inherited from

DatasetController.getSharedOptions

# Defined in

index.esm.d.ts:614 (opens new window)


# getStyle

â–¸ getStyle(index, active): AnyObject

# Parameters

Name Type
index number
active boolean

# Returns

AnyObject

# Inherited from

DatasetController.getStyle

# Defined in

index.esm.d.ts:607 (opens new window)


# includeOptions

â–¸ Protected includeOptions(mode, sharedOptions): boolean

Utility for determining if options should be included in the updated properties

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
sharedOptions AnyObject

# Returns

boolean

# Inherited from

DatasetController.includeOptions

# Defined in

index.esm.d.ts:619 (opens new window)


# initialize

â–¸ initialize(): void

# Returns

void

# Inherited from

DatasetController.initialize

# Defined in

index.esm.d.ts:603 (opens new window)


# linkScales

â–¸ linkScales(): void

# Returns

void

# Inherited from

DatasetController.linkScales

# Defined in

index.esm.d.ts:590 (opens new window)


# parse

â–¸ parse(start, count): void

# Parameters

Name Type
start number
count number

# Returns

void

# Inherited from

DatasetController.parse

# Defined in

index.esm.d.ts:635 (opens new window)


# parseArrayData

â–¸ Protected parseArrayData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DatasetController.parseArrayData

# Defined in

index.esm.d.ts:637 (opens new window)


# parseObjectData

â–¸ Protected parseObjectData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DatasetController.parseObjectData

# Defined in

index.esm.d.ts:638 (opens new window)


# parsePrimitiveData

â–¸ Protected parsePrimitiveData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DatasetController.parsePrimitiveData

# Defined in

index.esm.d.ts:636 (opens new window)


# removeHoverStyle

â–¸ removeHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element Element<AnyObject, AnyObject>
datasetIndex number
index number

# Returns

void

# Inherited from

DatasetController.removeHoverStyle

# Defined in

index.esm.d.ts:632 (opens new window)


# reset

â–¸ reset(): void

# Returns

void

# Inherited from

DatasetController.reset

# Defined in

index.esm.d.ts:598 (opens new window)


# resolveDataElementOptions

â–¸ Protected resolveDataElementOptions(index, mode): AnyObject

# Parameters

Name Type
index number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Inherited from

DatasetController.resolveDataElementOptions

# Defined in

index.esm.d.ts:609 (opens new window)


# resolveDatasetElementOptions

â–¸ Protected resolveDatasetElementOptions(mode): AnyObject

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Inherited from

DatasetController.resolveDatasetElementOptions

# Defined in

index.esm.d.ts:608 (opens new window)


# setHoverStyle

â–¸ setHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element Element<AnyObject, AnyObject>
datasetIndex number
index number

# Returns

void

# Inherited from

DatasetController.setHoverStyle

# Defined in

index.esm.d.ts:633 (opens new window)


# update

â–¸ update(mode): void

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DatasetController.update

# Defined in

index.esm.d.ts:594 (opens new window)


# updateElement

â–¸ Protected updateElement(element, index, properties, mode): void

Utility for updating an element with new properties, using animations when appropriate.

# Parameters

Name Type
element Element<AnyObject, AnyObject>
index number
properties AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DatasetController.updateElement

# Defined in

index.esm.d.ts:625 (opens new window)


# updateElements

â–¸ updateElements(elements, start, count, mode): void

# Parameters

Name Type
elements Element<AnyObject, AnyObject>[]
start number
count number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DatasetController.updateElements

# Defined in

index.esm.d.ts:593 (opens new window)


# updateIndex

â–¸ updateIndex(datasetIndex): void

# Parameters

Name Type
datasetIndex number

# Returns

void

# Inherited from

DatasetController.updateIndex

# Defined in

index.esm.d.ts:595 (opens new window)


# updateRangeFromParsed

â–¸ Protected updateRangeFromParsed(range, scale, parsed, stack): void

# Parameters

Name Type
range Object
range.max number
range.min number
scale Scale<CoreScaleOptions>
parsed unknown[]
stack string | boolean

# Returns

void

# Inherited from

DatasetController.updateRangeFromParsed

# Defined in

index.esm.d.ts:641 (opens new window)


# updateSharedOptions

â–¸ Protected updateSharedOptions(sharedOptions, mode, newOptions): void

Utility to animate the shared options, that are potentially affecting multiple elements.

# Parameters

Name Type
sharedOptions AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
newOptions AnyObject

# Returns

void

# Inherited from

DatasetController.updateSharedOptions

# Defined in

index.esm.d.ts:631 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerChartOptions.html new file mode 100644 index 00000000..b86fdb3d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerChartOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: DoughnutControllerChartOptions | Chart.js + + + + + + + +

# Interface: DoughnutControllerChartOptions

# Properties

# animation

• animation: false | DoughnutAnimationOptions

# Defined in

index.esm.d.ts:328 (opens new window)


# circumference

• circumference: number

Sweep to allow arcs to cover.

default 360

# Defined in

index.esm.d.ts:296 (opens new window)


# cutout

• cutout: Scriptable<string | number, ScriptableContext<"doughnut">>

The portion of the chart that is cut out of the middle. ('50%' - for doughnut, 0 - for pie) +String ending with '%' means percentage, number means pixels.

default 50

# Defined in

index.esm.d.ts:303 (opens new window)


# offset

• offset: number

Arc offset (in pixels).

# Defined in

index.esm.d.ts:308 (opens new window)


# radius

• radius: Scriptable<string | number, ScriptableContext<"doughnut">>

The outer radius of the chart. String ending with '%' means percentage of maximum radius, number means pixels.

default '100%'

# Defined in

index.esm.d.ts:314 (opens new window)


# rotation

• rotation: number

Starting angle to draw arcs from.

default 0

# Defined in

index.esm.d.ts:320 (opens new window)


# spacing

• spacing: number

Spacing between the arcs

default 0

# Defined in

index.esm.d.ts:326 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerDatasetOptions.html new file mode 100644 index 00000000..4330ba88 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutControllerDatasetOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: DoughnutControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: DoughnutControllerDatasetOptions

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<"doughnut"> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

AnimationOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<"doughnut">

# Inherited from

AnimationOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderAlign

• borderAlign: ScriptableAndArray<"center" | "inner", ScriptableContext<"doughnut">>

Arc stroke alignment.

# Inherited from

ScriptableAndArrayOptions.borderAlign

# Defined in

index.esm.d.ts:1732 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderJoinStyle

• borderJoinStyle: ScriptableAndArray<CanvasLineJoin, ScriptableContext<"doughnut">>

Line join style. See MDN. Default is 'round' when borderAlign is 'inner', else 'bevel'.

# Inherited from

ScriptableAndArrayOptions.borderJoinStyle

# Defined in

index.esm.d.ts:1737 (opens new window)


# borderRadius

• borderRadius: ScriptableAndArray<number | ArcBorderRadius, ScriptableContext<"doughnut">>

Sets the border radius for arcs

default 0

# Inherited from

ScriptableAndArrayOptions.borderRadius

# Defined in

index.esm.d.ts:1743 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# circular

• circular: ScriptableAndArray<boolean, ScriptableContext<"doughnut">>

If false, Arc will be flat.

default true

# Inherited from

ScriptableAndArrayOptions.circular

# Defined in

index.esm.d.ts:1754 (opens new window)


# circumference

• circumference: number

Sweep to allow arcs to cover.

default 360

# Defined in

index.esm.d.ts:250 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

ControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

ControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverOffset

• hoverOffset: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

ScriptableAndArrayOptions.hoverOffset

# Defined in

index.esm.d.ts:1758 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

ControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

ControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# offset

• offset: number

Arc offset (in pixels).

# Overrides

ScriptableAndArrayOptions.offset

# Defined in

index.esm.d.ts:255 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

ControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# rotation

• rotation: number

Starting angle to draw this dataset from.

default 0

# Defined in

index.esm.d.ts:261 (opens new window)


# spacing

• spacing: number

Similar to the offset option, but applies to all arcs. This can be used to to add spaces +between arcs

default 0

# Defined in

index.esm.d.ts:274 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

ControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)


# transitions

• transitions: TransitionsSpec<"doughnut">

# Inherited from

AnimationOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)


# weight

• weight: number

The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.

default 1

# Defined in

index.esm.d.ts:267 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutMetaExtensions.html b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutMetaExtensions.html new file mode 100644 index 00000000..ca82db41 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/DoughnutMetaExtensions.html @@ -0,0 +1,53 @@ + + + + + + Interface: DoughnutMetaExtensions | Chart.js + + + + + + + +

# Interface: DoughnutMetaExtensions

# Properties

# total

• total: number

# Defined in

index.esm.d.ts:349 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Element.html b/scriptApl/chart.js/dist/docs/api/interfaces/Element.html new file mode 100644 index 00000000..c7dd3871 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Element.html @@ -0,0 +1,53 @@ + + + + + + Interface: Element | Chart.js + + + + + + + +

# Interface: Element<T, O>

# Type parameters

Name Type
T AnyObject
O AnyObject

# Properties

# active

• Readonly active: boolean

# Defined in

element.d.ts:7 (opens new window)


# options

• Readonly options: O

# Defined in

element.d.ts:8 (opens new window)


# x

• Readonly x: number

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Defined in

element.d.ts:6 (opens new window)

# Methods

# getProps

â–¸ getProps<P>(props, final?): Pick<T, P[number]>

# Type parameters

Name Type
P extends keyof T[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<T, P[number]>

# Defined in

element.d.ts:12 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Defined in

element.d.ts:11 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Defined in

element.d.ts:10 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ElementOptionsByType.html b/scriptApl/chart.js/dist/docs/api/interfaces/ElementOptionsByType.html new file mode 100644 index 00000000..e2004df9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ElementOptionsByType.html @@ -0,0 +1,53 @@ + + + + + + Interface: ElementOptionsByType | Chart.js + + + + + + + +
+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ExtendedPlugin.html b/scriptApl/chart.js/dist/docs/api/interfaces/ExtendedPlugin.html new file mode 100644 index 00000000..4ac245a4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ExtendedPlugin.html @@ -0,0 +1,55 @@ + + + + + + Interface: ExtendedPlugin | Chart.js + + + + + + + +

# Interface: ExtendedPlugin<TType, O, Model>

# Type parameters

Name Type
TType extends ChartType
O AnyObject
Model TooltipModel<TType>

# Hierarchy

# Methods

# afterTooltipDraw

â–¸ Optional afterTooltipDraw(chart, args, options): void

desc Called after drawing the tooltip. Note that this hook will not +be called if the tooltip drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip Model The tooltip.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:2601 (opens new window)


# beforeTooltipDraw

â–¸ Optional beforeTooltipDraw(chart, args, options): boolean | void

desc Called before drawing the tooltip. If any plugin returns false, +the tooltip drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip Model The tooltip.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart tooltip drawing.

# Defined in

index.esm.d.ts:2592 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/FillerControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/FillerControllerDatasetOptions.html new file mode 100644 index 00000000..779c41fe --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/FillerControllerDatasetOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: FillerControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: FillerControllerDatasetOptions

# Properties

# fill

• fill: FillTarget | ComplexFillTarget

Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end

# Defined in

index.esm.d.ts:2159 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/FillerOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/FillerOptions.html new file mode 100644 index 00000000..25d8dd14 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/FillerOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: FillerOptions | Chart.js + + + + + + + +

# Interface: FillerOptions

# Properties

# drawTime

• drawTime: "beforeDatasetDraw" | "beforeDatasetsDraw"

# Defined in

index.esm.d.ts:2134 (opens new window)


# propagate

• propagate: boolean

# Defined in

index.esm.d.ts:2135 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/FontSpec.html b/scriptApl/chart.js/dist/docs/api/interfaces/FontSpec.html new file mode 100644 index 00000000..c6a2a144 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/FontSpec.html @@ -0,0 +1,53 @@ + + + + + + Interface: FontSpec | Chart.js + + + + + + + +

# Interface: FontSpec

# Properties

# family

• family: string

Default font family for all text, follows CSS font-family options.

default "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"

# Defined in

index.esm.d.ts:1659 (opens new window)


# lineHeight

• lineHeight: string | number

Height of an individual line of text (see MDN).

default 1.2

# Defined in

index.esm.d.ts:1678 (opens new window)


# size

• size: number

Default font size (in px) for text. Does not apply to radialLinear scale point labels.

default 12

# Defined in

index.esm.d.ts:1664 (opens new window)


# style

• style: "normal" | "italic" | "oblique" | "initial" | "inherit"

Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit)

default 'normal'

# Defined in

index.esm.d.ts:1669 (opens new window)


# weight

• weight: string

Default font weight (boldness). (see MDN).

# Defined in

index.esm.d.ts:1673 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/GridLineOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/GridLineOptions.html new file mode 100644 index 00000000..b131e775 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/GridLineOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: GridLineOptions | Chart.js + + + + + + + +

# Interface: GridLineOptions

# Properties

# borderColor

• borderColor: Color

# Defined in

index.esm.d.ts:2853 (opens new window)


# borderDash

• borderDash: Scriptable<number[], ScriptableScaleContext>

default []

# Defined in

index.esm.d.ts:2866 (opens new window)


# borderDashOffset

• borderDashOffset: Scriptable<number, ScriptableScaleContext>

default 0

# Defined in

index.esm.d.ts:2870 (opens new window)


# borderWidth

• borderWidth: number

# Defined in

index.esm.d.ts:2854 (opens new window)


# circular

• circular: boolean

default false

# Defined in

index.esm.d.ts:2858 (opens new window)


# color

• color: ScriptableAndArray<Color, ScriptableScaleContext>

default 'rgba(0, 0, 0, 0.1)'

# Defined in

index.esm.d.ts:2862 (opens new window)


# display

• display: boolean

default true

# Defined in

index.esm.d.ts:2852 (opens new window)


# drawBorder

• drawBorder: boolean

default true

# Defined in

index.esm.d.ts:2879 (opens new window)


# drawOnChartArea

• drawOnChartArea: boolean

default true

# Defined in

index.esm.d.ts:2883 (opens new window)


# drawTicks

• drawTicks: boolean

default true

# Defined in

index.esm.d.ts:2887 (opens new window)


# lineWidth

• lineWidth: ScriptableAndArray<number, ScriptableScaleContext>

default 1

# Defined in

index.esm.d.ts:2874 (opens new window)


# offset

• offset: boolean

default false

# Defined in

index.esm.d.ts:2911 (opens new window)


# tickBorderDash

• tickBorderDash: number[]

default []

# Defined in

index.esm.d.ts:2891 (opens new window)


# tickBorderDashOffset

• tickBorderDashOffset: Scriptable<number, ScriptableScaleContext>

default 0

# Defined in

index.esm.d.ts:2895 (opens new window)


# tickColor

• tickColor: ScriptableAndArray<Color, ScriptableScaleContext>

default 'rgba(0, 0, 0, 0.1)'

# Defined in

index.esm.d.ts:2899 (opens new window)


# tickLength

• tickLength: number

default 10

# Defined in

index.esm.d.ts:2903 (opens new window)


# tickWidth

• tickWidth: number

default 1

# Defined in

index.esm.d.ts:2907 (opens new window)


# z

• z: number

default 0

# Defined in

index.esm.d.ts:2915 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/InteractionItem.html b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionItem.html new file mode 100644 index 00000000..33fdca71 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionItem.html @@ -0,0 +1,53 @@ + + + + + + Interface: InteractionItem | Chart.js + + + + + + + +

# Interface: InteractionItem

# Properties

# datasetIndex

• datasetIndex: number

# Defined in

index.esm.d.ts:710 (opens new window)


# element

• element: Element<AnyObject, AnyObject>

# Defined in

index.esm.d.ts:709 (opens new window)


# index

• index: number

# Defined in

index.esm.d.ts:711 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/InteractionModeMap.html b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionModeMap.html new file mode 100644 index 00000000..eb3333cb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionModeMap.html @@ -0,0 +1,56 @@ + + + + + + Interface: InteractionModeMap | Chart.js + + + + + + + +

# Interface: InteractionModeMap

# Properties

# dataset

• dataset: InteractionModeFunction

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

# Defined in

index.esm.d.ts:732 (opens new window)


# index

• index: InteractionModeFunction

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

# Defined in

index.esm.d.ts:726 (opens new window)


# nearest

• nearest: InteractionModeFunction

nearest mode returns the element closest to the point

# Defined in

index.esm.d.ts:741 (opens new window)


# point

• point: InteractionModeFunction

Point mode returns all elements that hit test based on the event position +of the event

# Defined in

index.esm.d.ts:737 (opens new window)


# x

• x: InteractionModeFunction

x mode returns the elements that hit-test at the current x coordinate

# Defined in

index.esm.d.ts:745 (opens new window)


# y

• y: InteractionModeFunction

y mode returns the elements that hit-test at the current y coordinate

# Defined in

index.esm.d.ts:749 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/InteractionOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionOptions.html new file mode 100644 index 00000000..7df7328e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/InteractionOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: InteractionOptions | Chart.js + + + + + + + +

# Interface: InteractionOptions

# Properties

# axis

• Optional axis: string

# Defined in

index.esm.d.ts:703 (opens new window)


# includeInvisible

• Optional includeInvisible: boolean

# Defined in

index.esm.d.ts:705 (opens new window)


# intersect

• Optional intersect: boolean

# Defined in

index.esm.d.ts:704 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LayoutItem.html b/scriptApl/chart.js/dist/docs/api/interfaces/LayoutItem.html new file mode 100644 index 00000000..1fb2f33d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LayoutItem.html @@ -0,0 +1,53 @@ + + + + + + Interface: LayoutItem | Chart.js + + + + + + + +

# Interface: LayoutItem

# Hierarchy

# Properties

# bottom

• bottom: number

Bottom edge of the item. Set by layout system and cannot be used in update

# Defined in

layout.d.ts:41 (opens new window)


# fullSize

• fullSize: boolean

if true, and the item is horizontal, then push vertical boxes down

# Defined in

layout.d.ts:17 (opens new window)


# height

• height: number

Height of item. Must be valid after update()

# Defined in

layout.d.ts:25 (opens new window)


# left

• left: number

Left edge of the item. Set by layout system and cannot be used in update

# Defined in

layout.d.ts:29 (opens new window)


# position

• position: LayoutPosition

The position of the item in the chart layout. Possible values are

# Defined in

layout.d.ts:9 (opens new window)


• right: number

Right edge of the item. Set by layout system and cannot be used in update

# Defined in

layout.d.ts:37 (opens new window)


# top

• top: number

Top edge of the item. Set by layout system and cannot be used in update

# Defined in

layout.d.ts:33 (opens new window)


# weight

• weight: number

The weight used to sort the item. Higher weights are further away from the chart area

# Defined in

layout.d.ts:13 (opens new window)


# width

• width: number

Width of item. Must be valid after update()

# Defined in

layout.d.ts:21 (opens new window)

# Methods

# beforeLayout

â–¸ Optional beforeLayout(): void

Called before the layout process starts

# Returns

void

# Defined in

layout.d.ts:46 (opens new window)


# draw

â–¸ draw(chartArea): void

Draws the element

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Defined in

layout.d.ts:50 (opens new window)


# getPadding

â–¸ Optional getPadding(): ChartArea

Returns an object with padding on the edges

# Returns

ChartArea

# Defined in

layout.d.ts:54 (opens new window)


# isHorizontal

â–¸ isHorizontal(): boolean

returns true if the layout item is horizontal (ie. top or bottom)

# Returns

boolean

# Defined in

layout.d.ts:58 (opens new window)


# update

â–¸ update(width, height, margins?): void

Takes two parameters: width and height.

# Parameters

Name Type
width number
height number
margins? ChartArea

# Returns

void

# Defined in

layout.d.ts:64 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LegendElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/LegendElement.html new file mode 100644 index 00000000..0de041e8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LegendElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: LegendElement | Chart.js + + + + + + + +

# Interface: LegendElement<TType>

# Type parameters

Name Type
TType extends ChartType

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# bottom

• bottom: number

Bottom edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.bottom

# Defined in

layout.d.ts:41 (opens new window)


# chart

• chart: Chart<TType, DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>, unknown>

# Defined in

index.esm.d.ts:2253 (opens new window)


# ctx

• ctx: CanvasRenderingContext2D

# Defined in

index.esm.d.ts:2254 (opens new window)


# fullSize

• fullSize: boolean

if true, and the item is horizontal, then push vertical boxes down

# Inherited from

LayoutItem.fullSize

# Defined in

layout.d.ts:17 (opens new window)


# height

• height: number

Height of item. Must be valid after update()

# Inherited from

LayoutItem.height

# Defined in

layout.d.ts:25 (opens new window)


# left

• left: number

Left edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.left

# Defined in

layout.d.ts:29 (opens new window)


# legendItems

• Optional legendItems: LegendItem[]

# Defined in

index.esm.d.ts:2255 (opens new window)


# options

• options: LegendOptions<TType>

# Overrides

Element.options

# Defined in

index.esm.d.ts:2256 (opens new window)


# position

• position: LayoutPosition

The position of the item in the chart layout. Possible values are

# Inherited from

LayoutItem.position

# Defined in

layout.d.ts:9 (opens new window)


• right: number

Right edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.right

# Defined in

layout.d.ts:37 (opens new window)


# top

• top: number

Top edge of the item. Set by layout system and cannot be used in update

# Inherited from

LayoutItem.top

# Defined in

layout.d.ts:33 (opens new window)


# weight

• weight: number

The weight used to sort the item. Higher weights are further away from the chart area

# Inherited from

LayoutItem.weight

# Defined in

layout.d.ts:13 (opens new window)


# width

• width: number

Width of item. Must be valid after update()

# Inherited from

LayoutItem.width

# Defined in

layout.d.ts:21 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# beforeLayout

â–¸ Optional beforeLayout(): void

Called before the layout process starts

# Returns

void

# Inherited from

LayoutItem.beforeLayout

# Defined in

layout.d.ts:46 (opens new window)


# draw

â–¸ draw(chartArea): void

Draws the element

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

LayoutItem.draw

# Defined in

layout.d.ts:50 (opens new window)


# getPadding

â–¸ Optional getPadding(): ChartArea

Returns an object with padding on the edges

# Returns

ChartArea

# Inherited from

LayoutItem.getPadding

# Defined in

layout.d.ts:54 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<AnyObject, P[number]>

# Type parameters

Name Type
P extends string[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<AnyObject, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# isHorizontal

â–¸ isHorizontal(): boolean

returns true if the layout item is horizontal (ie. top or bottom)

# Returns

boolean

# Inherited from

LayoutItem.isHorizontal

# Defined in

layout.d.ts:58 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)


# update

â–¸ update(width, height, margins?): void

Takes two parameters: width and height.

# Parameters

Name Type
width number
height number
margins? ChartArea

# Returns

void

# Inherited from

LayoutItem.update

# Defined in

layout.d.ts:64 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LegendItem.html b/scriptApl/chart.js/dist/docs/api/interfaces/LegendItem.html new file mode 100644 index 00000000..51163120 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LegendItem.html @@ -0,0 +1,54 @@ + + + + + + Interface: LegendItem | Chart.js + + + + + + + +

# Interface: LegendItem

# Properties

# borderRadius

• Optional borderRadius: number | BorderRadius

Border radius of the legend box

since 3.1.0

# Defined in

index.esm.d.ts:2174 (opens new window)


# datasetIndex

• Optional datasetIndex: number

Index of the associated dataset

# Defined in

index.esm.d.ts:2179 (opens new window)


# fillStyle

• Optional fillStyle: Color

Fill style of the legend box

# Defined in

index.esm.d.ts:2189 (opens new window)


# fontColor

• Optional fontColor: Color

Font color for the text +Defaults to LegendOptions.labels.color

# Defined in

index.esm.d.ts:2195 (opens new window)


# hidden

• Optional hidden: boolean

If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect

# Defined in

index.esm.d.ts:2200 (opens new window)


# index

• Optional index: number

Index the associated label in the labels array

# Defined in

index.esm.d.ts:2184 (opens new window)


# lineCap

• Optional lineCap: CanvasLineCap

For box border.

see https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap

# Defined in

index.esm.d.ts:2206 (opens new window)


# lineDash

• Optional lineDash: number[]

For box border.

see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash

# Defined in

index.esm.d.ts:2212 (opens new window)


# lineDashOffset

• Optional lineDashOffset: number

For box border.

see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset

# Defined in

index.esm.d.ts:2218 (opens new window)


# lineJoin

• Optional lineJoin: CanvasLineJoin

For box border.

see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin

# Defined in

index.esm.d.ts:2224 (opens new window)


# lineWidth

• Optional lineWidth: number

Width of box border

# Defined in

index.esm.d.ts:2229 (opens new window)


# pointStyle

• Optional pointStyle: PointStyle

Point style of the legend box (only used if usePointStyle is true)

# Defined in

index.esm.d.ts:2239 (opens new window)


# rotation

• Optional rotation: number

Rotation of the point in degrees (only used if usePointStyle is true)

# Defined in

index.esm.d.ts:2244 (opens new window)


# strokeStyle

• Optional strokeStyle: Color

Stroke style of the legend box

# Defined in

index.esm.d.ts:2234 (opens new window)


# text

• text: string

Label that will be displayed

# Defined in

index.esm.d.ts:2168 (opens new window)


# textAlign

• Optional textAlign: TextAlign

Text alignment

# Defined in

index.esm.d.ts:2249 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LegendOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/LegendOptions.html new file mode 100644 index 00000000..4e037b09 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LegendOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: LegendOptions | Chart.js + + + + + + + +

# Interface: LegendOptions<TType>

# Type parameters

Name Type
TType extends ChartType

# Properties

# align

• align: Align

Alignment of the legend.

default 'center'

# Defined in

index.esm.d.ts:2274 (opens new window)


# display

• display: boolean

Is the legend shown?

default true

# Defined in

index.esm.d.ts:2264 (opens new window)


# fullSize

• fullSize: boolean

Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.

default true

# Defined in

index.esm.d.ts:2287 (opens new window)


# labels

• labels: Object

# Type declaration

Name Type Description
boxHeight number Height of the coloured box. default fontSize
boxPadding number Padding between the color box and the text default 1
boxWidth number Width of colored box. default 40
color Color Color of label see Defaults.color
font ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableChartContext> Font of label see Defaults.font
padding number Padding between rows of colored boxes. default 10
pointStyle PointStyle Override point style for the legend. Only applies if usePointStyle is true
textAlign? TextAlign Text alignment
usePointStyle boolean Label style will match corresponding point style (size is based on the minimum value between boxWidth and font.size). default false
filter (item: LegendItem, data: ChartData<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>) => boolean -
generateLabels (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>) => LegendItem[] -
sort (a: LegendItem, b: LegendItem, data: ChartData<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>) => number -

# Defined in

index.esm.d.ts:2306 (opens new window)


# maxHeight

• maxHeight: number

Maximum height of the legend, in pixels

# Defined in

index.esm.d.ts:2278 (opens new window)


# maxWidth

• maxWidth: number

Maximum width of the legend, in pixels

# Defined in

index.esm.d.ts:2282 (opens new window)


# position

• position: LayoutPosition

Position of the legend.

default 'top'

# Defined in

index.esm.d.ts:2269 (opens new window)


# reverse

• reverse: boolean

Legend will show datasets in reverse order.

default false

# Defined in

index.esm.d.ts:2292 (opens new window)


# rtl

• rtl: boolean

true for rendering the legends from right to left.

# Defined in

index.esm.d.ts:2371 (opens new window)


# textDirection

• textDirection: string

This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas

default canvas' default

# Defined in

index.esm.d.ts:2376 (opens new window)


# title

• title: Object

# Type declaration

Name Type Description
color Color Color of title see Defaults.color
display boolean Is the legend title displayed. default false
font ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableChartContext> see Fonts
padding? number | ChartArea -
position "start" | "end" | "center" -
text string The string title.

# Defined in

index.esm.d.ts:2378 (opens new window)

# Methods

# onClick

â–¸ onClick(e, legendItem, legend): void

A callback that is called when a click event is registered on a label item.

# Parameters

Name Type
e ChartEvent
legendItem LegendItem
legend LegendElement<TType>

# Returns

void

# Defined in

index.esm.d.ts:2296 (opens new window)


# onHover

â–¸ onHover(e, legendItem, legend): void

A callback that is called when a 'mousemove' event is registered on top of a label item

# Parameters

Name Type
e ChartEvent
legendItem LegendItem
legend LegendElement<TType>

# Returns

void

# Defined in

index.esm.d.ts:2300 (opens new window)


# onLeave

â–¸ onLeave(e, legendItem, legend): void

A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item.

# Parameters

Name Type
e ChartEvent
legendItem LegendItem
legend LegendElement<TType>

# Returns

void

# Defined in

index.esm.d.ts:2304 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerChartOptions.html new file mode 100644 index 00000000..b1fd33ab --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerChartOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineControllerChartOptions | Chart.js + + + + + + + +

# Interface: LineControllerChartOptions

# Properties

# showLine

• showLine: boolean

If false, the lines between points are not drawn.

default true

# Defined in

index.esm.d.ts:216 (opens new window)


# spanGaps

• spanGaps: number | boolean

If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.

default false

# Defined in

index.esm.d.ts:211 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerDatasetOptions.html new file mode 100644 index 00000000..e69a68cb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineControllerDatasetOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: LineControllerDatasetOptions

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<"line"> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

AnimationOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<"line">

# Inherited from

AnimationOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderCapStyle

• borderCapStyle: Scriptable<CanvasLineCap, ScriptableContext<"line">>

Line cap style. See MDN.

default 'butt'

# Inherited from

ScriptableOptions.borderCapStyle

# Defined in

index.esm.d.ts:1779 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderDash

• borderDash: Scriptable<number[], ScriptableContext<"line">>

Line dash. See MDN.

default []

# Inherited from

ScriptableOptions.borderDash

# Defined in

index.esm.d.ts:1784 (opens new window)


# borderDashOffset

• borderDashOffset: Scriptable<number, ScriptableContext<"line">>

Line dash offset. See MDN.

default 0.0

# Inherited from

ScriptableOptions.borderDashOffset

# Defined in

index.esm.d.ts:1789 (opens new window)


# borderJoinStyle

• borderJoinStyle: Scriptable<CanvasLineJoin, ScriptableContext<"line">>

Line join style. See MDN.

default 'miter'

# Inherited from

ScriptableOptions.borderJoinStyle

# Defined in

index.esm.d.ts:1794 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# capBezierPoints

• capBezierPoints: Scriptable<boolean, ScriptableContext<"line">>

true to keep Bézier control inside the chart, false for no restriction.

default true

# Inherited from

ScriptableOptions.capBezierPoints

# Defined in

index.esm.d.ts:1799 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

ControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# cubicInterpolationMode

• cubicInterpolationMode: Scriptable<"default" | "monotone", ScriptableContext<"line">>

Interpolation mode to apply.

default 'default'

# Inherited from

ScriptableOptions.cubicInterpolationMode

# Defined in

index.esm.d.ts:1804 (opens new window)


# fill

• fill: Scriptable<FillTarget | ComplexFillTarget, ScriptableContext<"line">>

Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end

# Inherited from

ScriptableOptions.fill

# Defined in

index.esm.d.ts:1818 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

ControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderCapStyle

• hoverBorderCapStyle: Scriptable<CanvasLineCap, ScriptableContext<"line">>

# Inherited from

ScriptableOptions.hoverBorderCapStyle

# Defined in

index.esm.d.ts:1836 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderDash

• hoverBorderDash: Scriptable<number[], ScriptableContext<"line">>

# Inherited from

ScriptableOptions.hoverBorderDash

# Defined in

index.esm.d.ts:1837 (opens new window)


# hoverBorderDashOffset

• hoverBorderDashOffset: Scriptable<number, ScriptableContext<"line">>

# Inherited from

ScriptableOptions.hoverBorderDashOffset

# Defined in

index.esm.d.ts:1838 (opens new window)


# hoverBorderJoinStyle

• hoverBorderJoinStyle: Scriptable<CanvasLineJoin, ScriptableContext<"line">>

# Inherited from

ScriptableOptions.hoverBorderJoinStyle

# Defined in

index.esm.d.ts:1839 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"line">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

ControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

ControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

ControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# pointBackgroundColor

• pointBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"line">>

The fill color for points.

# Inherited from

ScriptableAndArrayOptions.pointBackgroundColor

# Defined in

index.esm.d.ts:1919 (opens new window)


# pointBorderColor

• pointBorderColor: ScriptableAndArray<Color, ScriptableContext<"line">>

The border color for points.

# Inherited from

ScriptableAndArrayOptions.pointBorderColor

# Defined in

index.esm.d.ts:1923 (opens new window)


# pointBorderWidth

• pointBorderWidth: ScriptableAndArray<number, ScriptableContext<"line">>

The width of the point border in pixels.

# Inherited from

ScriptableAndArrayOptions.pointBorderWidth

# Defined in

index.esm.d.ts:1927 (opens new window)


# pointHitRadius

• pointHitRadius: ScriptableAndArray<number, ScriptableContext<"line">>

The pixel size of the non-displayed point that reacts to mouse events.

# Inherited from

ScriptableAndArrayOptions.pointHitRadius

# Defined in

index.esm.d.ts:1931 (opens new window)


# pointHoverBackgroundColor

• pointHoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"line">>

Point background color when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBackgroundColor

# Defined in

index.esm.d.ts:1950 (opens new window)


# pointHoverBorderColor

• pointHoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"line">>

Point border color when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBorderColor

# Defined in

index.esm.d.ts:1954 (opens new window)


# pointHoverBorderWidth

• pointHoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"line">>

Border width of point when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBorderWidth

# Defined in

index.esm.d.ts:1958 (opens new window)


# pointHoverRadius

• pointHoverRadius: ScriptableAndArray<number, ScriptableContext<"line">>

The radius of the point when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverRadius

# Defined in

index.esm.d.ts:1962 (opens new window)


# pointRadius

• pointRadius: ScriptableAndArray<number, ScriptableContext<"line">>

The radius of the point shape. If set to 0, the point is not rendered.

# Inherited from

ScriptableAndArrayOptions.pointRadius

# Defined in

index.esm.d.ts:1935 (opens new window)


# pointRotation

• pointRotation: ScriptableAndArray<number, ScriptableContext<"line">>

The rotation of the point in degrees.

# Inherited from

ScriptableAndArrayOptions.pointRotation

# Defined in

index.esm.d.ts:1939 (opens new window)


# pointStyle

• pointStyle: ScriptableAndArray<PointStyle, ScriptableContext<"line">>

Style of the point.

# Inherited from

ScriptableAndArrayOptions.pointStyle

# Defined in

index.esm.d.ts:1943 (opens new window)


# segment

• segment: Scriptable<{ backgroundColor: Scriptable<Color, ScriptableLineSegmentContext> ; borderCapStyle: Scriptable<CanvasLineCap, ScriptableLineSegmentContext> ; borderColor: Scriptable<Color, ScriptableLineSegmentContext> ; borderDash: Scriptable<number[], ScriptableLineSegmentContext> ; borderDashOffset: Scriptable<number, ScriptableLineSegmentContext> ; borderJoinStyle: Scriptable<CanvasLineJoin, ScriptableLineSegmentContext> ; borderWidth: Scriptable<number, ScriptableLineSegmentContext> }, ScriptableContext<"line">>

# Inherited from

ScriptableOptions.segment

# Defined in

index.esm.d.ts:1824 (opens new window)


# showLine

• showLine: boolean

# Defined in

index.esm.d.ts:203 (opens new window)


# spanGaps

• spanGaps: number | boolean

If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.

default false

# Overrides

ScriptableOptions.spanGaps

# Defined in

index.esm.d.ts:201 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

ControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)


# stepped

• stepped: Scriptable<boolean | "middle" | "before" | "after", ScriptableContext<"line">>

true to show the line as a stepped line (tension will be ignored).

default false

# Inherited from

ScriptableOptions.stepped

# Defined in

index.esm.d.ts:1814 (opens new window)


# tension

• tension: Scriptable<number, ScriptableContext<"line">>

Bézier curve tension (0 for no Bézier curves).

default 0

# Inherited from

ScriptableOptions.tension

# Defined in

index.esm.d.ts:1809 (opens new window)


# transitions

• transitions: TransitionsSpec<"line">

# Inherited from

AnimationOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)


# xAxisID

• xAxisID: string

The ID of the x axis to plot this dataset on.

# Defined in

index.esm.d.ts:191 (opens new window)


# yAxisID

• yAxisID: string

The ID of the y axis to plot this dataset on.

# Defined in

index.esm.d.ts:195 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineElement.html new file mode 100644 index 00000000..040cf77f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineElement | Chart.js + + + + + + + +

# Interface: LineElement<T, O>

# Type parameters

Name Type
T extends LineProps = LineProps
O extends LineOptions = LineOptions

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# options

• Readonly options: O

# Inherited from

Element.options

# Defined in

element.d.ts:8 (opens new window)


# points

• points: Point[]

# Defined in

index.esm.d.ts:1846 (opens new window)


# segments

• Readonly segments: Segment[]

# Defined in

index.esm.d.ts:1847 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# draw

â–¸ draw(ctx, area?): void

# Parameters

Name Type
ctx CanvasRenderingContext2D
area? ChartArea

# Returns

void

# Inherited from

VisualElement.draw

# Defined in

index.esm.d.ts:1685 (opens new window)


# first

â–¸ first(): false | Point

# Returns

false | Point

# Defined in

index.esm.d.ts:1848 (opens new window)


# getCenterPoint

â–¸ getCenterPoint(useFinalPosition?): Object

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Object

Name Type
x number
y number

# Inherited from

VisualElement.getCenterPoint

# Defined in

index.esm.d.ts:1689 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<T, P[number]>

# Type parameters

Name Type
P extends keyof T[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<T, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# getRange

â–¸ Optional getRange(axis): number

# Parameters

Name Type
axis "x" | "y"

# Returns

number

# Inherited from

VisualElement.getRange

# Defined in

index.esm.d.ts:1690 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# inRange

â–¸ inRange(mouseX, mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inRange

# Defined in

index.esm.d.ts:1686 (opens new window)


# inXRange

â–¸ inXRange(mouseX, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inXRange

# Defined in

index.esm.d.ts:1687 (opens new window)


# inYRange

â–¸ inYRange(mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inYRange

# Defined in

index.esm.d.ts:1688 (opens new window)


# interpolate

â–¸ interpolate(point, property): Point | Point[]

# Parameters

Name Type
point Point
property "x" | "y"

# Returns

Point | Point[]

# Defined in

index.esm.d.ts:1850 (opens new window)


# last

â–¸ last(): false | Point

# Returns

false | Point

# Defined in

index.esm.d.ts:1849 (opens new window)


# path

â–¸ path(ctx): boolean

# Parameters

Name Type
ctx CanvasRenderingContext2D

# Returns

boolean

# Defined in

index.esm.d.ts:1852 (opens new window)


# pathSegment

â–¸ pathSegment(ctx, segment, params): boolean

# Parameters

Name Type
ctx CanvasRenderingContext2D
segment Segment
params AnyObject

# Returns

boolean

# Defined in

index.esm.d.ts:1851 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)


# updateControlPoints

â–¸ updateControlPoints(chartArea, indexAxis?): void

# Parameters

Name Type
chartArea ChartArea
indexAxis? "x" | "y"

# Returns

void

# Defined in

index.esm.d.ts:1845 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineHoverOptions.html new file mode 100644 index 00000000..27b07b1f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineHoverOptions | Chart.js + + + + + + + +

# Interface: LineHoverOptions

# Hierarchy

# Properties

# hoverBackgroundColor

• hoverBackgroundColor: Color

# Inherited from

CommonHoverOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderCapStyle

• hoverBorderCapStyle: CanvasLineCap

# Defined in

index.esm.d.ts:1836 (opens new window)


# hoverBorderColor

• hoverBorderColor: Color

# Inherited from

CommonHoverOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderDash

• hoverBorderDash: number[]

# Defined in

index.esm.d.ts:1837 (opens new window)


# hoverBorderDashOffset

• hoverBorderDashOffset: number

# Defined in

index.esm.d.ts:1838 (opens new window)


# hoverBorderJoinStyle

• hoverBorderJoinStyle: CanvasLineJoin

# Defined in

index.esm.d.ts:1839 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: number

# Inherited from

CommonHoverOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineOptions.html new file mode 100644 index 00000000..d5b7b1aa --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineOptions | Chart.js + + + + + + + +

# Interface: LineOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: Color

# Inherited from

CommonElementOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderCapStyle

• borderCapStyle: CanvasLineCap

Line cap style. See MDN.

default 'butt'

# Defined in

index.esm.d.ts:1779 (opens new window)


# borderColor

• borderColor: Color

# Inherited from

CommonElementOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderDash

• borderDash: number[]

Line dash. See MDN.

default []

# Defined in

index.esm.d.ts:1784 (opens new window)


# borderDashOffset

• borderDashOffset: number

Line dash offset. See MDN.

default 0.0

# Defined in

index.esm.d.ts:1789 (opens new window)


# borderJoinStyle

• borderJoinStyle: CanvasLineJoin

Line join style. See MDN.

default 'miter'

# Defined in

index.esm.d.ts:1794 (opens new window)


# borderWidth

• borderWidth: number

# Inherited from

CommonElementOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# capBezierPoints

• capBezierPoints: boolean

true to keep Bézier control inside the chart, false for no restriction.

default true

# Defined in

index.esm.d.ts:1799 (opens new window)


# cubicInterpolationMode

• cubicInterpolationMode: "default" | "monotone"

Interpolation mode to apply.

default 'default'

# Defined in

index.esm.d.ts:1804 (opens new window)


# fill

• fill: FillTarget | ComplexFillTarget

Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end

# Defined in

index.esm.d.ts:1818 (opens new window)


# segment

• segment: Object

# Type declaration

Name Type
backgroundColor Scriptable<Color, ScriptableLineSegmentContext>
borderCapStyle Scriptable<CanvasLineCap, ScriptableLineSegmentContext>
borderColor Scriptable<Color, ScriptableLineSegmentContext>
borderDash Scriptable<number[], ScriptableLineSegmentContext>
borderDashOffset Scriptable<number, ScriptableLineSegmentContext>
borderJoinStyle Scriptable<CanvasLineJoin, ScriptableLineSegmentContext>
borderWidth Scriptable<number, ScriptableLineSegmentContext>

# Defined in

index.esm.d.ts:1824 (opens new window)


# spanGaps

• spanGaps: number | boolean

If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.

# Defined in

index.esm.d.ts:1822 (opens new window)


# stepped

• stepped: boolean | "middle" | "before" | "after"

true to show the line as a stepped line (tension will be ignored).

default false

# Defined in

index.esm.d.ts:1814 (opens new window)


# tension

• tension: number

Bézier curve tension (0 for no Bézier curves).

default 0

# Defined in

index.esm.d.ts:1809 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/LineProps.html b/scriptApl/chart.js/dist/docs/api/interfaces/LineProps.html new file mode 100644 index 00000000..5e92d20c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/LineProps.html @@ -0,0 +1,53 @@ + + + + + + Interface: LineProps | Chart.js + + + + + + + +

# Interface: LineProps

# Properties

# points

• points: Point[]

# Defined in

index.esm.d.ts:1771 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ParsingOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/ParsingOptions.html new file mode 100644 index 00000000..2a9d2379 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ParsingOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: ParsingOptions | Chart.js + + + + + + + +

# Interface: ParsingOptions

# Hierarchy

# Properties

# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Defined in

index.esm.d.ts:58 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Defined in

index.esm.d.ts:49 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Plugin.html b/scriptApl/chart.js/dist/docs/api/interfaces/Plugin.html new file mode 100644 index 00000000..82cb3c16 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Plugin.html @@ -0,0 +1,76 @@ + + + + + + Interface: Plugin | Chart.js + + + + + + + +

# Interface: Plugin<TType, O>

# Type parameters

Name Type
TType extends ChartType = ChartType
O AnyObject

# Hierarchy

# Properties

# id

• id: string

# Defined in

index.esm.d.ts:808 (opens new window)

# Methods

# afterBuildTicks

â–¸ Optional afterBuildTicks(chart, args, options): void

desc Called after scale has build its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:967 (opens new window)


# afterDataLimits

â–¸ Optional afterDataLimits(chart, args, options): void

desc Called after scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:951 (opens new window)


# afterDatasetDraw

â–¸ Optional afterDatasetDraw(chart, args, options): void

desc Called after the chart datasets at the given args.index have been drawn +(datasets are drawn in the reverse order). Note that this hook will not be called +if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1049 (opens new window)


# afterDatasetUpdate

â–¸ Optional afterDatasetUpdate(chart, args, options): void

desc Called after the chart datasets at the given args.index has been updated. Note +that this hook will not be called if the datasets update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:926 (opens new window)


# afterDatasetsDraw

â–¸ Optional afterDatasetsDraw(chart, args, options, cancelable): void

desc Called after the chart datasets have been drawn. Note that this hook +will not be called if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.
cancelable false -

# Returns

void

# Defined in

index.esm.d.ts:1026 (opens new window)


# afterDatasetsUpdate

â–¸ Optional afterDatasetsUpdate(chart, args, options): void

desc Called after the chart datasets have been updated. Note that this hook +will not be called if the datasets update has been previously cancelled.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:903 (opens new window)


# afterDestroy

â–¸ Optional afterDestroy(chart, args, options): void

Called after the chart has been destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1102 (opens new window)


# afterDraw

â–¸ Optional afterDraw(chart, args, options): void

desc Called after the chart has been drawn. Note that this hook will not be called +if the drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1009 (opens new window)


# afterEvent

â–¸ Optional afterEvent(chart, args, options): void

desc Called after the event has been consumed. Note that this hook +will not be called if the event has been previously discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.changed? boolean -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1072 (opens new window)


# afterInit

â–¸ Optional afterInit(chart, args, options): void

desc Called after chart has been initialized and before the first update.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:847 (opens new window)


# afterLayout

â–¸ Optional afterLayout(chart, args, options): void

desc Called after the chart has been laid out. Note that this hook will not +be called if the layout update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:975 (opens new window)


# afterRender

â–¸ Optional afterRender(chart, args, options): void

desc Called after the chart has been fully rendered (and animation completed). Note +that this hook will not be called if the rendering has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:992 (opens new window)


# afterTooltipDraw

â–¸ Optional afterTooltipDraw(chart, args, options): void

desc Called after drawing the tooltip. Note that this hook will not +be called if the tooltip drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<TType> The tooltip.
options O The plugin options.

# Returns

void

# Inherited from

ExtendedPlugin.afterTooltipDraw

# Defined in

index.esm.d.ts:2601 (opens new window)


# afterUpdate

â–¸ Optional afterUpdate(chart, args, options): void

desc Called after chart has been updated and before rendering. Note that this +hook will not be called if the chart update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:866 (opens new window)


# beforeBuildTicks

â–¸ Optional beforeBuildTicks(chart, args, options): void

desc Called before scale builds its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:959 (opens new window)


# beforeDataLimits

â–¸ Optional beforeDataLimits(chart, args, options): void

desc Called before scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:943 (opens new window)


# beforeDatasetDraw

â–¸ Optional beforeDatasetDraw(chart, args, options): boolean | void

desc Called before drawing the chart dataset at the given args.index (datasets +are drawn in the reverse order). If any plugin returns false, the datasets drawing +is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:1038 (opens new window)


# beforeDatasetUpdate

â–¸ Optional beforeDatasetUpdate(chart, args, options): boolean | void

desc Called before updating the chart dataset at the given args.index. If any plugin +returns false, the datasets update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:915 (opens new window)


# beforeDatasetsDraw

â–¸ Optional beforeDatasetsDraw(chart, args, options): boolean | void

desc Called before drawing the chart datasets. If any plugin returns false, +the datasets drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Defined in

index.esm.d.ts:1018 (opens new window)


# beforeDatasetsUpdate

â–¸ Optional beforeDatasetsUpdate(chart, args, options): boolean | void

desc Called before updating the chart datasets. If any plugin returns false, +the datasets update is cancelled until another update is triggered.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options O The plugin options.

# Returns

boolean | void

false to cancel the datasets update.

# Defined in

index.esm.d.ts:893 (opens new window)


# beforeDestroy

â–¸ Optional beforeDestroy(chart, args, options): void

Called before the chart is being destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1087 (opens new window)


# beforeDraw

â–¸ Optional beforeDraw(chart, args, options): boolean | void

desc Called before drawing chart at every animation frame. If any plugin returns false, +the frame drawing is cancelled untilanother render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart drawing.

# Defined in

index.esm.d.ts:1001 (opens new window)


# beforeElementsUpdate

â–¸ Optional beforeElementsUpdate(chart, args, options): void

desc Called during the update process, before any chart elements have been created. +This can be used for data decimation by changing the data array inside a dataset.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:874 (opens new window)


# beforeEvent

â–¸ Optional beforeEvent(chart, args, options): boolean | void

desc Called before processing the specified event. If any plugin returns false, +the event will be discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options O The plugin options.

# Returns

boolean | void

# Defined in

index.esm.d.ts:1060 (opens new window)


# beforeInit

â–¸ Optional beforeInit(chart, args, options): void

desc Called before initializing chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:840 (opens new window)


# beforeLayout

â–¸ Optional beforeLayout(chart, args, options): boolean | void

desc Called before laying out chart. If any plugin returns false, +the layout update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart layout.

# Defined in

index.esm.d.ts:935 (opens new window)


# beforeRender

â–¸ Optional beforeRender(chart, args, options): boolean | void

desc Called before rendering chart. If any plugin returns false, +the rendering is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options O The plugin options.

# Returns

boolean | void

false to cancel the chart rendering.

# Defined in

index.esm.d.ts:984 (opens new window)


# beforeTooltipDraw

â–¸ Optional beforeTooltipDraw(chart, args, options): boolean | void

desc Called before drawing the tooltip. If any plugin returns false, +the tooltip drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<TType> The tooltip.
options O The plugin options.

# Returns

boolean | void

false to cancel the chart tooltip drawing.

# Inherited from

ExtendedPlugin.beforeTooltipDraw

# Defined in

index.esm.d.ts:2592 (opens new window)


# beforeUpdate

â–¸ Optional beforeUpdate(chart, args, options): boolean | void

desc Called before updating chart. If any plugin returns false, the update +is cancelled (and thus subsequent render(s)) until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options O The plugin options.

# Returns

boolean | void

false to cancel the chart update.

# Defined in

index.esm.d.ts:857 (opens new window)


# destroy

â–¸ Optional destroy(chart, args, options): void

Called after the chart has been destroyed.

deprecated since version 3.7.0 in favour of afterDestroy

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1095 (opens new window)


# install

â–¸ Optional install(chart, args, options): void

desc Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:817 (opens new window)


# reset

â–¸ Optional reset(chart, args, options): void

desc Called during chart reset

since version 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:882 (opens new window)


# resize

â–¸ Optional resize(chart, args, options): void

desc Called after the chart as been resized.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.size Object The new canvas display size (eq. canvas.style width & height).
args.size.height number -
args.size.width number -
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1080 (opens new window)


# start

â–¸ Optional start(chart, args, options): void

desc Called when a plugin is starting. This happens when chart is created or plugin is enabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:825 (opens new window)


# stop

â–¸ Optional stop(chart, args, options): void

desc Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:833 (opens new window)


# uninstall

â–¸ Optional uninstall(chart, args, options): void

Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options O The plugin options.

# Returns

void

# Defined in

index.esm.d.ts:1110 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PluginChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PluginChartOptions.html new file mode 100644 index 00000000..86a8b931 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PluginChartOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PluginChartOptions | Chart.js + + + + + + + +

# Interface: PluginChartOptions<TType>

# Type parameters

Name Type
TType extends ChartType

# Hierarchy

# Properties

# plugins

• plugins: PluginOptionsByType<TType>

# Defined in

index.esm.d.ts:2845 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PluginOptionsByType.html b/scriptApl/chart.js/dist/docs/api/interfaces/PluginOptionsByType.html new file mode 100644 index 00000000..164dc394 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PluginOptionsByType.html @@ -0,0 +1,53 @@ + + + + + + Interface: PluginOptionsByType | Chart.js + + + + + + + +

# Interface: PluginOptionsByType<TType>

# Type parameters

Name Type
TType extends ChartType

# Properties

# decimation

• decimation: DecimationOptions

# Defined in

index.esm.d.ts:2837 (opens new window)


# filler

• filler: FillerOptions

# Defined in

index.esm.d.ts:2838 (opens new window)


# legend

• legend: LegendOptions<TType>

# Defined in

index.esm.d.ts:2839 (opens new window)


# subtitle

• subtitle: TitleOptions

# Defined in

index.esm.d.ts:2840 (opens new window)


# title

• title: TitleOptions

# Defined in

index.esm.d.ts:2841 (opens new window)


# tooltip

• tooltip: TooltipOptions<TType>

# Defined in

index.esm.d.ts:2842 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Point.html b/scriptApl/chart.js/dist/docs/api/interfaces/Point.html new file mode 100644 index 00000000..9bfddcc3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Point.html @@ -0,0 +1,53 @@ + + + + + + Interface: Point | Chart.js + + + + + + + +

# Interface: Point

# Properties

# x

• x: number

# Defined in

geometric.d.ts:11 (opens new window)


# y

• y: number

# Defined in

geometric.d.ts:12 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointElement.html new file mode 100644 index 00000000..e7acf4d1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointElement.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointElement | Chart.js + + + + + + + +

# Interface: PointElement<T, O>

# Type parameters

Name Type
T extends PointProps = PointProps
O extends PointOptions = PointOptions

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# options

• Readonly options: O

# Inherited from

Element.options

# Defined in

element.d.ts:8 (opens new window)


# parsed

• Readonly parsed: CartesianParsedData

# Defined in

index.esm.d.ts:1969 (opens new window)


# skip

• Readonly skip: boolean

# Defined in

index.esm.d.ts:1968 (opens new window)


# x

• Readonly x: number

# Inherited from

Element.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Element.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# draw

â–¸ draw(ctx, area?): void

# Parameters

Name Type
ctx CanvasRenderingContext2D
area? ChartArea

# Returns

void

# Inherited from

VisualElement.draw

# Defined in

index.esm.d.ts:1685 (opens new window)


# getCenterPoint

â–¸ getCenterPoint(useFinalPosition?): Object

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Object

Name Type
x number
y number

# Inherited from

VisualElement.getCenterPoint

# Defined in

index.esm.d.ts:1689 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<T, P[number]>

# Type parameters

Name Type
P extends keyof T[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<T, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# getRange

â–¸ Optional getRange(axis): number

# Parameters

Name Type
axis "x" | "y"

# Returns

number

# Inherited from

VisualElement.getRange

# Defined in

index.esm.d.ts:1690 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# inRange

â–¸ inRange(mouseX, mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inRange

# Defined in

index.esm.d.ts:1686 (opens new window)


# inXRange

â–¸ inXRange(mouseX, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inXRange

# Defined in

index.esm.d.ts:1687 (opens new window)


# inYRange

â–¸ inYRange(mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Inherited from

VisualElement.inYRange

# Defined in

index.esm.d.ts:1688 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointHoverOptions.html new file mode 100644 index 00000000..f6ad6f95 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointHoverOptions | Chart.js + + + + + + + +

# Interface: PointHoverOptions

# Hierarchy

# Properties

# hoverBackgroundColor

• hoverBackgroundColor: Color

# Inherited from

CommonHoverOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: Color

# Inherited from

CommonHoverOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: number

# Inherited from

CommonHoverOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverRadius

• hoverRadius: number

Point radius when hovered.

default 4

# Defined in

index.esm.d.ts:1912 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointOptions.html new file mode 100644 index 00000000..4301109d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointOptions | Chart.js + + + + + + + +

# Interface: PointOptions

# Hierarchy

# Properties

# backgroundColor

• backgroundColor: Color

# Inherited from

CommonElementOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderColor

• borderColor: Color

# Inherited from

CommonElementOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderWidth

• borderWidth: number

# Inherited from

CommonElementOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# drawActiveElementsOnTop

• drawActiveElementsOnTop: boolean

Draw the active elements over the other elements of the dataset,

default true

# Defined in

index.esm.d.ts:1904 (opens new window)


# hitRadius

• hitRadius: number

Extra radius added to point radius for hit detection.

default 1

# Defined in

index.esm.d.ts:1889 (opens new window)


# pointStyle

• pointStyle: PointStyle

Point style

default 'circle;

# Defined in

index.esm.d.ts:1894 (opens new window)


# radius

• radius: number

Point radius

default 3

# Defined in

index.esm.d.ts:1884 (opens new window)


# rotation

• rotation: number

Point rotation (in degrees).

default 0

# Defined in

index.esm.d.ts:1899 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedHoverOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedHoverOptions.html new file mode 100644 index 00000000..54b99d72 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedHoverOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointPrefixedHoverOptions | Chart.js + + + + + + + +

# Interface: PointPrefixedHoverOptions

# Properties

# pointHoverBackgroundColor

• pointHoverBackgroundColor: Color

Point background color when hovered.

# Defined in

index.esm.d.ts:1950 (opens new window)


# pointHoverBorderColor

• pointHoverBorderColor: Color

Point border color when hovered.

# Defined in

index.esm.d.ts:1954 (opens new window)


# pointHoverBorderWidth

• pointHoverBorderWidth: number

Border width of point when hovered.

# Defined in

index.esm.d.ts:1958 (opens new window)


# pointHoverRadius

• pointHoverRadius: number

The radius of the point when hovered.

# Defined in

index.esm.d.ts:1962 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedOptions.html new file mode 100644 index 00000000..44309497 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointPrefixedOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointPrefixedOptions | Chart.js + + + + + + + +

# Interface: PointPrefixedOptions

# Properties

# pointBackgroundColor

• pointBackgroundColor: Color

The fill color for points.

# Defined in

index.esm.d.ts:1919 (opens new window)


# pointBorderColor

• pointBorderColor: Color

The border color for points.

# Defined in

index.esm.d.ts:1923 (opens new window)


# pointBorderWidth

• pointBorderWidth: number

The width of the point border in pixels.

# Defined in

index.esm.d.ts:1927 (opens new window)


# pointHitRadius

• pointHitRadius: number

The pixel size of the non-displayed point that reacts to mouse events.

# Defined in

index.esm.d.ts:1931 (opens new window)


# pointRadius

• pointRadius: number

The radius of the point shape. If set to 0, the point is not rendered.

# Defined in

index.esm.d.ts:1935 (opens new window)


# pointRotation

• pointRotation: number

The rotation of the point in degrees.

# Defined in

index.esm.d.ts:1939 (opens new window)


# pointStyle

• pointStyle: PointStyle

Style of the point.

# Defined in

index.esm.d.ts:1943 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PointProps.html b/scriptApl/chart.js/dist/docs/api/interfaces/PointProps.html new file mode 100644 index 00000000..7586edc8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PointProps.html @@ -0,0 +1,53 @@ + + + + + + Interface: PointProps | Chart.js + + + + + + + +

# Interface: PointProps

# Properties

# x

• x: number

# Defined in

index.esm.d.ts:1861 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:1862 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaController.html b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaController.html new file mode 100644 index 00000000..87b1d34f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaController.html @@ -0,0 +1,53 @@ + + + + + + Interface: PolarAreaController | Chart.js + + + + + + + +

# Interface: PolarAreaController

# Hierarchy

# Properties

# _cachedMeta

• Readonly _cachedMeta: ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Inherited from

DoughnutController._cachedMeta

# Defined in

index.esm.d.ts:583 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Inherited from

DoughnutController.chart

# Defined in

index.esm.d.ts:581 (opens new window)


# enableOptionSharing

• enableOptionSharing: boolean

# Inherited from

DoughnutController.enableOptionSharing

# Defined in

index.esm.d.ts:584 (opens new window)


# index

• Readonly index: number

# Inherited from

DoughnutController.index

# Defined in

index.esm.d.ts:582 (opens new window)


# innerRadius

• Readonly innerRadius: number

# Inherited from

DoughnutController.innerRadius

# Defined in

index.esm.d.ts:334 (opens new window)


# offsetX

• Readonly offsetX: number

# Inherited from

DoughnutController.offsetX

# Defined in

index.esm.d.ts:336 (opens new window)


# offsetY

• Readonly offsetY: number

# Inherited from

DoughnutController.offsetY

# Defined in

index.esm.d.ts:337 (opens new window)


# outerRadius

• Readonly outerRadius: number

# Inherited from

DoughnutController.outerRadius

# Defined in

index.esm.d.ts:335 (opens new window)


# supportsDecimation

• supportsDecimation: boolean

# Inherited from

DoughnutController.supportsDecimation

# Defined in

index.esm.d.ts:588 (opens new window)

# Methods

# addElements

â–¸ addElements(): void

# Returns

void

# Inherited from

DoughnutController.addElements

# Defined in

index.esm.d.ts:604 (opens new window)


# applyStack

â–¸ Protected applyStack(scale, parsed): number

# Parameters

Name Type
scale Scale<CoreScaleOptions>
parsed unknown[]

# Returns

number

# Inherited from

DoughnutController.applyStack

# Defined in

index.esm.d.ts:640 (opens new window)


# buildOrUpdateElements

â–¸ buildOrUpdateElements(resetNewElements?): void

# Parameters

Name Type
resetNewElements? boolean

# Returns

void

# Inherited from

DoughnutController.buildOrUpdateElements

# Defined in

index.esm.d.ts:605 (opens new window)


# calculateCircumference

â–¸ calculateCircumference(value): number

# Parameters

Name Type
value number

# Returns

number

# Inherited from

DoughnutController.calculateCircumference

# Defined in

index.esm.d.ts:340 (opens new window)


# calculateTotal

â–¸ calculateTotal(): number

# Returns

number

# Inherited from

DoughnutController.calculateTotal

# Defined in

index.esm.d.ts:339 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Inherited from

DoughnutController.configure

# Defined in

index.esm.d.ts:602 (opens new window)


# countVisibleElements

â–¸ countVisibleElements(): number

# Returns

number

# Defined in

index.esm.d.ts:386 (opens new window)


# draw

â–¸ draw(): void

# Returns

void

# Inherited from

DoughnutController.draw

# Defined in

index.esm.d.ts:597 (opens new window)


# getAllParsedValues

â–¸ getAllParsedValues(scale): number[]

# Parameters

Name Type
scale Scale<CoreScaleOptions>

# Returns

number[]

# Inherited from

DoughnutController.getAllParsedValues

# Defined in

index.esm.d.ts:591 (opens new window)


# getDataset

â–¸ getDataset(): ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Returns

ChartDataset<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[]>

# Inherited from

DoughnutController.getDataset

# Defined in

index.esm.d.ts:599 (opens new window)


# getLabelAndValue

â–¸ Protected getLabelAndValue(index): Object

# Parameters

Name Type
index number

# Returns

Object

Name Type
label string
value string

# Inherited from

DoughnutController.getLabelAndValue

# Defined in

index.esm.d.ts:592 (opens new window)


# getMaxOverflow

â–¸ Protected getMaxOverflow(): number | boolean

# Returns

number | boolean

# Inherited from

DoughnutController.getMaxOverflow

# Defined in

index.esm.d.ts:596 (opens new window)


# getMeta

â–¸ getMeta(): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>

# Inherited from

DoughnutController.getMeta

# Defined in

index.esm.d.ts:600 (opens new window)


# getMinMax

â–¸ Protected getMinMax(scale, canStack?): Object

# Parameters

Name Type
scale Scale<CoreScaleOptions>
canStack? boolean

# Returns

Object

Name Type
max number
min number

# Inherited from

DoughnutController.getMinMax

# Defined in

index.esm.d.ts:647 (opens new window)


# getParsed

â–¸ Protected getParsed(index): number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData

# Parameters

Name Type
index number

# Returns

number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData

# Inherited from

DoughnutController.getParsed

# Defined in

index.esm.d.ts:639 (opens new window)


# getScaleForId

â–¸ getScaleForId(scaleID): Scale<CoreScaleOptions>

# Parameters

Name Type
scaleID string

# Returns

Scale<CoreScaleOptions>

# Inherited from

DoughnutController.getScaleForId

# Defined in

index.esm.d.ts:601 (opens new window)


# getSharedOptions

â–¸ Protected getSharedOptions(options): AnyObject

Utility for checking if the options are shared and should be animated separately.

# Parameters

Name Type
options AnyObject

# Returns

AnyObject

# Inherited from

DoughnutController.getSharedOptions

# Defined in

index.esm.d.ts:614 (opens new window)


# getStyle

â–¸ getStyle(index, active): AnyObject

# Parameters

Name Type
index number
active boolean

# Returns

AnyObject

# Inherited from

DoughnutController.getStyle

# Defined in

index.esm.d.ts:607 (opens new window)


# includeOptions

â–¸ Protected includeOptions(mode, sharedOptions): boolean

Utility for determining if options should be included in the updated properties

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
sharedOptions AnyObject

# Returns

boolean

# Inherited from

DoughnutController.includeOptions

# Defined in

index.esm.d.ts:619 (opens new window)


# initialize

â–¸ initialize(): void

# Returns

void

# Inherited from

DoughnutController.initialize

# Defined in

index.esm.d.ts:603 (opens new window)


# linkScales

â–¸ linkScales(): void

# Returns

void

# Inherited from

DoughnutController.linkScales

# Defined in

index.esm.d.ts:590 (opens new window)


# parse

â–¸ parse(start, count): void

# Parameters

Name Type
start number
count number

# Returns

void

# Inherited from

DoughnutController.parse

# Defined in

index.esm.d.ts:635 (opens new window)


# parseArrayData

â–¸ Protected parseArrayData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DoughnutController.parseArrayData

# Defined in

index.esm.d.ts:637 (opens new window)


# parseObjectData

â–¸ Protected parseObjectData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DoughnutController.parseObjectData

# Defined in

index.esm.d.ts:638 (opens new window)


# parsePrimitiveData

â–¸ Protected parsePrimitiveData(meta, data, start, count): AnyObject[]

# Parameters

Name Type
meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>
data AnyObject[]
start number
count number

# Returns

AnyObject[]

# Inherited from

DoughnutController.parsePrimitiveData

# Defined in

index.esm.d.ts:636 (opens new window)


# removeHoverStyle

â–¸ removeHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element Element<AnyObject, AnyObject>
datasetIndex number
index number

# Returns

void

# Inherited from

DoughnutController.removeHoverStyle

# Defined in

index.esm.d.ts:632 (opens new window)


# reset

â–¸ reset(): void

# Returns

void

# Inherited from

DoughnutController.reset

# Defined in

index.esm.d.ts:598 (opens new window)


# resolveDataElementOptions

â–¸ Protected resolveDataElementOptions(index, mode): AnyObject

# Parameters

Name Type
index number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Inherited from

DoughnutController.resolveDataElementOptions

# Defined in

index.esm.d.ts:609 (opens new window)


# resolveDatasetElementOptions

â–¸ Protected resolveDatasetElementOptions(mode): AnyObject

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

AnyObject

# Inherited from

DoughnutController.resolveDatasetElementOptions

# Defined in

index.esm.d.ts:608 (opens new window)


# setHoverStyle

â–¸ setHoverStyle(element, datasetIndex, index): void

# Parameters

Name Type
element Element<AnyObject, AnyObject>
datasetIndex number
index number

# Returns

void

# Inherited from

DoughnutController.setHoverStyle

# Defined in

index.esm.d.ts:633 (opens new window)


# update

â–¸ update(mode): void

# Parameters

Name Type
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DoughnutController.update

# Defined in

index.esm.d.ts:594 (opens new window)


# updateElement

â–¸ Protected updateElement(element, index, properties, mode): void

Utility for updating an element with new properties, using animations when appropriate.

# Parameters

Name Type
element Element<AnyObject, AnyObject>
index number
properties AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DoughnutController.updateElement

# Defined in

index.esm.d.ts:625 (opens new window)


# updateElements

â–¸ updateElements(elements, start, count, mode): void

# Parameters

Name Type
elements Element<AnyObject, AnyObject>[]
start number
count number
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"

# Returns

void

# Inherited from

DoughnutController.updateElements

# Defined in

index.esm.d.ts:593 (opens new window)


# updateIndex

â–¸ updateIndex(datasetIndex): void

# Parameters

Name Type
datasetIndex number

# Returns

void

# Inherited from

DoughnutController.updateIndex

# Defined in

index.esm.d.ts:595 (opens new window)


# updateRangeFromParsed

â–¸ Protected updateRangeFromParsed(range, scale, parsed, stack): void

# Parameters

Name Type
range Object
range.max number
range.min number
scale Scale<CoreScaleOptions>
parsed unknown[]
stack string | boolean

# Returns

void

# Inherited from

DoughnutController.updateRangeFromParsed

# Defined in

index.esm.d.ts:641 (opens new window)


# updateSharedOptions

â–¸ Protected updateSharedOptions(sharedOptions, mode, newOptions): void

Utility to animate the shared options, that are potentially affecting multiple elements.

# Parameters

Name Type
sharedOptions AnyObject
mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active"
newOptions AnyObject

# Returns

void

# Inherited from

DoughnutController.updateSharedOptions

# Defined in

index.esm.d.ts:631 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerChartOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerChartOptions.html new file mode 100644 index 00000000..7e6d45c2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerChartOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: PolarAreaControllerChartOptions | Chart.js + + + + + + + +

# Interface: PolarAreaControllerChartOptions

# Properties

# animation

• animation: false | DoughnutAnimationOptions

# Defined in

index.esm.d.ts:382 (opens new window)


# startAngle

• startAngle: number

Starting angle to draw arcs for the first item in a dataset. In degrees, 0 is at top.

default 0

# Defined in

index.esm.d.ts:380 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerDatasetOptions.html new file mode 100644 index 00000000..643a13f0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/PolarAreaControllerDatasetOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: PolarAreaControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: PolarAreaControllerDatasetOptions

# Hierarchy

# Properties

# angle

• angle: number

Arc angle to cover. - for polar only

default circumference / (arc count)

# Defined in

index.esm.d.ts:370 (opens new window)


# animation

• animation: false | AnimationSpec<"doughnut"> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

DoughnutControllerDatasetOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<"doughnut">

# Inherited from

DoughnutControllerDatasetOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderAlign

• borderAlign: ScriptableAndArray<"center" | "inner", ScriptableContext<"doughnut">>

Arc stroke alignment.

# Inherited from

DoughnutControllerDatasetOptions.borderAlign

# Defined in

index.esm.d.ts:1732 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderJoinStyle

• borderJoinStyle: ScriptableAndArray<CanvasLineJoin, ScriptableContext<"doughnut">>

Line join style. See MDN. Default is 'round' when borderAlign is 'inner', else 'bevel'.

# Inherited from

DoughnutControllerDatasetOptions.borderJoinStyle

# Defined in

index.esm.d.ts:1737 (opens new window)


# borderRadius

• borderRadius: ScriptableAndArray<number | ArcBorderRadius, ScriptableContext<"doughnut">>

Sets the border radius for arcs

default 0

# Inherited from

DoughnutControllerDatasetOptions.borderRadius

# Defined in

index.esm.d.ts:1743 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# circular

• circular: ScriptableAndArray<boolean, ScriptableContext<"doughnut">>

If false, Arc will be flat.

default true

# Inherited from

DoughnutControllerDatasetOptions.circular

# Defined in

index.esm.d.ts:1754 (opens new window)


# circumference

• circumference: number

Sweep to allow arcs to cover.

default 360

# Inherited from

DoughnutControllerDatasetOptions.circumference

# Defined in

index.esm.d.ts:250 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

DoughnutControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

DoughnutControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverOffset

• hoverOffset: ScriptableAndArray<number, ScriptableContext<"doughnut">>

# Inherited from

DoughnutControllerDatasetOptions.hoverOffset

# Defined in

index.esm.d.ts:1758 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

DoughnutControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

DoughnutControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

DoughnutControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# offset

• offset: number

Arc offset (in pixels).

# Inherited from

DoughnutControllerDatasetOptions.offset

# Defined in

index.esm.d.ts:255 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

DoughnutControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

DoughnutControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# rotation

• rotation: number

Starting angle to draw this dataset from.

default 0

# Inherited from

DoughnutControllerDatasetOptions.rotation

# Defined in

index.esm.d.ts:261 (opens new window)


# spacing

• spacing: number

Similar to the offset option, but applies to all arcs. This can be used to to add spaces +between arcs

default 0

# Inherited from

DoughnutControllerDatasetOptions.spacing

# Defined in

index.esm.d.ts:274 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

DoughnutControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)


# transitions

• transitions: TransitionsSpec<"doughnut">

# Inherited from

DoughnutControllerDatasetOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)


# weight

• weight: number

The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.

default 1

# Inherited from

DoughnutControllerDatasetOptions.weight

# Defined in

index.esm.d.ts:267 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/RadarControllerDatasetOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/RadarControllerDatasetOptions.html new file mode 100644 index 00000000..9404b64e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/RadarControllerDatasetOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: RadarControllerDatasetOptions | Chart.js + + + + + + + +

# Interface: RadarControllerDatasetOptions

# Hierarchy

# Properties

# animation

• animation: false | AnimationSpec<"radar"> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }

# Inherited from

AnimationOptions.animation

# Defined in

index.esm.d.ts:1640 (opens new window)


# animations

• animations: AnimationsSpec<"radar">

# Inherited from

AnimationOptions.animations

# Defined in

index.esm.d.ts:1650 (opens new window)


# backgroundColor

• backgroundColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.backgroundColor

# Defined in

index.esm.d.ts:1696 (opens new window)


# borderCapStyle

• borderCapStyle: ScriptableAndArray<CanvasLineCap, ScriptableContext<"radar">>

Line cap style. See MDN.

default 'butt'

# Inherited from

ScriptableAndArrayOptions.borderCapStyle

# Defined in

index.esm.d.ts:1779 (opens new window)


# borderColor

• borderColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.borderColor

# Defined in

index.esm.d.ts:1695 (opens new window)


# borderDash

• borderDash: ScriptableAndArray<number[], ScriptableContext<"radar">>

Line dash. See MDN.

default []

# Inherited from

ScriptableAndArrayOptions.borderDash

# Defined in

index.esm.d.ts:1784 (opens new window)


# borderDashOffset

• borderDashOffset: ScriptableAndArray<number, ScriptableContext<"radar">>

Line dash offset. See MDN.

default 0.0

# Inherited from

ScriptableAndArrayOptions.borderDashOffset

# Defined in

index.esm.d.ts:1789 (opens new window)


# borderJoinStyle

• borderJoinStyle: ScriptableAndArray<CanvasLineJoin, ScriptableContext<"radar">>

Line join style. See MDN.

default 'miter'

# Inherited from

ScriptableAndArrayOptions.borderJoinStyle

# Defined in

index.esm.d.ts:1794 (opens new window)


# borderWidth

• borderWidth: ScriptableAndArray<number, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.borderWidth

# Defined in

index.esm.d.ts:1694 (opens new window)


# capBezierPoints

• capBezierPoints: ScriptableAndArray<boolean, ScriptableContext<"radar">>

true to keep Bézier control inside the chart, false for no restriction.

default true

# Inherited from

ScriptableAndArrayOptions.capBezierPoints

# Defined in

index.esm.d.ts:1799 (opens new window)


# clip

• clip: number | false | ChartArea

How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

# Inherited from

ControllerDatasetOptions.clip

# Defined in

index.esm.d.ts:70 (opens new window)


# cubicInterpolationMode

• cubicInterpolationMode: ScriptableAndArray<"default" | "monotone", ScriptableContext<"radar">>

Interpolation mode to apply.

default 'default'

# Inherited from

ScriptableAndArrayOptions.cubicInterpolationMode

# Defined in

index.esm.d.ts:1804 (opens new window)


# drawActiveElementsOnTop

• drawActiveElementsOnTop: ScriptableAndArray<boolean, ScriptableContext<"radar">>

Draw the active elements over the other elements of the dataset,

default true

# Inherited from

ScriptableAndArrayOptions.drawActiveElementsOnTop

# Defined in

index.esm.d.ts:1904 (opens new window)


# fill

• fill: ScriptableAndArray<FillTarget | ComplexFillTarget, ScriptableContext<"radar">>

Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end

# Inherited from

ScriptableAndArrayOptions.fill

# Defined in

index.esm.d.ts:1818 (opens new window)


# hidden

• hidden: boolean

Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.

default false

# Inherited from

ControllerDatasetOptions.hidden

# Defined in

index.esm.d.ts:88 (opens new window)


# hitRadius

• hitRadius: ScriptableAndArray<number, ScriptableContext<"radar">>

Extra radius added to point radius for hit detection.

default 1

# Inherited from

ScriptableAndArrayOptions.hitRadius

# Defined in

index.esm.d.ts:1889 (opens new window)


# hoverBackgroundColor

• hoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBackgroundColor

# Defined in

index.esm.d.ts:1702 (opens new window)


# hoverBorderCapStyle

• hoverBorderCapStyle: ScriptableAndArray<CanvasLineCap, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderCapStyle

# Defined in

index.esm.d.ts:1836 (opens new window)


# hoverBorderColor

• hoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderColor

# Defined in

index.esm.d.ts:1701 (opens new window)


# hoverBorderDash

• hoverBorderDash: ScriptableAndArray<number[], ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderDash

# Defined in

index.esm.d.ts:1837 (opens new window)


# hoverBorderDashOffset

• hoverBorderDashOffset: ScriptableAndArray<number, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderDashOffset

# Defined in

index.esm.d.ts:1838 (opens new window)


# hoverBorderJoinStyle

• hoverBorderJoinStyle: ScriptableAndArray<CanvasLineJoin, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderJoinStyle

# Defined in

index.esm.d.ts:1839 (opens new window)


# hoverBorderWidth

• hoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.hoverBorderWidth

# Defined in

index.esm.d.ts:1700 (opens new window)


# hoverRadius

• hoverRadius: ScriptableAndArray<number, ScriptableContext<"radar">>

Point radius when hovered.

default 4

# Inherited from

ScriptableAndArrayOptions.hoverRadius

# Defined in

index.esm.d.ts:1912 (opens new window)


# indexAxis

• indexAxis: "x" | "y"

The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.

default 'x'

# Inherited from

ControllerDatasetOptions.indexAxis

# Defined in

index.esm.d.ts:66 (opens new window)


# label

• label: string

The label for the dataset which appears in the legend and tooltips.

# Inherited from

ControllerDatasetOptions.label

# Defined in

index.esm.d.ts:74 (opens new window)


# normalized

• normalized: boolean

Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.

# Inherited from

ControllerDatasetOptions.normalized

# Defined in

index.esm.d.ts:58 (opens new window)


# order

• order: number

The drawing order of dataset. Also affects order for stacking, tooltip and legend.

# Inherited from

ControllerDatasetOptions.order

# Defined in

index.esm.d.ts:78 (opens new window)


# parsing

• parsing: false | { [key: string]: string; }

How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

# Inherited from

ControllerDatasetOptions.parsing

# Defined in

index.esm.d.ts:49 (opens new window)


# pointBackgroundColor

• pointBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

The fill color for points.

# Inherited from

ScriptableAndArrayOptions.pointBackgroundColor

# Defined in

index.esm.d.ts:1919 (opens new window)


# pointBorderColor

• pointBorderColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

The border color for points.

# Inherited from

ScriptableAndArrayOptions.pointBorderColor

# Defined in

index.esm.d.ts:1923 (opens new window)


# pointBorderWidth

• pointBorderWidth: ScriptableAndArray<number, ScriptableContext<"radar">>

The width of the point border in pixels.

# Inherited from

ScriptableAndArrayOptions.pointBorderWidth

# Defined in

index.esm.d.ts:1927 (opens new window)


# pointHitRadius

• pointHitRadius: ScriptableAndArray<number, ScriptableContext<"radar">>

The pixel size of the non-displayed point that reacts to mouse events.

# Inherited from

ScriptableAndArrayOptions.pointHitRadius

# Defined in

index.esm.d.ts:1931 (opens new window)


# pointHoverBackgroundColor

• pointHoverBackgroundColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

Point background color when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBackgroundColor

# Defined in

index.esm.d.ts:1950 (opens new window)


# pointHoverBorderColor

• pointHoverBorderColor: ScriptableAndArray<Color, ScriptableContext<"radar">>

Point border color when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBorderColor

# Defined in

index.esm.d.ts:1954 (opens new window)


# pointHoverBorderWidth

• pointHoverBorderWidth: ScriptableAndArray<number, ScriptableContext<"radar">>

Border width of point when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverBorderWidth

# Defined in

index.esm.d.ts:1958 (opens new window)


# pointHoverRadius

• pointHoverRadius: ScriptableAndArray<number, ScriptableContext<"radar">>

The radius of the point when hovered.

# Inherited from

ScriptableAndArrayOptions.pointHoverRadius

# Defined in

index.esm.d.ts:1962 (opens new window)


# pointRadius

• pointRadius: ScriptableAndArray<number, ScriptableContext<"radar">>

The radius of the point shape. If set to 0, the point is not rendered.

# Inherited from

ScriptableAndArrayOptions.pointRadius

# Defined in

index.esm.d.ts:1935 (opens new window)


# pointRotation

• pointRotation: ScriptableAndArray<number, ScriptableContext<"radar">>

The rotation of the point in degrees.

# Inherited from

ScriptableAndArrayOptions.pointRotation

# Defined in

index.esm.d.ts:1939 (opens new window)


# pointStyle

• pointStyle: ScriptableAndArray<PointStyle, ScriptableContext<"radar">>

Point style

default 'circle;

# Inherited from

ScriptableAndArrayOptions.pointStyle

# Defined in

index.esm.d.ts:1894 (opens new window)


# radius

• radius: ScriptableAndArray<number, ScriptableContext<"radar">>

Point radius

default 3

# Inherited from

ScriptableAndArrayOptions.radius

# Defined in

index.esm.d.ts:1884 (opens new window)


# rotation

• rotation: ScriptableAndArray<number, ScriptableContext<"radar">>

Point rotation (in degrees).

default 0

# Inherited from

ScriptableAndArrayOptions.rotation

# Defined in

index.esm.d.ts:1899 (opens new window)


# segment

• segment: ScriptableAndArray<{ backgroundColor: Scriptable<Color, ScriptableLineSegmentContext> ; borderCapStyle: Scriptable<CanvasLineCap, ScriptableLineSegmentContext> ; borderColor: Scriptable<Color, ScriptableLineSegmentContext> ; borderDash: Scriptable<number[], ScriptableLineSegmentContext> ; borderDashOffset: Scriptable<number, ScriptableLineSegmentContext> ; borderJoinStyle: Scriptable<CanvasLineJoin, ScriptableLineSegmentContext> ; borderWidth: Scriptable<number, ScriptableLineSegmentContext> }, ScriptableContext<"radar">>

# Inherited from

ScriptableAndArrayOptions.segment

# Defined in

index.esm.d.ts:1824 (opens new window)


# showLine

• showLine: boolean

If false, the line is not drawn for this dataset.

# Defined in

index.esm.d.ts:415 (opens new window)


# spanGaps

• spanGaps: number | boolean

If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.

# Overrides

ScriptableAndArrayOptions.spanGaps

# Defined in

index.esm.d.ts:410 (opens new window)


# stack

• stack: string

The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).

# Inherited from

ControllerDatasetOptions.stack

# Defined in

index.esm.d.ts:83 (opens new window)


# stepped

• stepped: ScriptableAndArray<boolean | "middle" | "before" | "after", ScriptableContext<"radar">>

true to show the line as a stepped line (tension will be ignored).

default false

# Inherited from

ScriptableAndArrayOptions.stepped

# Defined in

index.esm.d.ts:1814 (opens new window)


# tension

• tension: ScriptableAndArray<number, ScriptableContext<"radar">>

Bézier curve tension (0 for no Bézier curves).

default 0

# Inherited from

ScriptableAndArrayOptions.tension

# Defined in

index.esm.d.ts:1809 (opens new window)


# transitions

• transitions: TransitionsSpec<"radar">

# Inherited from

AnimationOptions.transitions

# Defined in

index.esm.d.ts:1651 (opens new window)


# xAxisID

• xAxisID: string

The ID of the x axis to plot this dataset on.

# Defined in

index.esm.d.ts:401 (opens new window)


# yAxisID

• yAxisID: string

The ID of the y axis to plot this dataset on.

# Defined in

index.esm.d.ts:405 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/RadialLinearScale.html b/scriptApl/chart.js/dist/docs/api/interfaces/RadialLinearScale.html new file mode 100644 index 00000000..6c4749d1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/RadialLinearScale.html @@ -0,0 +1,58 @@ + + + + + + Interface: RadialLinearScale | Chart.js + + + + + + + +

# Interface: RadialLinearScale<O>

# Type parameters

Name Type
O extends RadialLinearScaleOptions = RadialLinearScaleOptions

# Hierarchy

  • Scale<O>

    ↳ RadialLinearScale

# Properties

# active

• Readonly active: boolean

# Inherited from

Scale.active

# Defined in

element.d.ts:7 (opens new window)


# axis

• axis: string

# Inherited from

Scale.axis

# Defined in

index.esm.d.ts:1239 (opens new window)


# bottom

• bottom: number

Bottom edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.bottom

# Defined in

layout.d.ts:41 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Inherited from

Scale.chart

# Defined in

index.esm.d.ts:1229 (opens new window)


# ctx

• Readonly ctx: CanvasRenderingContext2D

# Inherited from

Scale.ctx

# Defined in

index.esm.d.ts:1228 (opens new window)


# fullSize

• fullSize: boolean

if true, and the item is horizontal, then push vertical boxes down

# Inherited from

Scale.fullSize

# Defined in

layout.d.ts:17 (opens new window)


# height

• height: number

Height of item. Must be valid after update()

# Inherited from

Scale.height

# Defined in

layout.d.ts:25 (opens new window)


# id

• Readonly id: string

# Inherited from

Scale.id

# Defined in

index.esm.d.ts:1226 (opens new window)


# labelRotation

• labelRotation: number

# Inherited from

Scale.labelRotation

# Defined in

index.esm.d.ts:1240 (opens new window)


# left

• left: number

Left edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.left

# Defined in

layout.d.ts:29 (opens new window)


# max

• max: number

# Inherited from

Scale.max

# Defined in

index.esm.d.ts:1242 (opens new window)


# maxHeight

• maxHeight: number

# Inherited from

Scale.maxHeight

# Defined in

index.esm.d.ts:1232 (opens new window)


# maxWidth

• maxWidth: number

# Inherited from

Scale.maxWidth

# Defined in

index.esm.d.ts:1231 (opens new window)


# min

• min: number

# Inherited from

Scale.min

# Defined in

index.esm.d.ts:1241 (opens new window)


# options

• Readonly options: O

# Inherited from

Scale.options

# Defined in

element.d.ts:8 (opens new window)


# paddingBottom

• paddingBottom: number

# Inherited from

Scale.paddingBottom

# Defined in

index.esm.d.ts:1235 (opens new window)


# paddingLeft

• paddingLeft: number

# Inherited from

Scale.paddingLeft

# Defined in

index.esm.d.ts:1236 (opens new window)


# paddingRight

• paddingRight: number

# Inherited from

Scale.paddingRight

# Defined in

index.esm.d.ts:1237 (opens new window)


# paddingTop

• paddingTop: number

# Inherited from

Scale.paddingTop

# Defined in

index.esm.d.ts:1234 (opens new window)


# position

• position: LayoutPosition

The position of the item in the chart layout. Possible values are

# Inherited from

Scale.position

# Defined in

layout.d.ts:9 (opens new window)


• right: number

Right edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.right

# Defined in

layout.d.ts:37 (opens new window)


# ticks

• ticks: Tick[]

# Inherited from

Scale.ticks

# Defined in

index.esm.d.ts:1243 (opens new window)


# top

• top: number

Top edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.top

# Defined in

layout.d.ts:33 (opens new window)


# type

• Readonly type: string

# Inherited from

Scale.type

# Defined in

index.esm.d.ts:1227 (opens new window)


# weight

• weight: number

The weight used to sort the item. Higher weights are further away from the chart area

# Inherited from

Scale.weight

# Defined in

layout.d.ts:13 (opens new window)


# width

• width: number

Width of item. Must be valid after update()

# Inherited from

Scale.width

# Defined in

layout.d.ts:21 (opens new window)


# x

• Readonly x: number

# Inherited from

Scale.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Scale.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# afterBuildTicks

â–¸ afterBuildTicks(): void

# Returns

void

# Inherited from

Scale.afterBuildTicks

# Defined in

index.esm.d.ts:1323 (opens new window)


# afterCalculateLabelRotation

â–¸ afterCalculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.afterCalculateLabelRotation

# Defined in

index.esm.d.ts:1329 (opens new window)


# afterDataLimits

â–¸ afterDataLimits(): void

# Returns

void

# Inherited from

Scale.afterDataLimits

# Defined in

index.esm.d.ts:1320 (opens new window)


# afterFit

â–¸ afterFit(): void

# Returns

void

# Inherited from

Scale.afterFit

# Defined in

index.esm.d.ts:1332 (opens new window)


# afterSetDimensions

â–¸ afterSetDimensions(): void

# Returns

void

# Inherited from

Scale.afterSetDimensions

# Defined in

index.esm.d.ts:1317 (opens new window)


# afterTickToLabelConversion

â–¸ afterTickToLabelConversion(): void

# Returns

void

# Inherited from

Scale.afterTickToLabelConversion

# Defined in

index.esm.d.ts:1326 (opens new window)


# afterUpdate

â–¸ afterUpdate(): void

# Returns

void

# Inherited from

Scale.afterUpdate

# Defined in

index.esm.d.ts:1314 (opens new window)


# beforeBuildTicks

â–¸ beforeBuildTicks(): void

# Returns

void

# Inherited from

Scale.beforeBuildTicks

# Defined in

index.esm.d.ts:1321 (opens new window)


# beforeCalculateLabelRotation

â–¸ beforeCalculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.beforeCalculateLabelRotation

# Defined in

index.esm.d.ts:1327 (opens new window)


# beforeDataLimits

â–¸ beforeDataLimits(): void

# Returns

void

# Inherited from

Scale.beforeDataLimits

# Defined in

index.esm.d.ts:1318 (opens new window)


# beforeFit

â–¸ beforeFit(): void

# Returns

void

# Inherited from

Scale.beforeFit

# Defined in

index.esm.d.ts:1330 (opens new window)


# beforeLayout

â–¸ Optional beforeLayout(): void

Called before the layout process starts

# Returns

void

# Inherited from

Scale.beforeLayout

# Defined in

layout.d.ts:46 (opens new window)


# beforeSetDimensions

â–¸ beforeSetDimensions(): void

# Returns

void

# Inherited from

Scale.beforeSetDimensions

# Defined in

index.esm.d.ts:1315 (opens new window)


# beforeTickToLabelConversion

â–¸ beforeTickToLabelConversion(): void

# Returns

void

# Inherited from

Scale.beforeTickToLabelConversion

# Defined in

index.esm.d.ts:1324 (opens new window)


# beforeUpdate

â–¸ beforeUpdate(): void

# Returns

void

# Inherited from

Scale.beforeUpdate

# Defined in

index.esm.d.ts:1312 (opens new window)


# buildTicks

â–¸ buildTicks(): Tick[]

# Returns

Tick[]

# Inherited from

Scale.buildTicks

# Defined in

index.esm.d.ts:1322 (opens new window)


# calculateLabelRotation

â–¸ calculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.calculateLabelRotation

# Defined in

index.esm.d.ts:1328 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Inherited from

Scale.configure

# Defined in

index.esm.d.ts:1313 (opens new window)


# determineDataLimits

â–¸ determineDataLimits(): void

# Returns

void

# Inherited from

Scale.determineDataLimits

# Defined in

index.esm.d.ts:1319 (opens new window)


# draw

â–¸ draw(chartArea): void

Draws the element

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.draw

# Defined in

layout.d.ts:50 (opens new window)


# drawGrid

â–¸ drawGrid(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawGrid

# Defined in

index.esm.d.ts:1248 (opens new window)


# drawLabels

â–¸ drawLabels(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawLabels

# Defined in

index.esm.d.ts:1247 (opens new window)


# drawTitle

â–¸ drawTitle(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawTitle

# Defined in

index.esm.d.ts:1246 (opens new window)


# fit

â–¸ fit(): void

# Returns

void

# Inherited from

Scale.fit

# Defined in

index.esm.d.ts:1331 (opens new window)


# generateTickLabels

â–¸ generateTickLabels(ticks): void

# Parameters

Name Type
ticks Tick[]

# Returns

void

# Inherited from

Scale.generateTickLabels

# Defined in

index.esm.d.ts:1325 (opens new window)


# getBasePixel

â–¸ getBasePixel(): number

Returns the pixel for the minimum chart value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Returns

number

# Inherited from

Scale.getBasePixel

# Defined in

index.esm.d.ts:1304 (opens new window)


# getBasePosition

â–¸ getBasePosition(index): Object

# Parameters

Name Type
index number

# Returns

Object

Name Type
angle number
x number
y number

# Defined in

index.esm.d.ts:3477 (opens new window)


# getBaseValue

â–¸ getBaseValue(): number

# Returns

number

# Inherited from

Scale.getBaseValue

# Defined in

index.esm.d.ts:1298 (opens new window)


# getDecimalForPixel

â–¸ getDecimalForPixel(pixel): number

# Parameters

Name Type
pixel number

# Returns

number

# Inherited from

Scale.getDecimalForPixel

# Defined in

index.esm.d.ts:1254 (opens new window)


# getDistanceFromCenterForValue

â–¸ getDistanceFromCenterForValue(value): number

# Parameters

Name Type
value number

# Returns

number

# Defined in

index.esm.d.ts:3472 (opens new window)


# getIndexAngle

â–¸ getIndexAngle(index): number

# Parameters

Name Type
index number

# Returns

number

# Defined in

index.esm.d.ts:3471 (opens new window)


# getLabelForValue

â–¸ getLabelForValue(value): string

Used to get the label to display in the tooltip for the given value

# Parameters

Name Type
value number

# Returns

string

# Inherited from

Scale.getLabelForValue

# Defined in

index.esm.d.ts:1274 (opens new window)


# getLabels

â–¸ getLabels(): string[]

# Returns

string[]

# Inherited from

Scale.getLabels

# Defined in

index.esm.d.ts:1311 (opens new window)


# getLineWidthForValue

â–¸ getLineWidthForValue(value): number

Returns the grid line width at given value

# Parameters

Name Type
value number

# Returns

number

# Inherited from

Scale.getLineWidthForValue

# Defined in

index.esm.d.ts:1279 (opens new window)


# getMatchingVisibleMetas

â–¸ getMatchingVisibleMetas(type?): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Parameters

Name Type
type? string

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Inherited from

Scale.getMatchingVisibleMetas

# Defined in

index.esm.d.ts:1244 (opens new window)


# getMinMax

â–¸ getMinMax(canStack): Object

# Parameters

Name Type
canStack boolean

# Returns

Object

Name Type
max number
min number

# Inherited from

Scale.getMinMax

# Defined in

index.esm.d.ts:1309 (opens new window)


# getPadding

â–¸ Optional getPadding(): ChartArea

Returns an object with padding on the edges

# Returns

ChartArea

# Inherited from

Scale.getPadding

# Defined in

layout.d.ts:54 (opens new window)


# getPixelForDecimal

â–¸ getPixelForDecimal(decimal): number

Utility for getting the pixel location of a percentage of scale +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
decimal number

# Returns

number

# Inherited from

Scale.getPixelForDecimal

# Defined in

index.esm.d.ts:1261 (opens new window)


# getPixelForTick

â–¸ getPixelForTick(index): number

Returns the location of the tick at the given index +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
index number

# Returns

number

# Inherited from

Scale.getPixelForTick

# Defined in

index.esm.d.ts:1268 (opens new window)


# getPixelForValue

â–¸ getPixelForValue(value, index?): number

Returns the location of the given data point. Value can either be an index or a numerical value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
value number
index? number

# Returns

number

# Inherited from

Scale.getPixelForValue

# Defined in

index.esm.d.ts:1288 (opens new window)


# getPointLabelPosition

â–¸ getPointLabelPosition(index): ChartArea

# Parameters

Name Type
index number

# Returns

ChartArea

# Defined in

index.esm.d.ts:3476 (opens new window)


# getPointPosition

â–¸ getPointPosition(index, distanceFromCenter): Object

# Parameters

Name Type
index number
distanceFromCenter number

# Returns

Object

Name Type
angle number
x number
y number

# Defined in

index.esm.d.ts:3474 (opens new window)


# getPointPositionForValue

â–¸ getPointPositionForValue(index, value): Object

# Parameters

Name Type
index number
value number

# Returns

Object

Name Type
angle number
x number
y number

# Defined in

index.esm.d.ts:3475 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<unknown, P[number]>

# Type parameters

Name Type
P extends never[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<unknown, P[number]>

# Inherited from

Scale.getProps

# Defined in

element.d.ts:12 (opens new window)


# getTicks

â–¸ getTicks(): Tick[]

# Returns

Tick[]

# Inherited from

Scale.getTicks

# Defined in

index.esm.d.ts:1310 (opens new window)


# getUserBounds

â–¸ getUserBounds(): Object

# Returns

Object

Name Type
max number
maxDefined boolean
min number
minDefined boolean

# Inherited from

Scale.getUserBounds

# Defined in

index.esm.d.ts:1308 (opens new window)


# getValueForDistanceFromCenter

â–¸ getValueForDistanceFromCenter(distance): number

# Parameters

Name Type
distance number

# Returns

number

# Defined in

index.esm.d.ts:3473 (opens new window)


# getValueForPixel

â–¸ getValueForPixel(pixel): number

Used to get the data value from a given pixel. This is the inverse of getPixelForValue +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
pixel number

# Returns

number

# Inherited from

Scale.getValueForPixel

# Defined in

index.esm.d.ts:1296 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Scale.hasValue

# Defined in

element.d.ts:11 (opens new window)


# init

â–¸ init(options): void

# Parameters

Name Type
options O

# Returns

void

# Inherited from

Scale.init

# Defined in

index.esm.d.ts:1306 (opens new window)


# isFullSize

â–¸ isFullSize(): boolean

# Returns

boolean

# Inherited from

Scale.isFullSize

# Defined in

index.esm.d.ts:1334 (opens new window)


# isHorizontal

â–¸ isHorizontal(): boolean

returns true if the layout item is horizontal (ie. top or bottom)

# Returns

boolean

# Inherited from

Scale.isHorizontal

# Defined in

layout.d.ts:58 (opens new window)


# parse

â–¸ parse(raw, index): unknown

# Parameters

Name Type
raw unknown
index number

# Returns

unknown

# Inherited from

Scale.parse

# Defined in

index.esm.d.ts:1307 (opens new window)


# setCenterPoint

â–¸ setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement): void

# Parameters

Name Type
leftMovement number
rightMovement number
topMovement number
bottomMovement number

# Returns

void

# Defined in

index.esm.d.ts:3470 (opens new window)


# setDimensions

â–¸ setDimensions(): void

# Returns

void

# Inherited from

Scale.setDimensions

# Defined in

index.esm.d.ts:1316 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Scale.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)


# update

â–¸ update(width, height, margins?): void

Takes two parameters: width and height.

# Parameters

Name Type
width number
height number
margins? ChartArea

# Returns

void

# Inherited from

Scale.update

# Defined in

layout.d.ts:64 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/RadialScaleTypeRegistry.html b/scriptApl/chart.js/dist/docs/api/interfaces/RadialScaleTypeRegistry.html new file mode 100644 index 00000000..2600cdd2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/RadialScaleTypeRegistry.html @@ -0,0 +1,53 @@ + + + + + + Interface: RadialScaleTypeRegistry | Chart.js + + + + + + + +

# Interface: RadialScaleTypeRegistry

# Hierarchy

# Properties

# radialLinear

• radialLinear: Object

# Type declaration

Name Type
options RadialLinearScaleOptions

# Defined in

index.esm.d.ts:3503 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Registry.html b/scriptApl/chart.js/dist/docs/api/interfaces/Registry.html new file mode 100644 index 00000000..b37cbe27 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Registry.html @@ -0,0 +1,54 @@ + + + + + + Interface: Registry | Chart.js + + + + + + + +

# Interface: Registry

Please use the module's default export which provides a singleton instance +Note: class is exported for typedoc

# Properties

# controllers

• Readonly controllers: TypedRegistry<DatasetController<keyof ChartTypeRegistry, Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData>>

# Defined in

index.esm.d.ts:1120 (opens new window)


# elements

• Readonly elements: TypedRegistry<Element<AnyObject, AnyObject>>

# Defined in

index.esm.d.ts:1121 (opens new window)


# plugins

• Readonly plugins: TypedRegistry<Plugin<keyof ChartTypeRegistry, AnyObject>>

# Defined in

index.esm.d.ts:1122 (opens new window)


# scales

• Readonly scales: TypedRegistry<Scale<CoreScaleOptions>>

# Defined in

index.esm.d.ts:1123 (opens new window)

# Methods

# add

â–¸ add(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1125 (opens new window)


# addControllers

â–¸ addControllers(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1128 (opens new window)


# addElements

â–¸ addElements(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1129 (opens new window)


# addPlugins

â–¸ addPlugins(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1130 (opens new window)


# addScales

â–¸ addScales(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1131 (opens new window)


# getController

â–¸ getController(id): DatasetController<keyof ChartTypeRegistry, Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData>

# Parameters

Name Type
id string

# Returns

DatasetController<keyof ChartTypeRegistry, Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, number | BarParsedData | CartesianParsedData | BubbleParsedData | RadialParsedData>

# Defined in

index.esm.d.ts:1133 (opens new window)


# getElement

â–¸ getElement(id): Element<AnyObject, AnyObject>

# Parameters

Name Type
id string

# Returns

Element<AnyObject, AnyObject>

# Defined in

index.esm.d.ts:1134 (opens new window)


# getPlugin

â–¸ getPlugin(id): Plugin<keyof ChartTypeRegistry, AnyObject>

# Parameters

Name Type
id string

# Returns

Plugin<keyof ChartTypeRegistry, AnyObject>

# Defined in

index.esm.d.ts:1135 (opens new window)


# getScale

â–¸ getScale(id): Scale<CoreScaleOptions>

# Parameters

Name Type
id string

# Returns

Scale<CoreScaleOptions>

# Defined in

index.esm.d.ts:1136 (opens new window)


# remove

â–¸ remove(...args): void

# Parameters

Name Type
...args ChartComponentLike[]

# Returns

void

# Defined in

index.esm.d.ts:1126 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScaleTypeRegistry.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScaleTypeRegistry.html new file mode 100644 index 00000000..5dc66088 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScaleTypeRegistry.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScaleTypeRegistry | Chart.js + + + + + + + +

# Interface: ScaleTypeRegistry

# Hierarchy

# Properties

# category

• category: Object

# Type declaration

Name Type
options CategoryScaleOptions

# Inherited from

CartesianScaleTypeRegistry.category

# Defined in

index.esm.d.ts:3491 (opens new window)


# linear

• linear: Object

# Type declaration

Name Type
options LinearScaleOptions

# Inherited from

CartesianScaleTypeRegistry.linear

# Defined in

index.esm.d.ts:3485 (opens new window)


# logarithmic

• logarithmic: Object

# Type declaration

Name Type
options LogarithmicScaleOptions

# Inherited from

CartesianScaleTypeRegistry.logarithmic

# Defined in

index.esm.d.ts:3488 (opens new window)


# radialLinear

• radialLinear: Object

# Type declaration

Name Type
options RadialLinearScaleOptions

# Inherited from

RadialScaleTypeRegistry.radialLinear

# Defined in

index.esm.d.ts:3503 (opens new window)


# time

• time: Object

# Type declaration

Name Type
options TimeScaleOptions

# Inherited from

CartesianScaleTypeRegistry.time

# Defined in

index.esm.d.ts:3494 (opens new window)


# timeseries

• timeseries: Object

# Type declaration

Name Type
options TimeScaleOptions

# Inherited from

CartesianScaleTypeRegistry.timeseries

# Defined in

index.esm.d.ts:3497 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScatterDataPoint.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScatterDataPoint.html new file mode 100644 index 00000000..3011dbde --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScatterDataPoint.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScatterDataPoint | Chart.js + + + + + + + +

# Interface: ScatterDataPoint

# Properties

# x

• x: number

# Defined in

index.esm.d.ts:228 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:229 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableCartesianScaleContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableCartesianScaleContext.html new file mode 100644 index 00000000..33a53079 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableCartesianScaleContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableCartesianScaleContext | Chart.js + + + + + + + +

# Interface: ScriptableCartesianScaleContext

# Properties

# scale

• scale: keyof CartesianScaleTypeRegistry

# Defined in

index.esm.d.ts:3051 (opens new window)


# type

• type: string

# Defined in

index.esm.d.ts:3052 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableChartContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableChartContext.html new file mode 100644 index 00000000..f0d6aabd --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableChartContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableChartContext | Chart.js + + + + + + + +

# Interface: ScriptableChartContext

# Properties

# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:3056 (opens new window)


# type

• type: string

# Defined in

index.esm.d.ts:3057 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableContext.html new file mode 100644 index 00000000..8d4aec95 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableContext | Chart.js + + + + + + + +

# Interface: ScriptableContext<TType>

# Type parameters

Name Type
TType extends ChartType

# Properties

# active

• active: boolean

# Defined in

index.esm.d.ts:19 (opens new window)


# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:20 (opens new window)


# dataIndex

• dataIndex: number

# Defined in

index.esm.d.ts:21 (opens new window)


# dataset

• dataset: UnionToIntersection<ChartDataset<TType, DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>>>

# Defined in

index.esm.d.ts:22 (opens new window)


# datasetIndex

• datasetIndex: number

# Defined in

index.esm.d.ts:23 (opens new window)


# mode

• mode: string

# Defined in

index.esm.d.ts:25 (opens new window)


# parsed

• parsed: UnionToIntersection<ParsedDataType<TType>>

# Defined in

index.esm.d.ts:26 (opens new window)


# raw

• raw: unknown

# Defined in

index.esm.d.ts:27 (opens new window)


# type

• type: string

# Defined in

index.esm.d.ts:24 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableLineSegmentContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableLineSegmentContext.html new file mode 100644 index 00000000..d46827f4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableLineSegmentContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableLineSegmentContext | Chart.js + + + + + + + +

# Interface: ScriptableLineSegmentContext

# Properties

# datasetIndex

• datasetIndex: number

# Defined in

index.esm.d.ts:36 (opens new window)


# p0

• p0: PointElement<PointProps, PointOptions>

# Defined in

index.esm.d.ts:32 (opens new window)


# p0DataIndex

• p0DataIndex: number

# Defined in

index.esm.d.ts:34 (opens new window)


# p1

• p1: PointElement<PointProps, PointOptions>

# Defined in

index.esm.d.ts:33 (opens new window)


# p1DataIndex

• p1DataIndex: number

# Defined in

index.esm.d.ts:35 (opens new window)


# type

• type: "segment"

# Defined in

index.esm.d.ts:31 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScaleContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScaleContext.html new file mode 100644 index 00000000..2437f8b6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScaleContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableScaleContext | Chart.js + + + + + + + +

# Interface: ScriptableScaleContext

# Properties

# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:1341 (opens new window)


# index

• index: number

# Defined in

index.esm.d.ts:1343 (opens new window)


# scale

• scale: Scale<CoreScaleOptions>

# Defined in

index.esm.d.ts:1342 (opens new window)


# tick

• tick: Tick

# Defined in

index.esm.d.ts:1344 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScalePointLabelContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScalePointLabelContext.html new file mode 100644 index 00000000..7aca5993 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableScalePointLabelContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableScalePointLabelContext | Chart.js + + + + + + + +

# Interface: ScriptableScalePointLabelContext

# Properties

# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Defined in

index.esm.d.ts:1348 (opens new window)


# index

• index: number

# Defined in

index.esm.d.ts:1350 (opens new window)


# label

• label: string

# Defined in

index.esm.d.ts:1351 (opens new window)


# scale

• scale: Scale<CoreScaleOptions>

# Defined in

index.esm.d.ts:1349 (opens new window)


# type

• type: string

# Defined in

index.esm.d.ts:1352 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableTooltipContext.html b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableTooltipContext.html new file mode 100644 index 00000000..a4682d09 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/ScriptableTooltipContext.html @@ -0,0 +1,53 @@ + + + + + + Interface: ScriptableTooltipContext | Chart.js + + + + + + + +

# Interface: ScriptableTooltipContext<TType>

# Type parameters

Name Type
TType extends ChartType

# Properties

# chart

• chart: Chart<TType, DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>, unknown>

# Defined in

index.esm.d.ts:2605 (opens new window)


# tooltip

• tooltip: TooltipModel<TType>

# Defined in

index.esm.d.ts:2606 (opens new window)


# tooltipItems

• tooltipItems: TooltipItem<TType>[]

# Defined in

index.esm.d.ts:2607 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Segment.html b/scriptApl/chart.js/dist/docs/api/interfaces/Segment.html new file mode 100644 index 00000000..ea236709 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Segment.html @@ -0,0 +1,53 @@ + + + + + + Interface: Segment | Chart.js + + + + + + + +

# Interface: Segment

# Properties

# end

• end: number

# Defined in

index.esm.d.ts:1707 (opens new window)


# loop

• loop: boolean

# Defined in

index.esm.d.ts:1708 (opens new window)


# start

• start: number

# Defined in

index.esm.d.ts:1706 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Tick.html b/scriptApl/chart.js/dist/docs/api/interfaces/Tick.html new file mode 100644 index 00000000..2f0c0ed2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Tick.html @@ -0,0 +1,53 @@ + + + + + + Interface: Tick | Chart.js + + + + + + + +

# Interface: Tick

# Properties

# label

• Optional label: string | string[]

# Defined in

index.esm.d.ts:1143 (opens new window)


# major

• Optional major: boolean

# Defined in

index.esm.d.ts:1144 (opens new window)


# value

• value: number

# Defined in

index.esm.d.ts:1142 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TickOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/TickOptions.html new file mode 100644 index 00000000..11665340 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TickOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: TickOptions | Chart.js + + + + + + + +

# Interface: TickOptions

# Properties

# backdropColor

• backdropColor: Scriptable<Color, ScriptableScaleContext>

Color of label backdrops.

default 'rgba(255, 255, 255, 0.75)'

# Defined in

index.esm.d.ts:2923 (opens new window)


# backdropPadding

• backdropPadding: number | ChartArea

Padding of tick backdrop.

default 2

# Defined in

index.esm.d.ts:2928 (opens new window)


# color

• color: ScriptableAndArray<Color, ScriptableScaleContext>

Color of tick

see Defaults.color

# Defined in

index.esm.d.ts:2943 (opens new window)


# display

• display: boolean

If true, show tick labels.

default true

# Defined in

index.esm.d.ts:2938 (opens new window)


# font

• font: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableScaleContext>

see Fonts

# Defined in

index.esm.d.ts:2947 (opens new window)


# major

• major: Object

# Type declaration

Name Type Description
enabled boolean If true, major ticks are generated. A major tick will affect autoskipping and major will be defined on ticks in the scriptable options context. default false

# Defined in

index.esm.d.ts:2973 (opens new window)


# padding

• padding: number

Sets the offset of the tick labels from the axis

# Defined in

index.esm.d.ts:2951 (opens new window)


# showLabelBackdrop

• showLabelBackdrop: Scriptable<boolean, ScriptableScaleContext>

If true, draw a background behind the tick labels.

default false

# Defined in

index.esm.d.ts:2956 (opens new window)


# textStrokeColor

• textStrokeColor: Scriptable<Color, ScriptableScaleContext>

The color of the stroke around the text.

default undefined

# Defined in

index.esm.d.ts:2961 (opens new window)


# textStrokeWidth

• textStrokeWidth: Scriptable<number, ScriptableScaleContext>

Stroke width around the text.

default 0

# Defined in

index.esm.d.ts:2966 (opens new window)


# z

• z: number

z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

default 0

# Defined in

index.esm.d.ts:2971 (opens new window)

# Methods

# callback

â–¸ callback(tickValue, index, ticks): string | number | string[] | number[]

Returns the string representation of the tick value as it should be displayed on the chart. See callback.

# Parameters

Name Type
tickValue string | number
index number
ticks Tick[]

# Returns

string | number | string[] | number[]

# Defined in

index.esm.d.ts:2933 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TimeScale.html b/scriptApl/chart.js/dist/docs/api/interfaces/TimeScale.html new file mode 100644 index 00000000..d4d1911a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TimeScale.html @@ -0,0 +1,58 @@ + + + + + + Interface: TimeScale | Chart.js + + + + + + + +

# Interface: TimeScale<O>

# Type parameters

Name Type
O extends TimeScaleOptions = TimeScaleOptions

# Hierarchy

  • Scale<O>

    ↳ TimeScale

# Properties

# active

• Readonly active: boolean

# Inherited from

Scale.active

# Defined in

element.d.ts:7 (opens new window)


# axis

• axis: string

# Inherited from

Scale.axis

# Defined in

index.esm.d.ts:1239 (opens new window)


# bottom

• bottom: number

Bottom edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.bottom

# Defined in

layout.d.ts:41 (opens new window)


# chart

• Readonly chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Inherited from

Scale.chart

# Defined in

index.esm.d.ts:1229 (opens new window)


# ctx

• Readonly ctx: CanvasRenderingContext2D

# Inherited from

Scale.ctx

# Defined in

index.esm.d.ts:1228 (opens new window)


# fullSize

• fullSize: boolean

if true, and the item is horizontal, then push vertical boxes down

# Inherited from

Scale.fullSize

# Defined in

layout.d.ts:17 (opens new window)


# height

• height: number

Height of item. Must be valid after update()

# Inherited from

Scale.height

# Defined in

layout.d.ts:25 (opens new window)


# id

• Readonly id: string

# Inherited from

Scale.id

# Defined in

index.esm.d.ts:1226 (opens new window)


# labelRotation

• labelRotation: number

# Inherited from

Scale.labelRotation

# Defined in

index.esm.d.ts:1240 (opens new window)


# left

• left: number

Left edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.left

# Defined in

layout.d.ts:29 (opens new window)


# max

• max: number

# Inherited from

Scale.max

# Defined in

index.esm.d.ts:1242 (opens new window)


# maxHeight

• maxHeight: number

# Inherited from

Scale.maxHeight

# Defined in

index.esm.d.ts:1232 (opens new window)


# maxWidth

• maxWidth: number

# Inherited from

Scale.maxWidth

# Defined in

index.esm.d.ts:1231 (opens new window)


# min

• min: number

# Inherited from

Scale.min

# Defined in

index.esm.d.ts:1241 (opens new window)


# options

• Readonly options: O

# Inherited from

Scale.options

# Defined in

element.d.ts:8 (opens new window)


# paddingBottom

• paddingBottom: number

# Inherited from

Scale.paddingBottom

# Defined in

index.esm.d.ts:1235 (opens new window)


# paddingLeft

• paddingLeft: number

# Inherited from

Scale.paddingLeft

# Defined in

index.esm.d.ts:1236 (opens new window)


# paddingRight

• paddingRight: number

# Inherited from

Scale.paddingRight

# Defined in

index.esm.d.ts:1237 (opens new window)


# paddingTop

• paddingTop: number

# Inherited from

Scale.paddingTop

# Defined in

index.esm.d.ts:1234 (opens new window)


# position

• position: LayoutPosition

The position of the item in the chart layout. Possible values are

# Inherited from

Scale.position

# Defined in

layout.d.ts:9 (opens new window)


• right: number

Right edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.right

# Defined in

layout.d.ts:37 (opens new window)


# ticks

• ticks: Tick[]

# Inherited from

Scale.ticks

# Defined in

index.esm.d.ts:1243 (opens new window)


# top

• top: number

Top edge of the item. Set by layout system and cannot be used in update

# Inherited from

Scale.top

# Defined in

layout.d.ts:33 (opens new window)


# type

• Readonly type: string

# Inherited from

Scale.type

# Defined in

index.esm.d.ts:1227 (opens new window)


# weight

• weight: number

The weight used to sort the item. Higher weights are further away from the chart area

# Inherited from

Scale.weight

# Defined in

layout.d.ts:13 (opens new window)


# width

• width: number

Width of item. Must be valid after update()

# Inherited from

Scale.width

# Defined in

layout.d.ts:21 (opens new window)


# x

• Readonly x: number

# Inherited from

Scale.x

# Defined in

element.d.ts:5 (opens new window)


# y

• Readonly y: number

# Inherited from

Scale.y

# Defined in

element.d.ts:6 (opens new window)

# Methods

# afterBuildTicks

â–¸ afterBuildTicks(): void

# Returns

void

# Inherited from

Scale.afterBuildTicks

# Defined in

index.esm.d.ts:1323 (opens new window)


# afterCalculateLabelRotation

â–¸ afterCalculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.afterCalculateLabelRotation

# Defined in

index.esm.d.ts:1329 (opens new window)


# afterDataLimits

â–¸ afterDataLimits(): void

# Returns

void

# Inherited from

Scale.afterDataLimits

# Defined in

index.esm.d.ts:1320 (opens new window)


# afterFit

â–¸ afterFit(): void

# Returns

void

# Inherited from

Scale.afterFit

# Defined in

index.esm.d.ts:1332 (opens new window)


# afterSetDimensions

â–¸ afterSetDimensions(): void

# Returns

void

# Inherited from

Scale.afterSetDimensions

# Defined in

index.esm.d.ts:1317 (opens new window)


# afterTickToLabelConversion

â–¸ afterTickToLabelConversion(): void

# Returns

void

# Inherited from

Scale.afterTickToLabelConversion

# Defined in

index.esm.d.ts:1326 (opens new window)


# afterUpdate

â–¸ afterUpdate(): void

# Returns

void

# Inherited from

Scale.afterUpdate

# Defined in

index.esm.d.ts:1314 (opens new window)


# beforeBuildTicks

â–¸ beforeBuildTicks(): void

# Returns

void

# Inherited from

Scale.beforeBuildTicks

# Defined in

index.esm.d.ts:1321 (opens new window)


# beforeCalculateLabelRotation

â–¸ beforeCalculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.beforeCalculateLabelRotation

# Defined in

index.esm.d.ts:1327 (opens new window)


# beforeDataLimits

â–¸ beforeDataLimits(): void

# Returns

void

# Inherited from

Scale.beforeDataLimits

# Defined in

index.esm.d.ts:1318 (opens new window)


# beforeFit

â–¸ beforeFit(): void

# Returns

void

# Inherited from

Scale.beforeFit

# Defined in

index.esm.d.ts:1330 (opens new window)


# beforeLayout

â–¸ Optional beforeLayout(): void

Called before the layout process starts

# Returns

void

# Inherited from

Scale.beforeLayout

# Defined in

layout.d.ts:46 (opens new window)


# beforeSetDimensions

â–¸ beforeSetDimensions(): void

# Returns

void

# Inherited from

Scale.beforeSetDimensions

# Defined in

index.esm.d.ts:1315 (opens new window)


# beforeTickToLabelConversion

â–¸ beforeTickToLabelConversion(): void

# Returns

void

# Inherited from

Scale.beforeTickToLabelConversion

# Defined in

index.esm.d.ts:1324 (opens new window)


# beforeUpdate

â–¸ beforeUpdate(): void

# Returns

void

# Inherited from

Scale.beforeUpdate

# Defined in

index.esm.d.ts:1312 (opens new window)


# buildTicks

â–¸ buildTicks(): Tick[]

# Returns

Tick[]

# Inherited from

Scale.buildTicks

# Defined in

index.esm.d.ts:1322 (opens new window)


# calculateLabelRotation

â–¸ calculateLabelRotation(): void

# Returns

void

# Inherited from

Scale.calculateLabelRotation

# Defined in

index.esm.d.ts:1328 (opens new window)


# configure

â–¸ configure(): void

# Returns

void

# Inherited from

Scale.configure

# Defined in

index.esm.d.ts:1313 (opens new window)


# determineDataLimits

â–¸ determineDataLimits(): void

# Returns

void

# Inherited from

Scale.determineDataLimits

# Defined in

index.esm.d.ts:1319 (opens new window)


# draw

â–¸ draw(chartArea): void

Draws the element

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.draw

# Defined in

layout.d.ts:50 (opens new window)


# drawGrid

â–¸ drawGrid(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawGrid

# Defined in

index.esm.d.ts:1248 (opens new window)


# drawLabels

â–¸ drawLabels(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawLabels

# Defined in

index.esm.d.ts:1247 (opens new window)


# drawTitle

â–¸ drawTitle(chartArea): void

# Parameters

Name Type
chartArea ChartArea

# Returns

void

# Inherited from

Scale.drawTitle

# Defined in

index.esm.d.ts:1246 (opens new window)


# fit

â–¸ fit(): void

# Returns

void

# Inherited from

Scale.fit

# Defined in

index.esm.d.ts:1331 (opens new window)


# generateTickLabels

â–¸ generateTickLabels(ticks): void

# Parameters

Name Type
ticks Tick[]

# Returns

void

# Inherited from

Scale.generateTickLabels

# Defined in

index.esm.d.ts:1325 (opens new window)


# getBasePixel

â–¸ getBasePixel(): number

Returns the pixel for the minimum chart value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Returns

number

# Inherited from

Scale.getBasePixel

# Defined in

index.esm.d.ts:1304 (opens new window)


# getBaseValue

â–¸ getBaseValue(): number

# Returns

number

# Inherited from

Scale.getBaseValue

# Defined in

index.esm.d.ts:1298 (opens new window)


# getDataTimestamps

â–¸ getDataTimestamps(): number[]

# Returns

number[]

# Defined in

index.esm.d.ts:3312 (opens new window)


# getDecimalForPixel

â–¸ getDecimalForPixel(pixel): number

# Parameters

Name Type
pixel number

# Returns

number

# Inherited from

Scale.getDecimalForPixel

# Defined in

index.esm.d.ts:1254 (opens new window)


# getLabelForValue

â–¸ getLabelForValue(value): string

Used to get the label to display in the tooltip for the given value

# Parameters

Name Type
value number

# Returns

string

# Inherited from

Scale.getLabelForValue

# Defined in

index.esm.d.ts:1274 (opens new window)


# getLabelTimestamps

â–¸ getLabelTimestamps(): string[]

# Returns

string[]

# Defined in

index.esm.d.ts:3313 (opens new window)


# getLabels

â–¸ getLabels(): string[]

# Returns

string[]

# Inherited from

Scale.getLabels

# Defined in

index.esm.d.ts:1311 (opens new window)


# getLineWidthForValue

â–¸ getLineWidthForValue(value): number

Returns the grid line width at given value

# Parameters

Name Type
value number

# Returns

number

# Inherited from

Scale.getLineWidthForValue

# Defined in

index.esm.d.ts:1279 (opens new window)


# getMatchingVisibleMetas

â–¸ getMatchingVisibleMetas(type?): ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Parameters

Name Type
type? string

# Returns

ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry>[]

# Inherited from

Scale.getMatchingVisibleMetas

# Defined in

index.esm.d.ts:1244 (opens new window)


# getMinMax

â–¸ getMinMax(canStack): Object

# Parameters

Name Type
canStack boolean

# Returns

Object

Name Type
max number
min number

# Inherited from

Scale.getMinMax

# Defined in

index.esm.d.ts:1309 (opens new window)


# getPadding

â–¸ Optional getPadding(): ChartArea

Returns an object with padding on the edges

# Returns

ChartArea

# Inherited from

Scale.getPadding

# Defined in

layout.d.ts:54 (opens new window)


# getPixelForDecimal

â–¸ getPixelForDecimal(decimal): number

Utility for getting the pixel location of a percentage of scale +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
decimal number

# Returns

number

# Inherited from

Scale.getPixelForDecimal

# Defined in

index.esm.d.ts:1261 (opens new window)


# getPixelForTick

â–¸ getPixelForTick(index): number

Returns the location of the tick at the given index +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
index number

# Returns

number

# Inherited from

Scale.getPixelForTick

# Defined in

index.esm.d.ts:1268 (opens new window)


# getPixelForValue

â–¸ getPixelForValue(value, index?): number

Returns the location of the given data point. Value can either be an index or a numerical value +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
value number
index? number

# Returns

number

# Inherited from

Scale.getPixelForValue

# Defined in

index.esm.d.ts:1288 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<unknown, P[number]>

# Type parameters

Name Type
P extends never[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<unknown, P[number]>

# Inherited from

Scale.getProps

# Defined in

element.d.ts:12 (opens new window)


# getTicks

â–¸ getTicks(): Tick[]

# Returns

Tick[]

# Inherited from

Scale.getTicks

# Defined in

index.esm.d.ts:1310 (opens new window)


# getUserBounds

â–¸ getUserBounds(): Object

# Returns

Object

Name Type
max number
maxDefined boolean
min number
minDefined boolean

# Inherited from

Scale.getUserBounds

# Defined in

index.esm.d.ts:1308 (opens new window)


# getValueForPixel

â–¸ getValueForPixel(pixel): number

Used to get the data value from a given pixel. This is the inverse of getPixelForValue +The coordinate (0, 0) is at the upper-left corner of the canvas

# Parameters

Name Type
pixel number

# Returns

number

# Inherited from

Scale.getValueForPixel

# Defined in

index.esm.d.ts:1296 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Scale.hasValue

# Defined in

element.d.ts:11 (opens new window)


# init

â–¸ init(options): void

# Parameters

Name Type
options O

# Returns

void

# Inherited from

Scale.init

# Defined in

index.esm.d.ts:1306 (opens new window)


# isFullSize

â–¸ isFullSize(): boolean

# Returns

boolean

# Inherited from

Scale.isFullSize

# Defined in

index.esm.d.ts:1334 (opens new window)


# isHorizontal

â–¸ isHorizontal(): boolean

returns true if the layout item is horizontal (ie. top or bottom)

# Returns

boolean

# Inherited from

Scale.isHorizontal

# Defined in

layout.d.ts:58 (opens new window)


# normalize

â–¸ normalize(values): number[]

# Parameters

Name Type
values number[]

# Returns

number[]

# Defined in

index.esm.d.ts:3314 (opens new window)


# parse

â–¸ parse(raw, index): unknown

# Parameters

Name Type
raw unknown
index number

# Returns

unknown

# Inherited from

Scale.parse

# Defined in

index.esm.d.ts:1307 (opens new window)


# setDimensions

â–¸ setDimensions(): void

# Returns

void

# Inherited from

Scale.setDimensions

# Defined in

index.esm.d.ts:1316 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Scale.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)


# update

â–¸ update(width, height, margins?): void

Takes two parameters: width and height.

# Parameters

Name Type
width number
height number
margins? ChartArea

# Returns

void

# Inherited from

Scale.update

# Defined in

layout.d.ts:64 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TitleOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/TitleOptions.html new file mode 100644 index 00000000..cf201562 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TitleOptions.html @@ -0,0 +1,54 @@ + + + + + + Interface: TitleOptions | Chart.js + + + + + + + +

# Interface: TitleOptions

# Properties

# align

• align: Align

Alignment of the title.

default 'center'

# Defined in

index.esm.d.ts:2410 (opens new window)


# color

• color: Color

Color of text

see Defaults.color

# Defined in

index.esm.d.ts:2425 (opens new window)


# display

• display: boolean

Is the title shown?

default false

# Defined in

index.esm.d.ts:2415 (opens new window)


# font

• font: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableChartContext>

# Defined in

index.esm.d.ts:2426 (opens new window)


# fullSize

• fullSize: boolean

Marks that this box should take the full width/height of the canvas (moving other boxes). If set to false, places the box above/beside the +chart area

default true

# Defined in

index.esm.d.ts:2433 (opens new window)


# padding

• padding: number | { bottom: number ; top: number }

Adds padding above and below the title text if a single number is specified. It is also possible to change top and bottom padding separately.

# Defined in

index.esm.d.ts:2437 (opens new window)


# position

• position: "left" | "right" | "bottom" | "top"

Position of title

default 'top'

# Defined in

index.esm.d.ts:2420 (opens new window)


# text

• text: string | string[]

Title text to display. If specified as an array, text is rendered on multiple lines.

# Defined in

index.esm.d.ts:2441 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/Tooltip.html b/scriptApl/chart.js/dist/docs/api/interfaces/Tooltip.html new file mode 100644 index 00000000..121bb9ff --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/Tooltip.html @@ -0,0 +1,76 @@ + + + + + + Interface: Tooltip | Chart.js + + + + + + + +

# Interface: Tooltip

# Hierarchy

# Properties

# id

• id: string

# Inherited from

Plugin.id

# Defined in

index.esm.d.ts:808 (opens new window)


# positioners

• Readonly positioners: TooltipPositionerMap

# Defined in

index.esm.d.ts:2549 (opens new window)

# Methods

# afterBuildTicks

â–¸ Optional afterBuildTicks(chart, args, options): void

desc Called after scale has build its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterBuildTicks

# Defined in

index.esm.d.ts:967 (opens new window)


# afterDataLimits

â–¸ Optional afterDataLimits(chart, args, options): void

desc Called after scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDataLimits

# Defined in

index.esm.d.ts:951 (opens new window)


# afterDatasetDraw

â–¸ Optional afterDatasetDraw(chart, args, options): void

desc Called after the chart datasets at the given args.index have been drawn +(datasets are drawn in the reverse order). Note that this hook will not be called +if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDatasetDraw

# Defined in

index.esm.d.ts:1049 (opens new window)


# afterDatasetUpdate

â–¸ Optional afterDatasetUpdate(chart, args, options): void

desc Called after the chart datasets at the given args.index has been updated. Note +that this hook will not be called if the datasets update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDatasetUpdate

# Defined in

index.esm.d.ts:926 (opens new window)


# afterDatasetsDraw

â–¸ Optional afterDatasetsDraw(chart, args, options, cancelable): void

desc Called after the chart datasets have been drawn. Note that this hook +will not be called if the datasets drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.
cancelable false -

# Returns

void

# Inherited from

Plugin.afterDatasetsDraw

# Defined in

index.esm.d.ts:1026 (opens new window)


# afterDatasetsUpdate

â–¸ Optional afterDatasetsUpdate(chart, args, options): void

desc Called after the chart datasets have been updated. Note that this hook +will not be called if the datasets update has been previously cancelled.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDatasetsUpdate

# Defined in

index.esm.d.ts:903 (opens new window)


# afterDestroy

â–¸ Optional afterDestroy(chart, args, options): void

Called after the chart has been destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDestroy

# Defined in

index.esm.d.ts:1102 (opens new window)


# afterDraw

â–¸ Optional afterDraw(chart, args, options): void

desc Called after the chart has been drawn. Note that this hook will not be called +if the drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterDraw

# Defined in

index.esm.d.ts:1009 (opens new window)


# afterEvent

â–¸ Optional afterEvent(chart, args, options): void

desc Called after the event has been consumed. Note that this hook +will not be called if the event has been previously discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable false -
args.changed? boolean -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterEvent

# Defined in

index.esm.d.ts:1072 (opens new window)


# afterInit

â–¸ Optional afterInit(chart, args, options): void

desc Called after chart has been initialized and before the first update.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterInit

# Defined in

index.esm.d.ts:847 (opens new window)


# afterLayout

â–¸ Optional afterLayout(chart, args, options): void

desc Called after the chart has been laid out. Note that this hook will not +be called if the layout update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterLayout

# Defined in

index.esm.d.ts:975 (opens new window)


# afterRender

â–¸ Optional afterRender(chart, args, options): void

desc Called after the chart has been fully rendered (and animation completed). Note +that this hook will not be called if the rendering has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterRender

# Defined in

index.esm.d.ts:992 (opens new window)


# afterTooltipDraw

â–¸ Optional afterTooltipDraw(chart, args, options): void

desc Called after drawing the tooltip. Note that this hook will not +be called if the tooltip drawing has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<keyof ChartTypeRegistry> The tooltip.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterTooltipDraw

# Defined in

index.esm.d.ts:2601 (opens new window)


# afterUpdate

â–¸ Optional afterUpdate(chart, args, options): void

desc Called after chart has been updated and before rendering. Note that this +hook will not be called if the chart update has been previously cancelled.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.afterUpdate

# Defined in

index.esm.d.ts:866 (opens new window)


# beforeBuildTicks

â–¸ Optional beforeBuildTicks(chart, args, options): void

desc Called before scale builds its ticks. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.beforeBuildTicks

# Defined in

index.esm.d.ts:959 (opens new window)


# beforeDataLimits

â–¸ Optional beforeDataLimits(chart, args, options): void

desc Called before scale data limits are calculated. This hook is called separately for each scale in the chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.scale Scale<CoreScaleOptions> The scale.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.beforeDataLimits

# Defined in

index.esm.d.ts:943 (opens new window)


# beforeDatasetDraw

â–¸ Optional beforeDatasetDraw(chart, args, options): boolean | void

desc Called before drawing the chart dataset at the given args.index (datasets +are drawn in the reverse order). If any plugin returns false, the datasets drawing +is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Inherited from

Plugin.beforeDatasetDraw

# Defined in

index.esm.d.ts:1038 (opens new window)


# beforeDatasetUpdate

â–¸ Optional beforeDatasetUpdate(chart, args, options): boolean | void

desc Called before updating the chart dataset at the given args.index. If any plugin +returns false, the datasets update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.index number The dataset index.
args.meta ChartMeta<Element<AnyObject, AnyObject>, Element<AnyObject, AnyObject>, keyof ChartTypeRegistry> The dataset metadata.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Inherited from

Plugin.beforeDatasetUpdate

# Defined in

index.esm.d.ts:915 (opens new window)


# beforeDatasetsDraw

â–¸ Optional beforeDatasetsDraw(chart, args, options): boolean | void

desc Called before drawing the chart datasets. If any plugin returns false, +the datasets drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart datasets drawing.

# Inherited from

Plugin.beforeDatasetsDraw

# Defined in

index.esm.d.ts:1018 (opens new window)


# beforeDatasetsUpdate

â–¸ Optional beforeDatasetsUpdate(chart, args, options): boolean | void

desc Called before updating the chart datasets. If any plugin returns false, +the datasets update is cancelled until another update is triggered.

since version 2.1.5

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode.
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the datasets update.

# Inherited from

Plugin.beforeDatasetsUpdate

# Defined in

index.esm.d.ts:893 (opens new window)


# beforeDestroy

â–¸ Optional beforeDestroy(chart, args, options): void

Called before the chart is being destroyed.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.beforeDestroy

# Defined in

index.esm.d.ts:1087 (opens new window)


# beforeDraw

â–¸ Optional beforeDraw(chart, args, options): boolean | void

desc Called before drawing chart at every animation frame. If any plugin returns false, +the frame drawing is cancelled untilanother render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart drawing.

# Inherited from

Plugin.beforeDraw

# Defined in

index.esm.d.ts:1001 (opens new window)


# beforeElementsUpdate

â–¸ Optional beforeElementsUpdate(chart, args, options): void

desc Called during the update process, before any chart elements have been created. +This can be used for data decimation by changing the data array inside a dataset.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.beforeElementsUpdate

# Defined in

index.esm.d.ts:874 (opens new window)


# beforeEvent

â–¸ Optional beforeEvent(chart, args, options): boolean | void

desc Called before processing the specified event. If any plugin returns false, +the event will be discarded.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.event ChartEvent The event object.
args.inChartArea boolean The event position is inside chartArea
args.replay boolean True if this event is replayed from Chart.update
options AnyObject The plugin options.

# Returns

boolean | void

# Inherited from

Plugin.beforeEvent

# Defined in

index.esm.d.ts:1060 (opens new window)


# beforeInit

â–¸ Optional beforeInit(chart, args, options): void

desc Called before initializing chart.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.beforeInit

# Defined in

index.esm.d.ts:840 (opens new window)


# beforeLayout

â–¸ Optional beforeLayout(chart, args, options): boolean | void

desc Called before laying out chart. If any plugin returns false, +the layout update is cancelled until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart layout.

# Inherited from

Plugin.beforeLayout

# Defined in

index.esm.d.ts:935 (opens new window)


# beforeRender

â–¸ Optional beforeRender(chart, args, options): boolean | void

desc Called before rendering chart. If any plugin returns false, +the rendering is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart rendering.

# Inherited from

Plugin.beforeRender

# Defined in

index.esm.d.ts:984 (opens new window)


# beforeTooltipDraw

â–¸ Optional beforeTooltipDraw(chart, args, options): boolean | void

desc Called before drawing the tooltip. If any plugin returns false, +the tooltip drawing is cancelled until another render is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.tooltip TooltipModel<keyof ChartTypeRegistry> The tooltip.
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart tooltip drawing.

# Inherited from

Plugin.beforeTooltipDraw

# Defined in

index.esm.d.ts:2592 (opens new window)


# beforeUpdate

â–¸ Optional beforeUpdate(chart, args, options): boolean | void

desc Called before updating chart. If any plugin returns false, the update +is cancelled (and thus subsequent render(s)) until another update is triggered.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.cancelable true -
args.mode "resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" The update mode
options AnyObject The plugin options.

# Returns

boolean | void

false to cancel the chart update.

# Inherited from

Plugin.beforeUpdate

# Defined in

index.esm.d.ts:857 (opens new window)


# destroy

â–¸ Optional destroy(chart, args, options): void

Called after the chart has been destroyed.

deprecated since version 3.7.0 in favour of afterDestroy

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.destroy

# Defined in

index.esm.d.ts:1095 (opens new window)


# install

â–¸ Optional install(chart, args, options): void

desc Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.install

# Defined in

index.esm.d.ts:817 (opens new window)


# reset

â–¸ Optional reset(chart, args, options): void

desc Called during chart reset

since version 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.reset

# Defined in

index.esm.d.ts:882 (opens new window)


# resize

â–¸ Optional resize(chart, args, options): void

desc Called after the chart as been resized.

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args Object The call arguments.
args.size Object The new canvas display size (eq. canvas.style width & height).
args.size.height number -
args.size.width number -
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.resize

# Defined in

index.esm.d.ts:1080 (opens new window)


# start

â–¸ Optional start(chart, args, options): void

desc Called when a plugin is starting. This happens when chart is created or plugin is enabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.start

# Defined in

index.esm.d.ts:825 (opens new window)


# stop

â–¸ Optional stop(chart, args, options): void

desc Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.stop

# Defined in

index.esm.d.ts:833 (opens new window)


# uninstall

â–¸ Optional uninstall(chart, args, options): void

Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).

since 3.0.0

# Parameters

Name Type Description
chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown> The chart instance.
args EmptyObject The call arguments.
options AnyObject The plugin options.

# Returns

void

# Inherited from

Plugin.uninstall

# Defined in

index.esm.d.ts:1110 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipCallbacks.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipCallbacks.html new file mode 100644 index 00000000..29b41a97 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipCallbacks.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipCallbacks | Chart.js + + + + + + + +

# Interface: TooltipCallbacks<TType, Model, Item>

# Type parameters

Name Type
TType extends ChartType
Model TooltipModel<TType>
Item TooltipItem<TType>

# Methods

# afterBody

â–¸ afterBody(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2564 (opens new window)


# afterFooter

â–¸ afterFooter(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2576 (opens new window)


# afterLabel

â–¸ afterLabel(tooltipItem): string | string[]

# Parameters

Name Type
tooltipItem Item

# Returns

string | string[]

# Defined in

index.esm.d.ts:2568 (opens new window)


# afterTitle

â–¸ afterTitle(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2561 (opens new window)


# beforeBody

â–¸ beforeBody(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2563 (opens new window)


# beforeFooter

â–¸ beforeFooter(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2574 (opens new window)


# beforeLabel

â–¸ beforeLabel(tooltipItem): string | string[]

# Parameters

Name Type
tooltipItem Item

# Returns

string | string[]

# Defined in

index.esm.d.ts:2566 (opens new window)


# beforeTitle

â–¸ beforeTitle(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2559 (opens new window)


â–¸ footer(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2575 (opens new window)


# label

â–¸ label(tooltipItem): string | string[]

# Parameters

Name Type
tooltipItem Item

# Returns

string | string[]

# Defined in

index.esm.d.ts:2567 (opens new window)


# labelColor

â–¸ labelColor(tooltipItem): TooltipLabelStyle

# Parameters

Name Type
tooltipItem Item

# Returns

TooltipLabelStyle

# Defined in

index.esm.d.ts:2570 (opens new window)


# labelPointStyle

â–¸ labelPointStyle(tooltipItem): Object

# Parameters

Name Type
tooltipItem Item

# Returns

Object

Name Type
pointStyle PointStyle
rotation number

# Defined in

index.esm.d.ts:2572 (opens new window)


# labelTextColor

â–¸ labelTextColor(tooltipItem): Color

# Parameters

Name Type
tooltipItem Item

# Returns

Color

# Defined in

index.esm.d.ts:2571 (opens new window)


# title

â–¸ title(tooltipItems): string | string[]

# Parameters

Name Type
tooltipItems Item[]

# Returns

string | string[]

# Defined in

index.esm.d.ts:2560 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipItem.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipItem.html new file mode 100644 index 00000000..bd68b311 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipItem.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipItem | Chart.js + + + + + + + +

# Interface: TooltipItem<TType>

# Type parameters

Name Type
TType extends ChartType

# Properties

# chart

• chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

The chart the tooltip is being shown on

# Defined in

index.esm.d.ts:2793 (opens new window)


# dataIndex

• dataIndex: number

Index of this data item in the dataset

# Defined in

index.esm.d.ts:2828 (opens new window)


# dataset

• dataset: UnionToIntersection<ChartDataset<TType, DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>>>

The dataset the item comes from

# Defined in

index.esm.d.ts:2818 (opens new window)


# datasetIndex

• datasetIndex: number

Index of the dataset the item comes from

# Defined in

index.esm.d.ts:2823 (opens new window)


# element

• element: Element<AnyObject, AnyObject>

The chart element (point, arc, bar, etc.) for this tooltip item

# Defined in

index.esm.d.ts:2833 (opens new window)


# formattedValue

• formattedValue: string

Formatted value for the tooltip

# Defined in

index.esm.d.ts:2813 (opens new window)


# label

• label: string

Label for the tooltip

# Defined in

index.esm.d.ts:2798 (opens new window)


# parsed

• parsed: UnionToIntersection<ParsedDataType<TType>>

Parsed data values for the given dataIndex and datasetIndex

# Defined in

index.esm.d.ts:2803 (opens new window)


# raw

• raw: unknown

Raw data values for the given dataIndex and datasetIndex

# Defined in

index.esm.d.ts:2808 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipLabelStyle.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipLabelStyle.html new file mode 100644 index 00000000..3c2e4372 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipLabelStyle.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipLabelStyle | Chart.js + + + + + + + +

# Interface: TooltipLabelStyle

# Properties

# backgroundColor

• backgroundColor: Color

# Defined in

index.esm.d.ts:2448 (opens new window)


# borderColor

• borderColor: Color

# Defined in

index.esm.d.ts:2447 (opens new window)


# borderDash

• Optional borderDash: [number, number]

Border dash

since 3.1.0

# Defined in

index.esm.d.ts:2460 (opens new window)


# borderDashOffset

• Optional borderDashOffset: number

Border dash offset

since 3.1.0

# Defined in

index.esm.d.ts:2466 (opens new window)


# borderRadius

• Optional borderRadius: number | BorderRadius

borderRadius

since 3.1.0

# Defined in

index.esm.d.ts:2472 (opens new window)


# borderWidth

• Optional borderWidth: number

Width of border line

since 3.1.0

# Defined in

index.esm.d.ts:2454 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipModel.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipModel.html new file mode 100644 index 00000000..b5beadf8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipModel.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipModel | Chart.js + + + + + + + +

# Interface: TooltipModel<TType>

# Type parameters

Name Type
TType extends ChartType

# Hierarchy

# Properties

# active

• Readonly active: boolean

# Inherited from

Element.active

# Defined in

element.d.ts:7 (opens new window)


# afterBody

• afterBody: string[]

# Defined in

index.esm.d.ts:2503 (opens new window)


# beforeBody

• beforeBody: string[]

# Defined in

index.esm.d.ts:2501 (opens new window)


# body

• body: { after: string[] ; before: string[] ; lines: string[] }[]

# Defined in

index.esm.d.ts:2499 (opens new window)


# caretX

• caretX: number

# Defined in

index.esm.d.ts:2490 (opens new window)


# caretY

• caretY: number

# Defined in

index.esm.d.ts:2491 (opens new window)


# chart

• Readonly chart: Chart<TType, DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>, unknown>

# Defined in

index.esm.d.ts:2475 (opens new window)


# dataPoints

• dataPoints: TooltipItem<TType>[]

# Defined in

index.esm.d.ts:2478 (opens new window)


• footer: string[]

# Defined in

index.esm.d.ts:2511 (opens new window)


# height

• height: number

# Defined in

index.esm.d.ts:2488 (opens new window)


# labelColors

• labelColors: TooltipLabelStyle[]

# Defined in

index.esm.d.ts:2514 (opens new window)


# labelPointStyles

• labelPointStyles: { pointStyle: PointStyle ; rotation: number }[]

# Defined in

index.esm.d.ts:2516 (opens new window)


# labelTextColors

• labelTextColors: Color[]

# Defined in

index.esm.d.ts:2515 (opens new window)


# opacity

• opacity: number

# Defined in

index.esm.d.ts:2519 (opens new window)


# options

• options: TooltipOptions<TType>

# Overrides

Element.options

# Defined in

index.esm.d.ts:2522 (opens new window)


# title

• title: string[]

# Defined in

index.esm.d.ts:2507 (opens new window)


# width

• width: number

# Defined in

index.esm.d.ts:2487 (opens new window)


# x

• x: number

# Overrides

Element.x

# Defined in

index.esm.d.ts:2485 (opens new window)


# xAlign

• xAlign: TooltipXAlignment

# Defined in

index.esm.d.ts:2481 (opens new window)


# y

• y: number

# Overrides

Element.y

# Defined in

index.esm.d.ts:2486 (opens new window)


# yAlign

• yAlign: TooltipYAlignment

# Defined in

index.esm.d.ts:2482 (opens new window)

# Methods

# getActiveElements

â–¸ getActiveElements(): ActiveElement[]

# Returns

ActiveElement[]

# Defined in

index.esm.d.ts:2524 (opens new window)


# getProps

â–¸ getProps<P>(props, final?): Pick<AnyObject, P[number]>

# Type parameters

Name Type
P extends string[]

# Parameters

Name Type
props P
final? boolean

# Returns

Pick<AnyObject, P[number]>

# Inherited from

Element.getProps

# Defined in

element.d.ts:12 (opens new window)


# hasValue

â–¸ hasValue(): boolean

# Returns

boolean

# Inherited from

Element.hasValue

# Defined in

element.d.ts:11 (opens new window)


# setActiveElements

â–¸ setActiveElements(active, eventPosition): void

# Parameters

Name Type
active ActiveDataPoint[]
eventPosition Point

# Returns

void

# Defined in

index.esm.d.ts:2525 (opens new window)


# tooltipPosition

â–¸ tooltipPosition(useFinalPosition?): Point

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Point

# Inherited from

Element.tooltipPosition

# Defined in

element.d.ts:10 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipOptions.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipOptions.html new file mode 100644 index 00000000..62e6ee86 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipOptions.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipOptions | Chart.js + + + + + + + +

# Interface: TooltipOptions<TType>

# Type parameters

Name Type
TType extends ChartType = ChartType

# Hierarchy

# Properties

# animation

• animation: AnimationSpec<TType>

# Defined in

index.esm.d.ts:2784 (opens new window)


# animations

• animations: AnimationsSpec<TType>

# Defined in

index.esm.d.ts:2785 (opens new window)


# axis

• axis: InteractionAxis

Defines which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes.

# Inherited from

CoreInteractionOptions.axis

# Defined in

index.esm.d.ts:1439 (opens new window)


# backgroundColor

• backgroundColor: Scriptable<Color, ScriptableTooltipContext<TType>>

Background color of the tooltip.

default 'rgba(0, 0, 0, 0.8)'

# Defined in

index.esm.d.ts:2642 (opens new window)


# bodyAlign

• bodyAlign: Scriptable<TextAlign, ScriptableTooltipContext<TType>>

Horizontal alignment of the body text lines.

default 'left'

# Defined in

index.esm.d.ts:2692 (opens new window)


# bodyColor

• bodyColor: Scriptable<Color, ScriptableTooltipContext<TType>>

Color of body

default '#fff'

# Defined in

index.esm.d.ts:2682 (opens new window)


# bodyFont

• bodyFont: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableTooltipContext<TType>>

See Fonts.

default {}

# Defined in

index.esm.d.ts:2687 (opens new window)


# bodySpacing

• bodySpacing: Scriptable<number, ScriptableTooltipContext<TType>>

Spacing to add to top and bottom of each tooltip item.

default 2

# Defined in

index.esm.d.ts:2677 (opens new window)


# borderColor

• borderColor: Scriptable<Color, ScriptableTooltipContext<TType>>

Color of the border.

default 'rgba(0, 0, 0, 0)'

# Defined in

index.esm.d.ts:2767 (opens new window)


# borderWidth

• borderWidth: Scriptable<number, ScriptableTooltipContext<TType>>

Size of the border.

default 0

# Defined in

index.esm.d.ts:2772 (opens new window)


# boxHeight

• boxHeight: Scriptable<number, ScriptableTooltipContext<TType>>

Height of the color box if displayColors is true.

default bodyFont.size

# Defined in

index.esm.d.ts:2757 (opens new window)


# boxPadding

• boxPadding: number

Padding between the color box and the text.

default 1

# Defined in

index.esm.d.ts:2647 (opens new window)


# boxWidth

• boxWidth: Scriptable<number, ScriptableTooltipContext<TType>>

Width of the color box if displayColors is true.

default bodyFont.size

# Defined in

index.esm.d.ts:2752 (opens new window)


# callbacks

• callbacks: TooltipCallbacks<TType, TooltipModel<TType>, TooltipItem<TType>>

# Defined in

index.esm.d.ts:2786 (opens new window)


# caretPadding

• caretPadding: Scriptable<number, ScriptableTooltipContext<TType>>

Extra distance to move the end of the tooltip arrow away from the tooltip point.

default 2

# Defined in

index.esm.d.ts:2727 (opens new window)


# caretSize

• caretSize: Scriptable<number, ScriptableTooltipContext<TType>>

Size, in px, of the tooltip arrow.

default 5

# Defined in

index.esm.d.ts:2732 (opens new window)


# cornerRadius

• cornerRadius: Scriptable<number | BorderRadius, ScriptableTooltipContext<TType>>

Radius of tooltip corner curves.

default 6

# Defined in

index.esm.d.ts:2737 (opens new window)


# displayColors

• displayColors: Scriptable<boolean, ScriptableTooltipContext<TType>>

If true, color boxes are shown in the tooltip.

default true

# Defined in

index.esm.d.ts:2747 (opens new window)


# enabled

• enabled: Scriptable<boolean, ScriptableTooltipContext<TType>>

Are on-canvas tooltips enabled?

default true

# Defined in

index.esm.d.ts:2615 (opens new window)


# footerAlign

• footerAlign: Scriptable<TextAlign, ScriptableTooltipContext<TType>>

Horizontal alignment of the footer text lines.

default 'left'

# Defined in

index.esm.d.ts:2717 (opens new window)


# footerColor

• footerColor: Scriptable<Color, ScriptableTooltipContext<TType>>

Color of footer

default '#fff'

# Defined in

index.esm.d.ts:2707 (opens new window)


# footerFont

• footerFont: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableTooltipContext<TType>>

See Fonts

default {weight: 'bold'}

# Defined in

index.esm.d.ts:2712 (opens new window)


# footerMarginTop

• footerMarginTop: Scriptable<number, ScriptableTooltipContext<TType>>

Margin to add before drawing the footer.

default 6

# Defined in

index.esm.d.ts:2702 (opens new window)


# footerSpacing

• footerSpacing: Scriptable<number, ScriptableTooltipContext<TType>>

Spacing to add to top and bottom of each footer line.

default 2

# Defined in

index.esm.d.ts:2697 (opens new window)


# includeInvisible

• includeInvisible: boolean

if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.

default false

# Inherited from

CoreInteractionOptions.includeInvisible

# Defined in

index.esm.d.ts:1445 (opens new window)


# intersect

• intersect: boolean

if true, the hover mode only applies when the mouse position intersects an item on the chart.

default true

# Inherited from

CoreInteractionOptions.intersect

# Defined in

index.esm.d.ts:1434 (opens new window)


# mode

• mode: keyof InteractionModeMap

Sets which elements appear in the tooltip. See Interaction Modes for details.

default 'nearest'

# Inherited from

CoreInteractionOptions.mode

# Defined in

index.esm.d.ts:1429 (opens new window)


# multiKeyBackground

• multiKeyBackground: Scriptable<Color, ScriptableTooltipContext<TType>>

Color to draw behind the colored boxes when multiple items are in the tooltip.

default '#fff'

# Defined in

index.esm.d.ts:2742 (opens new window)


# padding

• padding: Scriptable<number | ChartArea, ScriptableTooltipContext<TType>>

Padding to add to the tooltip

default 6

# Defined in

index.esm.d.ts:2722 (opens new window)


# position

• position: Scriptable<keyof TooltipPositionerMap, ScriptableTooltipContext<TType>>

The mode for positioning the tooltip

# Defined in

index.esm.d.ts:2623 (opens new window)


# rtl

• rtl: Scriptable<boolean, ScriptableTooltipContext<TType>>

true for rendering the legends from right to left.

# Defined in

index.esm.d.ts:2776 (opens new window)


# textDirection

• textDirection: Scriptable<string, ScriptableTooltipContext<TType>>

This will force the text direction 'rtl' or 'ltr on the canvas for rendering the tooltips, regardless of the css specified on the canvas

default canvas's default

# Defined in

index.esm.d.ts:2782 (opens new window)


# titleAlign

• titleAlign: Scriptable<TextAlign, ScriptableTooltipContext<TType>>

Horizontal alignment of the title text lines.

default 'left'

# Defined in

index.esm.d.ts:2672 (opens new window)


# titleColor

• titleColor: Scriptable<Color, ScriptableTooltipContext<TType>>

Color of title

default '#fff'

# Defined in

index.esm.d.ts:2652 (opens new window)


# titleFont

• titleFont: ScriptableAndScriptableOptions<Partial<FontSpec>, ScriptableTooltipContext<TType>>

See Fonts

default {weight: 'bold'}

# Defined in

index.esm.d.ts:2657 (opens new window)


# titleMarginBottom

• titleMarginBottom: Scriptable<number, ScriptableTooltipContext<TType>>

Margin to add on bottom of title section.

default 6

# Defined in

index.esm.d.ts:2667 (opens new window)


# titleSpacing

• titleSpacing: Scriptable<number, ScriptableTooltipContext<TType>>

Spacing to add to top and bottom of each title line.

default 2

# Defined in

index.esm.d.ts:2662 (opens new window)


# usePointStyle

• usePointStyle: Scriptable<boolean, ScriptableTooltipContext<TType>>

Use the corresponding point style (from dataset options) instead of color boxes, ex: star, triangle etc. (size is based on the minimum value between boxWidth and boxHeight)

default false

# Defined in

index.esm.d.ts:2762 (opens new window)


# xAlign

• xAlign: Scriptable<TooltipXAlignment, ScriptableTooltipContext<TType>>

Override the tooltip alignment calculations

# Defined in

index.esm.d.ts:2628 (opens new window)


# yAlign

• yAlign: Scriptable<TooltipYAlignment, ScriptableTooltipContext<TType>>

# Defined in

index.esm.d.ts:2629 (opens new window)

# Methods

# external

â–¸ external(args): void

See external tooltip section.

# Parameters

Name Type
args Object
args.chart Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>
args.tooltip TooltipModel<TType>

# Returns

void

# Defined in

index.esm.d.ts:2619 (opens new window)


# filter

â–¸ filter(e, index, array, data): boolean

# Parameters

Name Type
e TooltipItem<TType>
index number
array TooltipItem<TType>[]
data ChartData<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

boolean

# Defined in

index.esm.d.ts:2636 (opens new window)


# itemSort

â–¸ itemSort(a, b, data): number

Sort tooltip items.

# Parameters

Name Type
a TooltipItem<TType>
b TooltipItem<TType>
data ChartData<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>

# Returns

number

# Defined in

index.esm.d.ts:2634 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPosition.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPosition.html new file mode 100644 index 00000000..63129ee8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPosition.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipPosition | Chart.js + + + + + + + +

# Interface: TooltipPosition

# Properties

# x

• x: number

# Defined in

index.esm.d.ts:2529 (opens new window)


# xAlign

• Optional xAlign: TooltipXAlignment

# Defined in

index.esm.d.ts:2531 (opens new window)


# y

• y: number

# Defined in

index.esm.d.ts:2530 (opens new window)


# yAlign

• Optional yAlign: TooltipYAlignment

# Defined in

index.esm.d.ts:2532 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPositionerMap.html b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPositionerMap.html new file mode 100644 index 00000000..d5f84af9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TooltipPositionerMap.html @@ -0,0 +1,53 @@ + + + + + + Interface: TooltipPositionerMap | Chart.js + + + + + + + +

# Interface: TooltipPositionerMap

# Properties

# average

• average: TooltipPositionerFunction<keyof ChartTypeRegistry>

# Defined in

index.esm.d.ts:2542 (opens new window)


# nearest

• nearest: TooltipPositionerFunction<keyof ChartTypeRegistry>

# Defined in

index.esm.d.ts:2543 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/TypedRegistry.html b/scriptApl/chart.js/dist/docs/api/interfaces/TypedRegistry.html new file mode 100644 index 00000000..bf20e195 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/TypedRegistry.html @@ -0,0 +1,53 @@ + + + + + + Interface: TypedRegistry | Chart.js + + + + + + + +

# Interface: TypedRegistry<T>

# Type parameters

Name
T

# Methods

# get

â–¸ get(id): T

# Parameters

Name Type
id string

# Returns

T

# Defined in

index.esm.d.ts:1389 (opens new window)


# register

â–¸ register(item): string

# Parameters

Name Type
item ChartComponent

# Returns

string

The scope where items defaults were registered to.

# Defined in

index.esm.d.ts:1388 (opens new window)


# unregister

â–¸ unregister(item): void

# Parameters

Name Type
item ChartComponent

# Returns

void

# Defined in

index.esm.d.ts:1390 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/api/interfaces/VisualElement.html b/scriptApl/chart.js/dist/docs/api/interfaces/VisualElement.html new file mode 100644 index 00000000..bb46a002 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/api/interfaces/VisualElement.html @@ -0,0 +1,49 @@ + + + + + + Interface: VisualElement | Chart.js + + + + + + + +

# Interface: VisualElement

# Hierarchy

# Methods

# draw

â–¸ draw(ctx, area?): void

# Parameters

Name Type
ctx CanvasRenderingContext2D
area? ChartArea

# Returns

void

# Defined in

index.esm.d.ts:1685 (opens new window)


# getCenterPoint

â–¸ getCenterPoint(useFinalPosition?): Object

# Parameters

Name Type
useFinalPosition? boolean

# Returns

Object

Name Type
x number
y number

# Defined in

index.esm.d.ts:1689 (opens new window)


# getRange

â–¸ Optional getRange(axis): number

# Parameters

Name Type
axis "x" | "y"

# Returns

number

# Defined in

index.esm.d.ts:1690 (opens new window)


# inRange

â–¸ inRange(mouseX, mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Defined in

index.esm.d.ts:1686 (opens new window)


# inXRange

â–¸ inXRange(mouseX, useFinalPosition?): boolean

# Parameters

Name Type
mouseX number
useFinalPosition? boolean

# Returns

boolean

# Defined in

index.esm.d.ts:1687 (opens new window)


# inYRange

â–¸ inYRange(mouseY, useFinalPosition?): boolean

# Parameters

Name Type
mouseY number
useFinalPosition? boolean

# Returns

boolean

# Defined in

index.esm.d.ts:1688 (opens new window)

+ + + diff --git a/scriptApl/chart.js/dist/docs/assets/css/0.styles.7d07a4d1.css b/scriptApl/chart.js/dist/docs/assets/css/0.styles.7d07a4d1.css new file mode 100644 index 00000000..eafcdd4d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/css/0.styles.7d07a4d1.css @@ -0,0 +1 @@ +@import url(https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.1/css/all.min.css);svg[data-v-49140617]{position:absolute;right:7.5px;opacity:.75;cursor:pointer}svg.hover[data-v-49140617]{opacity:0}svg[data-v-49140617]:hover{opacity:1!important}span[data-v-49140617]{position:absolute;font-size:.85rem;line-height:.425rem;right:50px;opacity:0;transition:opacity .5s}.success[data-v-49140617]{opacity:1!important}.code-copy-added:hover>.code-copy svg{opacity:.75}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#404244}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3080d0}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3080d0}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active{color:#3080d0}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3080d0;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.versions-dropdown[data-v-3dd359e2]{display:inline-block;position:relative;outline:none}:not(.nav-links)>.versions-dropdown[data-v-3dd359e2]{margin:8px 16px}.versions-dropdown[data-v-3dd359e2] .dropdown-title,.versions-dropdown[data-v-3dd359e2] .dropdown-wrapper{outline:none}.versions-dropdown[data-v-3dd359e2] .dropdown-title .nav-dropdown,.versions-dropdown[data-v-3dd359e2] .dropdown-wrapper .nav-dropdown{right:auto}.versions-dropdown[data-v-3dd359e2] .nav-link{color:inherit}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{height:15px;bottom:0}.ps__rail-x,.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;position:absolute}.ps__rail-y{width:15px;right:0}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}.ps{position:relative}.theme-default-content code{color:#65686b;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3080d0}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#404244}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#404244}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:768px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#404244}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:4.25rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:4.25rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:4.25rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3080d0}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.75rem;padding-top:5.25rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:4.25rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:transparent!important}.prism-editor__textarea:focus{outline:none!important}.text-muted{opacity:.5!important}.text-error{color:#e05025!important}.theme-container .navbar .nav-link,.theme-container .navbar .repo-link,.theme-container .sidebar .nav-link,.theme-container .sidebar .repo-link{font-weight:700}.theme-container .navbar{box-shadow:0 8px 8px -10px rgba(0,0,0,.15);border:none}.theme-container .navbar .nav-links{margin-left:1rem}.theme-container .navbar .nav-links :first-child{margin-left:0}.theme-container .navbar .nav-links .nav-link:not(.external){border-bottom-width:4px;margin-top:-20px;padding-top:20px;padding-bottom:20px}.theme-container .navbar .logo{margin-right:.5rem;margin-top:.25rem;min-width:2.5rem;height:2.5rem}.theme-container .navbar .site-name{color:#ff6384;font-size:1.1rem}.theme-container .navbar .sidebar-button{margin:.375rem 0;height:auto;width:auto}.theme-container .search-box input{background-color:#f4f4f4;background-position:.75rem .55rem;border-radius:8px;border-color:transparent;border-width:2px;padding-left:2.2rem;height:2.2rem}.theme-container .search-box input:hover{border-color:rgba(0,0,0,.2);background-color:#fff}.theme-container .search-box input:focus{border-color:rgba(48,128,208,.8);background-color:#fff}.theme-container .sidebar{border-right:1px dashed #eee}.theme-container .sidebar .sidebar-heading,.theme-container .sidebar .sidebar-link{transition:border-color .25s;padding:.35rem 1.475rem}.theme-container .sidebar .sidebar-heading.active,.theme-container .sidebar .sidebar-link.active{font-weight:700}.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading,.theme-container .sidebar>.sidebar-links>li>.sidebar-link{align-items:center;display:flex;border:none}.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-link:before{content:"\2981";font-size:1.25rem;margin-right:.75rem;line-height:0;opacity:.25}.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading.open,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link.open,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading.open,.theme-container .sidebar>.sidebar-links>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-link.open{color:#3080d0}.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading.active:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading.open:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link.active:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link.open:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading.active:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading.open:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-link.active:before,.theme-container .sidebar>.sidebar-links>li>.sidebar-link.open:before{opacity:1}.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-heading .arrow,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-link .arrow,.theme-container .sidebar>.sidebar-links>li>.sidebar-heading .arrow,.theme-container .sidebar>.sidebar-links>li>.sidebar-link .arrow{display:none}.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers{padding-left:1.75rem}.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-link,.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-sub-headers,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-link,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-sub-headers,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-link,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-sub-headers,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-link,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-sub-headers{border-left:1px solid rgba(48,128,208,.25)}.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-sub-headers.active{border-left-color:#3080d0}.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-link:hover,.theme-container .sidebar>.sidebar-links>li>.sidebar-group-items>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-link:hover,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-group-items>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-link:hover,.theme-container .sidebar>.sidebar-links>li>.sidebar-group>.sidebar-sub-headers>li>.sidebar-sub-headers.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-link.active,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-link:hover,.theme-container .sidebar>.sidebar-links>li>.sidebar-sub-headers>li>.sidebar-sub-headers.active{border-left-width:3px;margin-left:-1px;padding-left:calc(1.475rem - 1px)}.theme-container .home .hero h1{font-size:2.5rem;font-weight:700;margin-bottom:.75rem}.theme-container .home .hero .description{font-size:1.5rem;margin-top:.75rem;margin-bottom:3rem}.theme-default-content:not(.custom){padding-top:2.86875rem}.theme-default-content a .icon.outbound{margin-left:2px}.theme-default-content a .sr-only{display:none}.theme-default-content a img+span>.icon.outbound{display:none}.theme-default-content a code{color:#3080d0!important}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{font-weight:700}.theme-default-content h2{border-bottom-style:dashed}.theme-default-content sup{font-size:.75em!important}.theme-default-content td>a{align-items:center;display:inline-flex}.tabs-component{margin:2em 0}.tabs-component-tabs{border:1px solid #ddd;border-radius:6px;margin-bottom:5px;padding-left:0}.tabs-component-tab{color:#999;font-size:14px;font-weight:600;margin-right:0;list-style:none}.tabs-component-tab:hover{color:#666}.tabs-component-tab.is-active{color:#3080d0}.tabs-component-tab.is-disabled *{color:#cdcdcd;cursor:not-allowed!important}.tabs-component-tab-a{align-items:center;color:inherit;display:flex;padding:.25em .5em;text-decoration:none}.tabs-component-panels{padding:1em 0}@media (min-width:700px){.tabs-component-tabs{border:0;align-items:stretch;display:flex;justify-content:flex-start;margin-bottom:-1px}.tabs-component-tab{background-color:#fff;border:1px solid #ddd;border-radius:3px 3px 0 0;margin-right:.25em;transition:transform .3s ease}.is-active{border-bottom:1px solid #fff;z-index:2;transform:translateY(0)}.tabs-component-panels{border-top-left-radius:0;background-color:#fff;border:1px solid #ddd;border-radius:0 6px 6px 6px;box-shadow:0 0 10px rgba(0,0,0,.05);padding:1em}}.theme-default-content:not(.custom){max-width:unset}.theme-default-content .chart-view{max-width:800px}.sidebar-group.is-sub-group.depth-1>.sidebar-group-items{border-left:1px solid rgba(48,128,208,.25)}.sidebar-group.is-sub-group.depth-1>.sidebar-heading:not(.open){border-left:1px solid rgba(48,128,208,.25);margin-left:0}.sidebar-group.is-sub-group.depth-1>.sidebar-heading{transition:border-color .25s;padding:.35rem 1.475rem;border-left-width:3px;margin-left:-1px;font-size:1em;line-height:1.4;opacity:1!important}.sidebar-group.is-sub-group.depth-1>.sidebar-heading.active,.sidebar-group.is-sub-group.depth-1>.sidebar-heading.open{border-left-color:#3080d0;color:#3080d0;font-weight:700}.sidebar-group.is-sub-group.depth-1>.sidebar-heading>.arrow{display:none}.sidebar-group.is-sub-group.depth-1>.sidebar-heading>.sidebar-group-items{padding-left:0}.sidebar-group.is-sub-group.depth-1:hover .sidebar-heading:not(.open){color:#3080d0;margin-left:-1px;border-left:3px solid rgba(48,128,208,.25);padding-left:calc(1.475rem - 1px)}#nprogress{pointer-events:none}#nprogress .bar{background:#3080d0;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3080d0,0 0 5px #3080d0;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3080d0 transparent transparent #3080d0;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:4.25rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#8a8e91}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3080d0;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #2b73bc}.home .hero .action-button:hover{background-color:#458dd5}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#525557}.home .feature p{color:#6e7175}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#6e7175}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#6e7175;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/docs/3.9.1/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3080d0}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#808488}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3080d0}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.search-box input{border-radius:.4rem}.search-box input:focus{width:15rem}.search-box .suggestions{top:1.5rem;border-radius:.6rem}.search-box .suggestion{padding:.6rem 1rem}.search-box .suggestion a em{color:#3080d0;font-weight:700;font-style:normal}.search-box .suggestion a .suggestion__title{font-weight:600;color:#404244;display:block;padding-bottom:.4rem}.search-box .suggestion a .suggestion__text{font-size:.9em}.search-box .suggestion.focused{background-color:#f1f6fc}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3080d0}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#404244}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #418ad4}}.navbar{padding:.7rem 1.5rem;line-height:2.85rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.85rem;min-width:2.85rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#404244;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:768px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#6e7175;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#6e7175}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:768px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#404244;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#3080d0;border-left-color:#3080d0}.sidebar-heading.clickable:hover{color:#3080d0}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#404244;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3080d0}a.sidebar-link.active{font-weight:600;color:#3080d0;border-left-color:#3080d0}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.chart-actions[data-v-2afd21f1]{align-items:center;display:flex;flex-wrap:wrap}.chart-action[data-v-2afd21f1]{transition:background .25s,border-color .25s;background:rgba(40,44,52,.05);border:1px solid transparent;border-radius:6px;color:#3080d0;text-decoration:none!important;display:inline-block;font-size:.8rem;padding:8px 16px;margin:0 8px 8px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-action[data-v-2afd21f1]:hover{background:rgba(48,128,208,.15);border-color:rgba(48,128,208,.2);color:#3080d0}.chart-action[data-v-2afd21f1]:active{background:rgba(48,128,208,.3);border-color:rgba(48,128,208,.4);color:#3080d0}.editor-output[data-v-42be9875]{color:#e0e0e0;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.85em;line-height:1.5;height:inherit}.editor-output-content[data-v-42be9875]{padding:16px 24px}.editor-output-content>span[data-v-42be9875]{white-space:pre-wrap;position:relative;display:block;margin-left:5px;opacity:.25}.editor-output-content>span[data-v-42be9875]:first-child:before{content:">";font-weight:700;position:absolute;opacity:.5;left:-15px}.editor-output-content>span[data-v-42be9875]:first-child{opacity:1}.editor-output-content>span[data-v-42be9875]:nth-child(2){opacity:.95}.editor-output-content>span[data-v-42be9875]:nth-child(3){opacity:.9}.editor-output-content>span[data-v-42be9875]:nth-child(4){opacity:.85}.editor-output-content>span[data-v-42be9875]:nth-child(5){opacity:.8}.editor-output-content>span[data-v-42be9875]:nth-child(6){opacity:.75}.editor-output-content>span[data-v-42be9875]:nth-child(7){opacity:.7}.editor-output-content>span[data-v-42be9875]:nth-child(8){opacity:.65}.editor-output-content>span[data-v-42be9875]:nth-child(9){opacity:.6}.editor-output-content>span[data-v-42be9875]:nth-child(10){opacity:.55}.editor-output-content>span[data-v-42be9875]:nth-child(11){opacity:.5}.editor-output-content>span[data-v-42be9875]:nth-child(12){opacity:.45}.editor-output-content>span[data-v-42be9875]:nth-child(13){opacity:.4}.editor-output-content>span[data-v-42be9875]:nth-child(14){opacity:.35}.editor-output-content>span[data-v-42be9875]:nth-child(15){opacity:.3}.editor-output-content>span[data-v-42be9875]:nth-child(16){opacity:.25}.prism-editor-wrapper{width:100%;height:100%;display:flex;align-items:flex-start;overflow:auto;-o-tab-size:1.5em;tab-size:1.5em;-moz-tab-size:1.5em}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.prism-editor-wrapper .prism-editor__textarea{color:transparent!important}.prism-editor-wrapper .prism-editor__textarea::-moz-selection{background-color:#accef7!important;color:transparent!important}.prism-editor-wrapper .prism-editor__textarea::selection{background-color:#accef7!important;color:transparent!important}}.prism-editor-wrapper .prism-editor__container{position:relative;text-align:left;box-sizing:border-box;padding:0;overflow:hidden;width:100%}.prism-editor-wrapper .prism-editor__line-numbers{height:100%;overflow:hidden;flex-shrink:0;padding-top:4px;margin-top:0;margin-right:10px}.prism-editor-wrapper .prism-editor__line-number{text-align:right;white-space:nowrap}.prism-editor-wrapper .prism-editor__textarea{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.prism-editor-wrapper .prism-editor__editor,.prism-editor-wrapper .prism-editor__textarea{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;-o-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:pre-wrap;word-wrap:keep-all;overflow-wrap:break-word;padding:0}.prism-editor-wrapper .prism-editor__textarea--empty{-webkit-text-fill-color:inherit!important}.prism-editor-wrapper .prism-editor__editor{position:relative;pointer-events:none}.editor-textarea[data-v-05f11386]{color:#e0e0e0;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.85em;line-height:1.5;height:inherit}.editor-textarea[data-v-05f11386]:before{margin-right:8px;margin-top:4px}.editor-textarea .prism-editor-wrapper[data-v-05f11386]{overflow:visible}.editor-textarea-content[data-v-05f11386]{padding:16px 24px}.tooltip[data-v-402b0086]{position:relative}.tooltip .content[data-v-402b0086]{background:#eee;color:#444;box-shadow:0 4px 8px 0 rgba(0,0,0,.15);border-radius:6px;display:none;font-size:.8rem;position:absolute;min-width:256px;max-width:512px;max-height:256px;z-index:999;right:0}.tooltip:hover .content[data-v-402b0086]{display:block}.tooltip[data-v-402b0086] pre{background:none;overflow:visible;padding:0 16px}.code-editor[data-v-66ca8197]{background-color:#282c34;border-radius:6px}@media (max-width:419px){.code-editor[data-v-66ca8197]{border-radius:0!important;margin:0 -1.5rem}}.code-editor-header[data-v-66ca8197]{background:hsla(0,0%,100%,.02);padding:0 16px;display:flex}.code-editor-header .code-editor-tab[data-v-66ca8197],.code-editor-header .code-editor-tool[data-v-66ca8197]{margin:0 8px}.code-editor-tabs[data-v-66ca8197]{align-items:center;display:flex;flex:1}.code-editor-tab[data-v-66ca8197]{background:none;border:none;border-bottom:2px solid transparent;color:#e0e0e0;text-transform:capitalize;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:700;cursor:pointer;padding:20px 4px 18px}.code-editor-tab[data-v-66ca8197]:focus{outline:none}.code-editor-tab.active[data-v-66ca8197]{border-bottom-color:#3080d0}.code-editor-tools[data-v-66ca8197]{align-items:center;display:flex;padding:16px 0}.code-editor-tool[data-v-66ca8197]{color:#e0e0e0;text-decoration:none!important}.code-editor-views[data-v-66ca8197]{height:360px}.chart-actions[data-v-365c20ab],.chart-view[data-v-365c20ab]{margin:16px 0}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff;background-color:#42b983}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983} \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/img/destroy_flowchart.10814816.png b/scriptApl/chart.js/dist/docs/assets/img/destroy_flowchart.10814816.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d5cbab51e88aa1259dc0564fe7c3415087c84e GIT binary patch literal 18626 zcmc$_2UJtvw=Nn4L`6kKK~xYdSU^ZZ3Q<8)Aw40a3TjC2z1py1K}A3iyJDw^A}C-- zDJphBRImURiYSP^yv_gjKX;t_-nr-9G2Xc2WssfiT5GSp)?90T^P6)`H!^6kBZf^F z1_FUb5aV$1z^?-Y8st4>FmN|@SVow8 za(Vkgy0SO7Ks6p-iIvcZcvWFwntFu0ku;*-XGKEdjVdz(8>X2Dk$%5U_u4 z?FiT`paiYgt0i1XGFbtQ1S(}Z6bsy|6)Fkv6Dtv^bOVoIg4W*FIQF&ZnBaTQFXP_9KHu?mtDqtsjNL^vF5mr218 z1cE8HinT^D*dDKiMZz3PFhfbDn#nXHoetx}UE6HQm58LAYol2f|Sy7%aG)rqso=kZh}s#8fa18m>&OAu%Ii94Z9s z#K%WK7!f!p7{XNxGS#S0+7y@_m)lE7G`$sq%zLc)-w zcq!gsI!FftP8$*i%;&=xWd%)vVCDqOrS872{_Wl(}x$c7WxHV2ZMAP01c5TS*MwFsk= zYy&&-4jWsjBBB5kz(A3}1^A=W>>@y=2`~whD^bd%YM@Ndj<-m-3X#f=GDnc0LIow+ zz@P}pe6u3f0n}Rw6fg!VqbAt#Y6eQiq{Eyzi49^FP|Oip4UbCHvuLrgVxU(MPrao zR-D2lj3gT$y81;8ApJEWoDaB#I>Lk=yGkWnoN!38zPNyv3Op*gf67=W3kjYXEKgT zp`+9SMglgL&Zb3RNRCJ|UrZHR=@DQu4=0q1EZ3Xwfcl)20W4h(bMEAssSkDLHOi|2r*3) ziPqsQ5j?9-W2P8&W}_@V!h|()@i-+`GO+Q$ut+n0-~kf{$rLascA_GgZPzeNXoEz+ zjWyvh2pGu*!K*ncqtJ|tgK7u_ja?%qA_SB;v`nTGD1^xga)<CkGfelfb^gx+~m8{0=kw%G9Ou^IXShSL2Vv3+Bw#6V;GY516 z*w7FoLu%xrU~&?LKtkK~Xf7gBE0k-N3|Xp1gKF4F_=_jwV3M=DUd2GmS$%-SY)OWN|O`NHkQOGk=bcXGgZb$ z^CWzt!Ys03FhUI#olHQ*isJ1wpdZJ;8x#20xHtos8mB@itU`;y#@86BNHrZxa$-1a zNNlV@Lx?0{^|1swM_{8GW7RqVfo?+s3qUaFq+A?IYd7LJBpQTnMOb)r2wcEmu}vbG zfrBAA86p#4Dj_@))xl$P60{sDizZSEgg7HL(!qeoX`xUY5o~grm=dzgB(g~2!FG%T zuh7e-v2-p59^qhFG!9$>PsSvm%xDTuNU<{|wn(KKoNU#Z#bk+!p;HRUIwvs}!eS@G zNhEb-f-PReP1f0{rg%GvC**4RsK_`ZoMez`pcDY$2`nuk5{gABr5wIM#&9}#fWl%T zsIfFogaF4Pk$6xkf}&Dku=WI8f{X)HN^puusGN+_u#xAGBMmftBm*r4TA0xc2wyXxJH|K`luN)%jb?xY5wyt;Y$QU= zL;JtaeCcS}dLdHjq(q zu_{w6#R1q^j1qxxBH=8Edf+J;Kq7JfTi}j}vqv!581ozz!+~E6*TyE$0nquc!QG-4 z3(fzctpKm&*u@eA5k_FZAUrK!O2p&z0**CVBaSdj^ z$Yd;nQzyp{*h?CW$%K=zbctwymBmM5;;b^d9$4G~`C%|B;D(6Dlj(Lryb@=X@sJFY z%9(7^8Y2ZZ7KJ1NSO_5&i$>w~B$QK0aIlDS16D)F;}Xn#1Y1SIDI5vLcv3_xRZ7vv z%D`%@z+x5474afq4KX^rQjft}7-G4BFtGVxd@SA0F~Q2mY)YH}AFqg|Ayp8v1+R~b9ndziEmjEpa8O8@LO>-`ND5peQ_r->u}-X7 zPKt}Ap^XGyLP8u0XBybLI+2nKNESn&1OI@+H8{1A63bNTO&SH2C<7RsF(Oh!5U^ly zqXTEez!Yi{9ujGT4e$lv39w9rkT6gXDM`xGAjAW-)C|XQDLB3khZYc%4Fn^CC>1~j z7#yD?i%{TM#AE>xq99<1LV$2{AUquh2L}uFQi@stC9>j^DH4v^5P^v0vkVe3krPXg z6{_T56`IT;bBJi0fML|w1W+0kECu5QYKMRtPq$N4I+&Ja$Iv6=okls?3TKF%ECpcW zfZ=cfT4#!kjHh66cs0{0Gw=z9csp8zV4;*IlQEuU6WJ(qk_BTzgPCR#*dO|u;j^LKH#pRELaV|iD5()9B&8Q0*4Jvfr;gD(gd!IBvp#g3@}Tk zv!mji11kbylc`d)2ntnUj06GBgeIG9aRa89YSNflG%bf^GI06wSPNg`aLPCivKgUM z$LVQ06&`6c{tHUuND?|DULvD127r|WhuK(01I{Y6nJG#=SHZW4kzgB74kekz8XF{n zDB#*q3^L&38X#;rQ*QwSvyu(4aD^Pt70~2pz<1O@*#c~GvYcw7vl1u_JTsEWBWQ7O z2OCdPnB-1~T&U#G#P|Ug$pSVpA;HKb;2;)Z1VU`!VaNkTK!8B4M&h^xtynLBLn+B7 zCo_(nz?UiPhB&>7$zeH_Mp-h2iWM;g5;Q`cptqnPG8{cwps-V|LZXZv2@#-hVv|rz zkyBA!-HdEzLn#~YcY&=wBkiyMUyV&fs0QNH8AklCPPOMRDgixU32rSyBCdtVnmQq8A zKq`q6qD;ai8=OukpC{8NtC%n>NobG>lVKPpVnAvM$_SE;>6F4r45Zo#(Z(Uv3<}?% zmysKsAMK!p>RAvXH`NI1P;&>f_}hqBna_pNzy|AMk5u9HA0e}YO)GRLN*wz6-Y>OB}@;eX=E&s!e*1hC{#%@ zkLGN9sc6g@ZDVpl*S#Boxb zFEg6$uW$9WbZ_IMd1CIjMM}&gdY^E#^oj!lDESBv^{n z7(@wX3N>Dk5Dzqz#v1Gf7)_|5VT4ct6T(hlbC4_(FOs7JSQ{X44K9|3jm2{nV5!Vz z9ngNB!C|8eI9R}+&Pt19P|$P?M}oAgqzP0z4-G+^q-MUz5KoPZaG+5f4N)ML37{yg zL5J2R>x>w?48n3KIeaj}%C>XR5du2csNs<8Vmk>;cLN|;o$F48~-CP=_T81WS0z{X$*l5s3C1{{H5nba^ITpYpn)BUZq{HcSEwFvMssUxEQN-4;o=Vk2x8m5ph^${~0* zSsEKJA(4z~2rEINRYc(UVm^&e6;TZWHI0ZC8wnyY0FoM**$Oa0U;w~hoDxoB*drpT z5C|g@CUsh&91VphW#HnuD6laWVdQBYv0Njt?Wraw2M@%XU~w9iz@Rj1Vg)dcP^5q| ztsF8`0HZs&V7xPdZ-T^9Vi7W(6ABTC;RwE%D<(;?l1L*1h!l{K4l97KTGGI}LI?aG zj7bKjnv-!lBoZkwL*mVH5yWm|OOY6d5Nc2*vpEnolMIVvDF$#8oWS642xcaO52mqL zP<^CbFIU7unFc;E7YvOfLM8w=JTTdbFwjYHJPpoB0vu!lzr`?Tm)zIM}V( zwal^gfB1~5dB;6I`z5%I8Kn;zHHc8_v3(rlTIvtjFZX>r`_hU+@6NpG9A$2j!+x&1 zHJW0b9wtwnHYzwh=*`||yPt7(eecNqkX!Vj!(?0{J(;g-UfjI!@#Du|t5f>7hJtGK zbN7C;CE09W+XJ@A7+h{6Xj@I|yZ7(Q1A~L#c%)Xn+PHc1yl#CY?Rs@}fTgl|CGZ^q zN?B>)#FNw9Cu9x$0KMJLUSZ{VRsC zj#5w#K%CsU^X9!xjZbZPyK|6{M7p`q&(H7NrT&J68=cSJb`(x4?0>cVOVror4_oft z`zR!nZ$%02HdZcs6jYg5wBWg+#vgg<%Tv`*Co=45f7Hh-uKqoj|Nc3aF|FB$%0D#B z&xO7x@{{kW3%#2nc9FonPahtm+j^dt_tEdW`NM199je(jd1d9eIlN}Yy+gL1mfz^J ziME8m)@hwbcWZC{e!0eL%$BoLA|5aQ*?sQZ%HFye?E5>@@UFdi*wm5B%MKnC9vBzQ zziOSfCru(2?@_DO%b*X=aksBe+vdI?KR@4fpDuH?dwy8zIWC|7?fgXThPKs2T+p$@ zhbM*3npK`%vu-Qn>dCuR?wP>ahA$Kd2=Cak1I{T!%k8hPZ|r-q;%E1&Rcp`u=*bMG z&Mh~+y;Hhf(7APN+wjyXrmd}Zw1=1KKEVb}?4;4@HK`NcRT?U{AB@EXw*LN@F`cZ1 z_dT43E$upDT;^miTJ%Ra?Zf`5E)I-9@bpV{HR0LwF!yJ|^&|bCwmf>Y)~jwrvwcaV zIOkUXjS5RA^!Dc~3wT2aIaOOcfMr#sPkZm2dP)Lo>-zlpvwy1BWFJn~n%Bj`s;Ao~ zp^TTeFRdQFE=^?M^P39qKhKmLUiXfP{NNW78VWP35o3BEyAB@y%@i9OyD}2wO_w}wO?az>y`&&=i zgyIV=J+TvAzTf}Zb9rT<{}-*I=H1`n&ppdTH6x$r7j{-JYYv*X_fG$f8#lgt`i4DP z=#hO&*WdA&k(ikH-dg$gT@$Z4s5So0=I~4Q&Wm4LLT;5C+ey4j%N&z)&uN|wel@@N z$>o&`)Xf#+8j6xU0lnJQfB(UQDT`M&osoc@pXK#$C(ktx5ynU)(+?j$ERTNCI8=A( zd+_a@5bW3KwC120GiI#pZ&}(iA}=a&h@V%&%z)zufE{(M@9qMxs#LE=Dq1ib8X|t~ zYJI!c7NFH=Zp00%@UOtq;^O2e`^T4oPhAeJf8NwIwD0ZRRFBEa7-ds_{JQ2DUc2S# zIo8Dkb=vmJi%%!J!;r{Z4GR}94qs^G^Zmj;V3o>~ujdp`vdrX=yDR}Ke;MRT zWqhdLyq4u(n>|L17@==WvbjVL!g;c9tq+(vZ{ET$gL*FgEK2g)wE#ZSB=tCLTNMYfDQT4|$D?jZIzg!3AVao#g9lBV-(2VgA`xpTXzW{MpLr z>+OBn-?-Q#=hl()k8abrn%gVrZ}Ts@ElTa4_QX+)O)}NPmnR|@79Bl0_|l&r zs`7{f{ozR!V@YJPWW%GugDQkogZ+FQL%Xg&@mqajTViwzp**puBq=GWBKpyNeK z&09K5+z?VM83mp9>v)aIYQHvj(TeYqrXQzAEdA2;zSRPry}jzyw}Z!yy?t@>;ro03 zP!OPapJ%@QZfqQ~-m+Z1^xmA;pYF#_o|PH0GQF<<=jutvBkrfiK*eHlZHwEyVe<@! z@0?hF+ZmkYefJ=(>ZZAU2lpC_9_7Ame(#V3F4wj5t@2|(GCr| zH{#B|sAu`@LP!7bxsz&Fg`#%m&h_+c7d68@oAyr^9lKh#@@uoL*KKUl0sywFGhDaS z9o8F97aV!$Hlzk=Ef@|9_BbP6yZYwzyD3Ev8h56(kDB|Z($Gpc-*GZO>)@5fowqSx zkio6p0i}lCwz{{}QRRM_7wd~2f352p{^Z&4><r zz((m6Z`_+yQnV}O6=i}~f8wCaRi7-)6_({6a+lXPoWAfhzqo2FvP9Lt{0z5f zTz;`*t2pY9PyG3EI_H#q-N~4S3B@BXoEu?T7n0!jIeOcC?@FI5i`MKO7k=96?`(W2 z?VbR-&N@B{W$GI{40OG(ZB$U-=lOmj(&oKE6VQES5pIo(Zv=#INiToa>JCaica%{3 zyt}~-bh<|{RUGg&Np#2K(_no10mt$+m_=2-Js9`c+-J6fpqLAf$4?Ty{9Z`dBiZ~l z(>3MI@84qez74QZAn4cagNv6>k#5l4S=hRj=MUS8Qya z!p$=rpt|G+i>7p*gdCu{=4wyj{)m60caJ!8VaXKe!A{SoY3V1{-58mgr+<8sJu*Ue z@ai$*X5aAY&kM$XJIh-<|HmV#w6^zQNY1U&u%IBJm`EfhN1nd?nc29l^rh=xz{Gvo zx^?T_>BL>W8-LLbmR;>iKau2}7{*m3CnpQgXmm2nBzU>6VAG~eUw}_AF(Z4z-VZYp zin|;aVuEu^lES$E6P*elv;C7{@#iwlvpXC%yZ?Gk&0l85;bButF28fhmeo$1M=03+ zUop4?vEL-izN>p$E;1G_Tv~SY=+Rr<*8OUgs_MYeXIn^v4$asW${1Wk%t7|-3C;F!_KY=feCo~x<14Tte zE&1c>{>{^p$?khAms7I;@p{fiDCV{O7T|DQMA6-e_ZBvuGM> zVd*o@mhL0rfgVs-&tGAI3qi>Tf``V41eV2f=XW>`mr)a?XqFjuE0Q# z2kGuBeADNEAPjG}wwMWLuJjB#;~sc&_s40VEYOu?kbR^{{5eb&?E>1l{K62>zS1R? zJA#{pd~a{dInWgpNZ)#E$Ho17K`DN;Pkpmoa#xPXa=kJLv_Z7%fjdYAS~B!+ecy{g z^LS7tsPOwz(7T%Bt)ZYqwI!tb%Tsq~*^W}_Gv4Xuz>)^_#E`Oy;xp1cnpXAGUJ+yj z)oN^nA-FCvMgG;vr_#9}mi_vR3hP4tP5fHE_|H94*wu~_T7GHI>YbkR!qP5&+_ujo zYYf}{?b_dc9_7FGqE5{X+fe!Q=_96V>a;&@KjsbQQ9ZJCcm3`vA{+jAeLM603h}O2 z(&dG{`TbtAM9@K(>`OYDkw^YI546LDnS)mt+rG}Yyr3y`%~rIp|KyyHPftOO?n^dX zQfw1W(yUg?{81$xd&?_VT5s%}_aJd%@2Sc9wc^W(#gbpL)#KL` zHqO$gtvL4TukCul6I7ne*pS#+$~YU>aAl(9?wS0j>JzEuZ z|LC5F3!(#NXLDov^B;p{%;?*R;D@Jn-Q9x<$=UyTvbV4;oG^IH+B=?K=3Y%m`@#E5 zk?cQo_3YKf%~v}j#(!V7aP{igIqliYpd7cZf=eAp_qK=r$6ob#c%g-gpy5>dyt^69+8MI>LsS1) zhY(&M1ZB?oKJ{TKzgIp9Uzu|m>{WK@{J37v-h*e0DSuXcqo-mUsQiy5+Z$*3zx%5D zwJ17g?$|&3$D&@#8n3AqT5B7bwz(@CYdYuue0}+Aef}-s+n>Ma`>U$qyAQPg^r<}` za>Zbefw%z z*RNl%t-ysJFWPn?sI!?-#uO18{Z^Mb-+T8bh9SSaTd?)!#U0%aH}CNEOFm+1wk@9# z(!RLF2h)#$mkI;UmY%)#>~9GxY+KEG+3X-$hqyfA#GLZ)yQN3&AAZz^ zCZ5TV*6*K%+zFjLcr|W_={+1RQm9OLK4W{*vxO2> zKOBAJ;Pss6?u+lfL=Q$t_4LT`~VIH?>b%r}iI`yZ&hOVV6N$>pDi}MemRH5DlMpESyYeK3Fj0 zu(vVx6LR~A3D9A2nW2r-i=w>?7&YRtS)neg?z^S3N1|`^$P2#0gGG6x$5a2*4)B^# zal`bC{`>Q>-9?W}R1GKZllYE%o-aqOS#nbi>x@UTf6O%oxxn{-qed*&sBnq8SuBwy^BRU^1+dGb3yK46o(z}B$E_|;!yDp4$X=+RPJc=IEfZZH? z3LAq!1x8)>PVc{WsIGHVI(1~6*C#h|)LD7&TsLv1>jUh3zccoHrWbox$;kFX!lxBy zP%iI-cJ!_|vjKJ>b#6UBb&LXZ!yAIVJ#^Nj6F;sGKe!3^dA~kExz+TW@Hc2Qep0yU z$}sk(6vG8f;m)c)T$^*`LB%+JOv6dY$XlMZlQ0iwpGhfTiza3JrlZy#Ws6<-`PGr3 z;enU@aYVWj1JLNByx$#{;x0&tdO{j0=)%Y83CF#VAJ%%p0}*$V}@h&^I{0_f7>J*PhfmLz_66iY>vxXHA=log+|S=9KM}MWGCk~EdfwhcjXBeQ zlJ4J{J@>&ZL;1S2)v;6Y;fr$WjURLr1eugr6qI>wR-<8B{AcIxB+<1VLsM&3T3gn& zhESmS>Vll&KOL`T;dO_76_|Hn>#{8U?P#1oKOk3qSx=AC8xxG z&mL^RR_7Lu180s%jJZ2^jxXQW;H`<-JSk5%vG7sh zCB)-xKI;RA^?qD#0SU%`f9AWAeJQWgk?D2!>(@B%p11o$RtD_jLAhGdw5=O39AtXH zgqKceMU2&B=r#0`bw}3e6&**QPp)FaR;9|`-uzo5yXv<6=D};D-ks^4Qto|XGO2jm zgu7-d=6y!|&Wm8L^+%7@H4?acoOtE_AlJ(^qBpB^Nq$*7=4J_^XWM=~u^EqvbLb~T z`SU97ADB9f-+l6N$bzo7%a?w+D)Z=&;1603Jbnp%cj20&xJd2)96X!lH*x4a`l-vb z_v44qy8kr&n0Q&4)tUEW`K$?rKLFFX&m%X<<7@E#a~?r%s0U&54y6wr>v`veDbbkg z25RoU2@hG)_tZBfYs2N!>ByoM5cyWlzPBGvjBNOQX77d-+#a{9J%;hjh0x9i{O{S> z<1h+g?wQuL%MU961)q}}x}g*rKY=eL|&kjtO?duv_6 zvY8KmR$4Eq`q4h%MeZv8@vX#Ml))6HqaZ7Hu;{XBbboO5YKmG+)! za?oo>i?qhg`gigd*F}AQ{$B8kep*8Rz!>6{I!affvc4(WmsGM1HfKTQ(P!CuAGZrz z41~M1{(=P$GQ+Z>4ta-LpI7}=@lo;gv?m*L_Kiv_xb*^)zP)kFF!9uh(>kITyF$gE zIC+-J^}PcC&;)4qztq1I!=DXJhLH9q05$6P|;(hn8 za~DUKD>4Kz4Tr;`Jw0oe86Qq7O(`HIE%Wh7|K4_#sC40HR(uN$4eYCGemdVd_a*N zAT22F{qHWf6wjp#_76kbp6^Nas2!3w3FHHcnS?#+32Jx}G_@irFb}@c3#6WTp#-Eq z?GHWl%>B&MT^iAiC;EA4X<-wBqej+>>m#47Xc#Gi)Gq)~^@;TCo7te+(kfopxB*Pv zT{-2{>cPwMnHTooMlQ)}>G@eVcv z5&&K&of?7KX7NM)_ZvEsvH)2reqPo4n?OFxWEazTame=?j&x&6PalGdsP zlW)S`&Dp&9+?$eiu*B=g*Mq|$k56$zHkMsuPQJMzR|@`{yeY)}!Go2DP%qpcU%iPY zUcu~`!;4xcxO}P)vpQ|q;j<{7q4?U**~erP{BI*lUgeT%bLW=RM-mE&)F+d+^iI7H zA={CF-`PDUYbx+u{JF~}%<5$ot*~FeUk0K0!NHe$vrWvs@5ipYf)ixvW~~$ksFxc; z+I-t?DSAFGz5Oi9!t(j0ZnJD^|4urM-FWfi{Q388&g9Qkmt$Fa|bo$WX-NYTx^kf9Wc)y^s+BDNuxsaTnG1L39tT1Cj-ksrZ z=eW+EwT`Op4q?rXR6#P6xhimm7b(8iGjGaj;@I_@4%09S`$hD~tXb^6 zb!<(Y`ZeTN{bDFn=a}@^G=?;^>(<0Gv(^y3cKVFEn3f$hRa_fc&5XbGGho-CaPFm0 z*}NNBrRr8b=xWT-3#sq6f@7fpE!8Z9`{e9{W0$WARMoYeTz~t`it8_qQk})yj)@<- zo$*HM6odKsN7uf*^m)Bz%C;{bdXzt>`FXXS{PeXrkaf2@ac#||s9-F|^VH*vSv{Zj zJ&ii^3$`kGVjk`6i5nSf>asR9_P!}s?s4k^=RxlW8>7oZ z*SJhVhznB2EUE}I)aBMy`Dc!XqOTXUwPf&?-a7i@X7z0Qmm9Jj1@Bi?i*>n)k25DW zWB|N%rC*XQp*y|g+#!!%Wbo2kqdGN|Y8uXY$#l(5EfV3eIgCeYWhOIlUASljT+5;({vPdOkcT(6kM#cXeyKGWYeRwJEowu3Z^1 zD&4hn!_P5;pkIf$B4c7k7EJv>9#Z>!>hR~F0on>FK4hPB@WSJnE%Z0zgiFf*g{Z5p z+Adc)QSBZg0D{67qr z|GT(6wt89JbWrhl&^}kt>R)c4fjoLcu$LhVrtUu3k~3|Uafay4qgh_mPrD8wpERt?93JsRHJ*QGY<9t&tCSPc zQj9d>Z1QZu&42*y8;%PD~sx%{^~J-Oa~aaXr4rsdGGB_%uaPpv}b)TB*x-7NLJ z@@GL;>iu(Dvb|S{%4|BvR>-^#!1ebAN6ZiIKHB?8VPUZ2*gLB;AR+daYxAEJJ6&%t z+Ub#XV$T@K)Q_z-mom}IzrS5mY$R^n^L@U9F(xZ)){eX7u>SbzXvFT&rSBeNcR+dJ z!FQ@%BX*Q{tXTPZa%?;8O~@KlcI>+rXm(yA5ZV}$l|E5Y?b^Bdjc|7D&T-3M>|6e^ zX_eFOP4*VH@#(jD!D&62&3i&WtY_w)IpV&0ey{ITmvPa`+cTSfEH5|sKt0!48s#_C zyPUrY)e66{**=(s&AdokCAQzyLUuL~IqP zS8mFckAd8PP_g+4??sYLw$$?24b*uA_BAVO*ShE5*rLhlUDv&W@+zxGZmLS*R~sLq z37#>5^3f-_hX)Dr1F|U}e4G0N8xN%L8~FAoF11ridC<}|p$mDv9V1dc?ApuE!=G+l zcw7Wk{qE_0I%ivZi}ZOHE_@FpcYezF%v^1Eec{23rlDKUHNmgt^-PRbF{F)=vyx{l za?6!oZlgWU#y4Kih1I|Ol=vgyvL~$aPY?Ic!sxFnUpQxU{WM(+eKGcf;8eBS$r(F; zeu%Mr`x(WUG3?j}{hd;G@fmAER(QzB*p23*l!8nXmVg40-n zxiW^J`V#>90ZG3*=*kUi?FOxHtx{FCWt^z0+b#FsVc$%6tNJH@UfK;9tf?;JbiKTu z4N6y~o_-Pn@ZzaR8-9`d|7YJ=O`T{4x%?+=`Df9Fk$uuN2V5q?n7lJ7lPU(!WGSQ# zwbAcemP;mb7jLBQt9ui3IIFj6<=p48P0#Ng`SUe5>)Gg%bMe)jIhMh@C+&U;Kcx>S z2wCWHa8Y==dOaVC&c2lSTj{oFWvO7*RSW?{zhfVhy~B4FvCzY-9B1vh z^c-$Y$@?2QJ4e`=9FfC9SQ6xcwNI{&nlSxwb?1Wl^UisRvkX7F5}TGDNX**4cgGFx zo6msr%P2cLd>GlYy{mI(AK+8A-$}!ISr-*G!!i2+2lc5yAbj|=-gv6zoNWIf;$GeO z1*~#^_Pmz^!Pb!MIW@C=TpH9XU3-1nZw;GQ+!M3^(}MA}=BTdmj}(v6`Ei%T!kWP= zKM1;sp{{;Q!TjLaYf5n)kAVnpr^s?OhF~lIhavm5{7&k26wMu9dt6M~)9neZ=seO+ zcA2-jLX=$Duz=N6vn4;MMDj#f7Y_*H^eg%3# z+4Q2xF!{2q<~k!t*Tg$AeAcCEv5)cZH@l;NyZFTz5mW#TfK5D7H*UpSjde@W#5p79 zxy`FQnu{!7T1H#>b!UR_oqdz--&RC^%L%uvT6VOAl}juskyb3f-oq*4yXEf1$ACL@@1b6iRkAUEn;{`kEO=nX77f$P$P~pTQ zmEj&K?x0aMSGoqJzz3ksgG?xr*S~O$SunVl4?6$kAG+0a=D&;v-Z`4XbDX(RR!_^O zh)m-^Z9ptA_#S8N9(Rx*?U?u9qD~;MiesXHW&*1a|tl-_MDH~v@0l!=BLjpm5jA?V+Q<9k8!L^>d{f+BywF`36)4^wegg-;a zqZ4Svt#8TC&goMB(~)!IJYmG2Ye9)uZ>Mke9~t}VBs+hSr_akXC8%w1Rl}9nH#SEF zY&$j_w5fjP5x*eW(Zh$;mEYg&W+By2z@ua}(gk|!zMLFeZ|k-NTCGBnD=lj}-xRoD z7${ux^z2aSojnR`+1t8vjy~y5xXNe6w#>nMw(Ncl9?=HOtQ5O`c|MDj_}y_d!8dBfuW!!^5{;M1%G}XCT7w;JTEtC4mVUxbw^db(m(P?8LwZh5}duicX(sP!-o$)9US~a`&=u2 zH+pofeZd8BUB<%tU$8pHoTVow?O(JbCuimOjX&SU#q3MZ&Mv!n`t*IoIr3HO&V$(0 zG9(=S3Twn71ICYRYBw%Ft!=It9uf7?%V+idc75yB3y!`C(})!&E>&5UGAr{AFtF*5|smeGqI=D=(45v8rHS#eRw)=c6r4tA}}dj_}{TW$m*56c^V& z&+p&Azt~H{E8n_y?b?WA^!y-u7s5wr#|wQW((#X%sw>Qqr`(7>KMwy;cHF1)sO zsL(TiecHGwhyPO^S+eU!T48W=(H>eSNXDTX6iuiB+dA{}KEt zJaWW6J1l9~kt0W-IAf!mxoZ80-tWATomCZ|UM%T&Sk>Oz_ol6_4M@V!ro|oZ6uPw) z09jVe&N(S=t0_MChFcY{pFS11L-XNf!!ewt?$!&^i-Q|J_1+4<)v$Q+VlN<9YpA34 zBjNP_Jp*vj(sLJpgP=Tv6Ue|@ZqDAm-31s?Mc2)yjn6JE|0!0nvC@MdUR+)rojP~K zq7WcKtn63FsS9KFIXhUTofJ_c4zT< z{lT!X8TWRkWuLcna+;!QYHEI72=?^!JpDnSDZd2d){VIK_d{h*+t$@Zi@ms1%&A2e zC$yh5S2ml>OdwUL0$Y9Lw(sI)pBk3-T;%$qTn;tAklwzxd?U+NTUS@N7|2#!TJ`y9)i~f3b6%x1 z3GPyr3kzr~dcXA7$eKn=XG4Fv>fuXZPKQS&r;Bps3o=*$Jf8$K){PtAf3eT^U6SQ*kUsZ;(hGa@ zetvjatO&VL-zDhzDb^^56`th>noRo(YBu>+j{o$nbz2BI+w8e!CNS3p(Sv~e^DOT9 zkA|ty@z;;h&o`w6L_NsESWt;0SlBOC|7C~ZnhAryeE&L?Jpb-O)Jk&xs)|5l$f8$8 zNhPY=pHp0trWGA{6(L$SZNmY1>lNLKzKP%e+F$;FNBdt}%6HqInK|{Z_12toGym#< z{K3gf*t-r0D<1+ea||jA!%u5=FN4li~f~rC+u$c3|I9dD}kmTdJoUJ)MDLq zAYXE-N;`a-FL1bCpY3@gqx@OnP*6p8N6I6uq-!#IOkLoBk2Q z96P;%q&!*c^GlxYpx1@fFUPyy)xlqfF1)aR5(w7QGegveJG=^%UcL>M(hZz-FJqOF zZjVwQ-0-J$O^M{t-_L@Q4XsB8X-Xp(J()jx`?gi;x(&-Nc6*xp`kwnI+x9h6#?N`r4W6C8v_`g_N?5RU zg=*6Tam7j>$HBB2{_I*ef!H45V}2Br+38b0VT-F~SS`%Yo6p_iqM1-@UOK&ZMyJ

tpn;?*itsiK?oqooQZSP5ghlySi>!TUpsnSILZ1`DES7b$h_pFVdQ&MBb@0PYS>n*aa+ literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/assets/img/event_flowchart.83015c7a.png b/scriptApl/chart.js/dist/docs/assets/img/event_flowchart.83015c7a.png new file mode 100644 index 0000000000000000000000000000000000000000..08ee5ed4ca89b920926d72820e885eaaa0ddda02 GIT binary patch literal 38182 zcmd41cUTnJ*DeZ(iXtQCfC00Pik*XzuI{eRIky43y1P16=iDYt=%|=;Rz}1zBE~Ub z0Ch$&qGCkFtSIJ$dUntJzI*Py=R5Z~e_oz`sOnw2c369@cfD(^{!J?8q&4l>G$A1& zjmKrl6A}_vB_t$0N@)aIT51KA2?^as2H4twGlJSMb3!j7^WVE(1f13F5A-6kdJzb0 z%xnz!+%9kn+MRBb4Yip~|2`w&2>5|G68IXkp8`mP)Pki3&Z2V%o;NyumyS%U^0=KMWle{ zz5=dNBaF)#ty5mV%8AUQv{{s1Tfh~4tNb-29aP>d;i^M$n5jm zfRO$X*?&zPe>o8KnE&&#Ib<_}b;MgeKra4&n@RB&A{z+bWHVTN1}AuI`;UA%E`H1= z@$oR36{g5=Y+_I#{dWMD0c`1?$(UAy4~PfnGrLS?-@k)V)iINa!Xv>_y3foHlgSJz zJ3{3IL}9Qs6V*cvgb5_njgw;#$s+WdeKfkL<`Y< z3<^aNLr@WwZv-QV^h}ODBx5O!lAz0Ifgmf>1DdTdFg!#svu$>!low!1%oxMWBZD@T z3d8ZWDz#Oq2q`5BQA8OrsNI+n^XhR?n;++Js{L9$j-VrQ@jjJ5>WTQQW|hb0LOoho zDuBV@44+hL0%`)|IN*FB6^F+0StEQK-|c6jPNtO;G4Z@?E=0#;b}5&xMg(Lxkqb#h z8ZCGU@kMMV4$-br;m8`CCdL<%=wKAQQo;aFxg=uQuEcGFdygU zx%~1d<|M_3)hc4(KgI8)Vsv4AAe9dEHfzl>wbJN`Q4N^fs0}EHF2A1>A$sVDN6Qz8 zqI8GXN$16UFxMdW@yKKi>QrcPLGUW9r&#n#$V7811Rs`HyI@d zhz#bOjs&dmg7Mae$ zm70wJL?B#%&touA9-TsCa}k<=t7Whyz=j~4$Yl@fNo*I6Yp3&UQKC%6gxH?2gv4<( z)eN-+BFar%HIu|QFgR)pECBClv;;1hg9^z`t6DFFIH6cj!E&pa;SeW&Iw~dN=P05I zPe>YwOCe$mBY}{JWmlt8DMgAI6hI-(h=pm1#dJKpHDaL?85|l)r%5zH2Fefw8B!-P z3Ty--Mg0hk#gduzkeeSL%8KEPc&dvX(PC%}W&rGiZBZRA=)yUr43|Y`rnAC`2{DL+ z7T9A`F@4Io+M9h5Hs(`FC}z5XD2xhqIGxdH!+>c48N+xvo9z)$@CG#;6dTlDy;X`q z29)52tU;sJ#tYG1&X5oEalRO%2e!bl9NRYb`<+8<7D$ z49G}!aS#_~03?CAK_|{)BKZv5pv0`zTXaOBJ3_@Vo$9!u3xzQu+s`5E{94rP7wfbF zQOJn5vb1Cj4bX&YzmQ`?^<2M$9r0;ZA!|g;24li>wT!35DaZy`VT_77s)!i0I%JRl zCaEbdgPcm|d88&<*o$|V!Wv*pu!&=LnZQ-e=Sp}EHxo+`lp+s1B7ChxBI5J3?1+G*WP8So)kGcD!WA%L9G%%fVTHkJ=mK5b zS%ul6uu!M-3!*fZgN8837?tk{^T<))USNkjibJC^IZlBy0^Ae$xkR3rCLsjWWH%Nu zbLbLyabZlYrV%1i2x7~v1adUuu}Xq|zkw8h^n4@BCY5_hJg3pm zRLRsLC(nRm$>;<&o}&@bAr42%aVlwHE`tME^mLjMz!YSZP)Udem>obcJV_;>!&;hA(10@vkd(s&{cGXg~kavaqobVsEQ3Kuw57;lPUc9p`zfG80z=<3yy zQ4&`~X7PbwU_vlTB4Aof9SQ_vVjm7>Q1R4&6G9?xF^BJA12eO72_6$uDDhF{h{vjg zd?brQs*bQ_I*~L2bTQ~6N&SdV4I)N8lM!&Zu(8YV($EPx1OI6FpB8mJL2 zf~o0>xH1?cj-c2S(CUp;rCmu8YjI|dlO75qcn<=eyUc1D6wuHpa;+Sr_=G4OABtNT zC4^_Q*;ZH3@x~|-y~80U=O{HSyg`DxBEYi(wZZ+bgoWpd)4DkKq3SWjNa2OyxCOy>9i0#q zfTMt58$Dnm5L_Cn7f*Hjm3$S$%eH!%|6nud$*VTs}_fw0@i z3G$SX-NC^GBCXCx3voFjY21J%1|x~X6merHOC*fjJ*G!BESAO3)-k9iH&r1~NtLe+ zN0Y{=K7&XZB1$84mjiU-xHW2;6z{@IF&fUtme}Pk9jfsl6o@Y2goqZo!5uS%`BW(q zBq-e$CP^7Gu=r$&7*+~wEW{j!0%Wnlq~o(f98Q#{uIYikBEajsO9`vYU?SjXF1*sdI=8Zbcvjlbm{{N*Z)Bf;^9n#17naLm2n|*3Kj)nNGE`#04!0{{;h6Tn#wg?+A z>8Ok;4#gsPw%g2MY4|!aAu5fAED9(@K{PVA-^~w@;?ib>6-=vH%?`napplDOf^-&B zuZ^+9N+X#gCn=qAau(k;#^%_4VkadO^+G^+8sFKWtX< zcrFnvRXW&)s0Z)>0p>Qt2#1XUCdnj)q6~z=_Tu6Tg7svNn?T`mxJH(YLPWu+S}oZj zWb!y_xxy%<3Pfs=!H4nWevEJOsKk)k=Qem`EWL#jCu4d&HDr;)LJ=5B#I@-HetV1{ zb?O8%hk?(f>Bu^+3zY~c2v00FLkyV&$MA|tz|T>+QHeAHR2{NW>>9k*>=k>x7QaQP z=F3A4M^GCLv4l2?QGj4JiCBOzaa1mt!$B~6#3D8!qGuRnaEK7r_=Q1VfG?!eV2dQc z6x-Eef&!;hXz(z>Mka@4eo+`lf@LZTDI|5{>|{V=XTiqi~%M@gqi zdBix*d$ba{!x0v8`B66wL*-htk)!2VX%z5GgEKP;43x$5Quqp+SQysC$)nxv4s!%# ziUNxd<@MRzYRm(R6;e7|XQ5c_6uy@Qqh_B^i#K>;D9%JP`RF(a=u8P4_%VXnO|+U# zaU4+vC~?y;(*Vl?j=-b!1k5x#)gM>(uou&4sp>Gtt^mH5DAf{N%$OZd@X>`x%pkQJ zTzZLDLnrz9c#S-$rAxe+-W2gW)i9nRvul|)55tDa!)~9)1qSE%;zTZpi<2f5*$DUu z{C@=G6mA6YX(%wzA&s(g$S#gj0&L^I2lAlDWC;8d*a9e5<4xv&B2N-t>+?$4Y=}xQ z=_Puik?JzJJOR7J6pUKsP8ruG^TrHXDh-O$LW~FTqfEIZ6r;0w5;}JnrV$!k0gb+2R7HfHSstfo% zNGip}XiBOSycr?bhykh0#H8@)Cb`MPGMiA7%@sv;N=8tjjN=5ELPI@1I*I}ngktn? zkjHWc;{=%IcSUIwtIv<4*$lLBNRM%eezwKruzFFQHU6ep=EDhSA^}lllKbp<5*DLJ ztWtrAZI=U#f_V<1MhT%7ixUz!tz4;Ii^`)m?mqwzVl3DxiFqYjwJXTs(IXL)4-ImZ zIzHYD!+;Awapa_7F*DCc^pb3ph)pP?hItWpSPotV9|GRYRM_o!y2}&}MB}ycV;>?*p@PUPv>HkHp3v?@>s z!qkdLW{WlE6a^81!-$h>Fc#B@;22b++8|d1V|;4FsA3CcUNXd_GQ)_UN4L=M43*JC z^Q*j8%!65YI1iNod(}d>lY_dcJb?s*X$lJ4hT`Z!rZT{BtLRK}gr?BT86urq<^Z@! zV)OMvO%!9}jOrMXt~L4Ju_ z9hP}j3}>7INtr4lv)6fR%b9SO5gTm+F@`81t~#Evtouo&-UlM!jytqN;H8ln)A zSwyJRj>VW5rZS2Rc&kjSR1&!nlV0m_2kcG_-s`e!{5GGIBNJfyaD?x&%UCcWKoLp; zdTJci6oAA)e7=prLvV4k66hcpAEp>(3M-fE=IJaPy#tMsNH`{0!ihsN--~BEa7w-j zh!T7aFx04AXE$MZr=Q`Gn>qF<&_^%BLiHh9os7;2n_>Z(I7*EQcqo%ilsIC{n1#j0 zF(nd-#U7B6@jfF;5-PlGSwJjQ(0OcvNE43Wg&aFdGCM6SS;#B2TVRfXjzxSR%yCP2 z6un)?0gMMWc_Eh|AS9W&Ub&7Yml|DxsL&Kvs?83*SZ~t`WFiBBz*U$7c%@xTrD;P1 zjKGfxJTg@@pm5WiA}Ph?kK-(Z7erhtM=&5lQ4dwgb@BwT4X_+FF%n?X^(-STLe&wy zZWySJMnVdaY*asZEfSX@k?-Y7V_v67;z4 zG#CW?YL`?JqA5@n(aTmw^$~V}th6JD2#G*ifzIL!N(4UGX(1bJ2GphZ(#bKs*J4nb zgc_R0ffMm*TASMdHXn5p>@p&c5SB4;f)LLeRUi`FCOtnA`&k{9oAraGS}%~DS+jK*|r$Lp)|17K8(v| zVG39(WS9(OOdT+*yc~|kNW%Lglo%0Knpk2KHQ*E;iI=5PfUw+XFfvSL2bJr>#ppJv zJr0IWIclYFnK6wFf@M+)PGCa$UK`yk2u6c!M?@6?X$=DEbNWD-S#|>C~W<%H_Rf~u&hEGLP+E`9w4C6UMIEKRIRl-CU=EJ+?1U)btu+@67oNxkH)6|G4YNMH%-XIkd!d{;eqY)%LC#GbWEn%Z6PK!7$h0o{pcnn-m zR3;+m6+WRy8wjebK|aAI@WV_22f+nmkU|{vM??}T#{w`9Vwn{&b670Vnn9{dZt!Z2 zI(gK{v)fc*uK{oNnQf|gLYE!WxFEUG4n_4sEXwyp4HOwu0;4!FOqBC*K`+4j zO=ZLdI6NNAbaH$FUXbA90|p5j@eG2J5hez-JRcj_Jgkkd*kZFpmWJ{%3(Kz75VA{up0GDZpO z6;X!H6{JeSW||F$d6Y4o%NrpZVj8J4;EW+QEe7&OabD^71yBRsLKJAc0iIW4)6mEP zj7G#^x)452x!G2o4=*H#X;BAR;SwoyY&u?r^GW$?CKaNGiF`bm-V8XNo$eO{S_xBZ zVNm;!B3c+R8+{CS$b;jB3~IaL_{93 z=9q8i8fzIuP{ecB$(@nIw)iv&r47-+-iZ2AZJp<3OP>4)7vb5 zW(22z#E_LQcUmw(Oh7d2*ch2+U|8rH2*h|Kfe*(g3iLv}30S9#2HAvCB{*})F97*` zhDitt87y)b1W*=-1*LcZIq0+OEz>o5Zx*9}14p#Vw2)(Wgql2Q!#oFu~F@Hs(|)y0fP z5R%**(Gr9ts{->WNg54K?UT4*8Nr}XTTHM>#}{~{5kybZz1-af^wHI#`TINF_keI@`0gaZmkecM*}K4RjZFkf(RKW6yW_B zrWRvrLyQ}U=apm>JPh)zil~glBZb9~(GZg`jVd4{n$ZiwuaGK0bA;s)iAx@8=0td&fFq@59C69+_8E$?= ziV*OAj|LZrn}gOsq}vPvt%^ZMW%hr783+t~JP0%Hyy8>{XXKz#5ZQ$E5s{Ar2xo-m zQAR<^%cK+rbb5_FsKii}TLZeXaBPcF#AN~+pax$hUQl0*Nw{vR$4Uyt;mSgCn;1UG z6Q`wa7R1NdEozFyMDX|wegjDABIc07A3z9BwOhdwkuZW!W)d61EH?>J>rINV(Ib#YPiR0ad~TJRUwG5UWA>ASB6|8itx`1Bop-7+^*vR6S5oSmt+Y zeLhFnVl;K#})|*nF%}=Lm3(K za!u-dRr#8qlNPg1m|B?IcbVOi-7m#ko|)Hoo@!}nX8PORtfshB`@=S)@~CfHKdeYk z$t+9BSnxoWSHw6rV0OPQzqaUlV5T&)WB0ShY<9EcsY8B#-TTaO;mzHHPwtL8|LpoF zV3WknhbEO?*y*11dgmd@I(r-NH!U@}Q;)jmTX$YwJ8az3HQ~D(!qpR&4gY+v!QklI zo)hZdoDRIYP5)Z|?!vQ$f~*Z2H+KKC{_WWvldfh`zTPW%^fcx0kFPKGMBkw|{|xqbRv%rX-(zJ^??wtf{|sIq&C!ew zwz;}9CnqH}wOMLf>MyCyQ!oD3s?XCwlfI;O9vqnYvGx|nee_G==Skl_)^0JLo?E#| z(9VAK4^^O1LGSdsISFN_N^%c9e06+kV;gAQ7LYu^E2Fqsr(z!^zUElCf z?Bh$_&3(=c=Z)RdDX!anlb^pj^t$lwk#UMEg`(6QUEAd5N|G}v!`Zi5NvZP}bxpSiNWO<$WR(|mRrXFOX3WDaOn9A@K`^C| zUAMI}(_Z%`et&QW8$jXA?X-bCyRG5V%4dmFC;Zkjx2or?jQr`{>R#mh)NeaI^kbC~ zX>oVoZ0ew9ooMqTqo4fv_IiKC_^Q;T;`H3AvMFtrJQj?tERsElu6T5Inc~H@?eDh3 z;||_A6juEF@x9!&_eP1uvA=Pn++0^udd8g=+28sl9nSx9ZUyndjTL>@F1nPzblsKv z70vcKuD89l$vZjsLR|8k>dfj%pHFtZ+(t8s(OwJq$b|Id)RXyx_QvQxz(z~6VO9Z1Lv)Mn>H|KAR_}>>wybRz!v+Q zur6y=f9$b{dWThizQd~h)F*;9``Paf`NoW^B@g|)Vi0R_$y}hQf6l+*uG_x5 zzT9n9U)L3>;jGTDTPSfq-j-K>DzD`HgS=CgEyY!y(9|m%YYOwf23zG;J)N7&seSj3 zRNq##Na7X`?lfLcDotzMe0*xOWBjWRegAl?T%EIM%y_hE=i#Yy_fIMP{9tzB^5h}enZBg-Rc97# zJdv3=ynIE;N?_CtJcRVm=fg*P?9Le8t7E&A1Kb3p22rNH`|Y~@&)|#RcV$!i4@;c* zDNRB~Y8wqJQvva5dN^k0G;ZGI_mQrH(}C5RXR;r!lVwm;p2`?&Sqyy zz+^*@Z_v_`>YFtwEkJ+Nf4Sc@GXDB5!^yHk?z-Fgr`H@aT<=EtrSbLT>i}cAi36@H zh51b$w|Ac0G5XLR>Hc;*S2Z~4ffp2F8bzeB`ZNI ztRJ3Vr4iHC9H)b|J%Q|VnO8PTHotxQwyN-=whRCXZ#-dgEcoiS?y&yP0|#h?_M0W^ z3cE4$X7%~AW&}ou5XvDo5gEpHkRD|t?lV@1f1); ztxX@aPS`iBU-A9Uw!=sF0`#QK-ylxE2qz!~X-B@LT`!U`UqV||Th#;3t9wzNTv*o* zI_*w+^yzdRIrv;@zx?}ekzI?c3$E-KJ><=|#$CtbmQ3)jfb%DuKR(?={j84s<*Ic@d{jQMTkfc92U_w@*0&!% zo<_D_%!TK6>afaugOH&baBcg@Wh)`$n`hvJdL4==j<=Ew?N-JUA9>btRU9GT)SR~6 zJsd4AW|n8pCne4lT`n7Dn>VlM%QML&{)n%a<{|HBtExOF2Xy)H;`(Ohj9)HI_;jbw zHGSnX^3?z`<373G{Eht>k(KV54vc>Zx8vi+gATvT?)oHyPTYQ@ zXvitrkozCnwN3xB}gwOeWjZ8MC83s4Wk_{kwnhE4T*tHe+bC;_;aUJ@VLX z9_MEN0P6Img!$L6DWgI+%-u)MblfUATNnLCd_DKu!$p!&p;kwuK!a*@#}@ha$38rN zpj#lwI@ohd?=`k3?=Fn!GZB9FpnUfE&&izZ1Z3*)^wi0~m&(A81_lJbN&9{Nl5Q>? zKdtI>o7ZKB+32DXc2j&do*$snx%~XAOAQshf7XG2lR|xMS>Uh_78l>#4TTE+>TDWx zxDM*o==sM-eec)ppbW2wUfRfRxUTg;=aW{=9L;lOb{X8PeFs>*^(8A92KL+pCEjG?LL->8{n`af{|EfNF4t;g|;F7sp7kp3#<)r!0MTIQ4hWv65jQ7Sl>av(gHdzTV!%FAwZG0wnXgq16QmAvVg<+G0E%oK3%kGQ?2UAHTr>!?eiCHOl^~Kcnh)mZl13Y zAo=nx-DcOmsNAxMR<#>wE{#{pk}AQVLM^>Mcd3uWyv}893&!_V9GY zov*9U@-7`;R{ZAHuvA@1^v9Pc<$^o=up0|o5pOq3`oG4kq2?@Iwruus;~CcJsy0J)e$67sUtr7@>9?aq;WauJxHa?^p+%@71flT21_nY3!O5ZgNSkS`k8+LSd+kw{d zS#2r{MHwSUbI-j3RIkNr766kR#JRCsI(HU;_I{Vw?mOw|W;wt5ujsE8oKZuks}F^o z#S;P39n~YD*gJ4z-WPw}J;tApmX3T1XjGmKT}wYKyZ>lePGO;F)k;gJ0ZEgSfX+8f zp84QLle$af!#!#zH|}y~V#((4&>x>`%7$E88-3hC(&U))I_NfP-mb(SZ(860JKY4F z;K>BXInv~=4_D)jje^fEmkS#h+N87wI;hCZZrz-7@8d1^W}u)s82OZHMZ$=pzfXTV z418*KgQW9-jL|amC7o*ebwBTlJLZyR#A7QnTn88?^1n~rv3~lulj@Rir0Ctk*AfIQoo@?q3NMJR0&apVFzc$j{Yq;*qA6s|uw~bb0 zJfQk0?z^kU#GduC-`Krr3wk0eeI^ib@0N3ldJagOm^ZB)1q{?Mn>Ma`*r(e)fN5T( zWgxUdV7u#w^c3fotQz9G9%%WSZhz-}Ib$ij z6SyKOdwuwR_^;2Q+Pg*9`_@f+Wj&u&+q!2wLu4eaMA`*!xEFJD#x zf}TET<)PRcbY{)zc{S0Fng-2EcY^~kv8QD$%se*5U*1MTTXEk5zq`cg%CIhc%C(-< z0#!9KYt|WtZaVe)=>3utqpC>9RwaHOK%2-(D?DHS;zHd4LgLJ{*fd#k{^k+D~q`?pf31n|t%XX|0qVm-2GMTi9CQvhU8D zdw%PD5pc0Gz-Tl4AciV?-0-e5FEu$ka|pov5PaaIGzl=l))yXb8@Ye(@SpYm=QsEE z4?eHt9Zn<7dJ_0d?=W%pD|J-@#)!^b)+b4eiirm~}Wxd~;336Z`{lcGTS4-?baFM;DJ9+6jfEDI>$p$82eJ%DxpmeTW&#L4r)Slt-+ zDf?5hvD>ry9LBE$;;(Oi{6u@ufaK2lm9f4lcq!0)5E%V%vmvXm0VFDDF?{7U4!F)6 zrvJDIyl~;bxYy*eQ{S=@5}E*b>DjDP#R>+9l;BQdr;h+L{3z?V_E&Iy`b*~g0pP55 zAHKA*cM|ZG1%PB-0kPe)4KuoQ??*{(J77KDc}){mEXwr%JpyG`b=bf z_bKoMAfz|_Zq_ZSeA!5sHaIz@C)o0$PL4gMghcWohT52&J$4Ee?CS2cj&u1*tMAmk zBHf*kx3}Z_)O0S;;@%z3Tgx*+`}-Hy=c%`8C-3bz^+A&2HVCi1LyktH;inIOUUW>l zE1vYFE`80!(3qn=#I2uKx!+mECvU-@fGi z-7O6Q&hJYr*MFowdy(_4QHl<}=brSlf9DbJEU`~zUH&X|5uZ)|9tm#?Q*$)z>a+f8x$80MDRBbeZ1OBxwUB8jvcqU7q*pd&q{i|?k2}_ zVTt0xs>aUDgc7h<`p&sfH^pckkR}r=s7hr<5l;vQ*{Zw%v}hpe&@chHAV_%4AFm& zN90EmSL8RI0O&1aepaXAfw`AD4eNB#dTwkPQ2>2)fIJHvb%FX%Fp+b>h+HV>iH{qCdY_1 zqPOAIW?o{8Q<|;4Ssx0Tk7(PWvjt}#sroH{4-<7W#4nlay5tj=o0_7y+Hc4Y-7l3TZ7;N* zR73fKyixqD`1IGuE22A_N*28^7*^nnhnGL7nS)fWzeMs>mjpE9)0H(|}Bi@j=FuRMoUrX?|oZ+v-hoGy0$9xOx#zrDMlvUf@_HgHkC zuc_qKJto>}BeAA!4{!i;nhD;*ZMstk{`=)v@O#f{az>Z2<~5TdKT262=Vuw`-)Q6> zK40M;m308^vA_4buL95W0atFeyk0O%U3sbhUn%Wt{1<|TD*rXF8E8- z@C>%_=g{@#Pr(cuEp~JM^jZ0x=0tNJ2J-@kj#s`kTyTt&AG&lvC{4aBTGa4(qj15N z2GLy;`b{~0$FSn%V(|Nfj`_FL>ozY?SO-j5v9?6^y2;xGM~klbeKS@KCU-c8J%p1U z&$we%Ppmvl?ugVlpY|WJc6L?I=>yLBhwyG7Att&z+h&95~I) zGkJ$nit$6Uc`Ig|1MyVs=H#lU_vflhdjjZmXQMTYuDMl_bkoVv)2iBcS^xVvCc3D# zZCGtK_TIzUdIr1LI4Sw@Q7ON3>4fGJzB{TDGES$|*S?;#X}f#ph8Anic6!(BRTV2? zMZW0LtV`GS?#$YtXZH#O@3h75oAO66J@T`1_~3CnR>$rR<#OIxTO}vQUBr}3Pu$@a z9&tRYK6)pW1*#U+?wy50cE09azxu7+>7i4HPyny4YQ25A^G@A0{@4F_OZ@(6&lh#y z_3g+A>6(pyR({Vr$|L_4%FY}Z9~ADDG=TPc&EV|o*WA1``=nM5THBA!#}v>fKECk& z)o;TBqC04M$5i9fjen(Qv@6iBmkizX@#ebyS8|3AWj*=%<9d>V`R4Z~mGw8NPyZNv z{gS8}o42Lp_xlA$=EUXRX-v!iP`t>qA*&lDb_R`uiwZ=w;Chpp&|oNtN8b#%=lPTh z-0Az|bna3>J9Kxg73ttRGbxdHxEtuuyV9fV1tdQyVX_IR<-$k#*P4NLe9v^;$qdlZ z4W)4w+*sc{UUx~)nDFw_ZaC=-MmoW{G6s-`NQV$Dt(ejE|KsIi6dZffR{$IDi#caI zHpwixl+sl+4shKXbJcwk$b}~)F9a*#Ev4#-@mPF*_OWJe(EV@|a;Nf@XZ7<+`mKkPT0sBh)-|wrngYvXN=K6Vn%yk{NXWN1V!apv08IaGI zyv|}KP^Iil9mxHfq6K6on6X)t-Ma~2UzS{uQ%1+0ZBpv> zd?I=dcS_toDd}IHsQSEk>Hj3emDP^QBF3XfkIvXHTCy`yAjjp21+kKpq8n+uJC+~~ z9RDG+by?Zj6|VVL*N@B1_5s=dRSXOA((k>@3vYh&in#4+`6b7z7zcDraj)hX%1h@V3%)(lw&;z7opKZC^6IBinWFM!e0I*mH;QI#}+1PVo) zL5z86aX*FiWL{c&r$Fm;E{J#lBeb4qmL#|Sek^$s1J)MJ-b7zAMXTewf>zcNi1Dzc=x9h8^ z*?KT!pxNdWREltkLUqd&Z`v^aS;!MFZS>+P0c} zU|P2wG2@9`JLA~Dd4dKfPqdslGX24h5!==sXr7FLxS^OH+qGt4%PGI#WN;bB{w;sJ zn4H5)&Awb4O@|IVZ2@G=IUf2;HM&9Rj?m~?oyWiVH$EF#yZ2RMPWYR;ar0B-z@)%$ z)CO)Zo_x3Uke741Z~M3an8fL#kcV4x@aR=hrP1VmGn8<>rsSC@_m*4`wS zH$ZA8T*qbP4s396U}$A$=f=bajV^+)zG%;$#jg&(6WgnHZFtuEGlBAhxb+Vbhut?jPv7(FuO zm$KfHnSI+1N*vkPHL`Xtb>$7mlPx8(0{9Xr)0R}v8M3Xr=lh52S6<#I=|)krD_R+y zU3WS6=WwWpUhFtjRzLj0yBgo@gq@{tmNhX^T;*3|?ol0zM!)H?ODjv`9sfq+WjB(aU*qQ1%svMj6E41AmOQHS z^3fmqKR=pU{M*VR-3JDCZq|(b*A5KNJoGB3b?0_StA=d<3y^il$Z!v+nf&=%_0Qqo ze|#$4?7H(O{l)%46CY<}$JzMHzQF1B5TDmSyOr>ARq4UNsF|XyJueTnLyS4+Ru^AO zYjN|xehW}_ee!ipX-N?Dpg^IYoe^WWe%s!=pAxT!e_jEt`Fp!Qk>)W0!#g38wLF&n zt)a+MbbD(iMK zAFTvBa*?u4zjxL?ceNOV?VJ5i&Num%6S?0|wsu~{1*N9_@D2Gz58#jP=apN^LT%f% zn?2;hx)Bm!qO&pgt(Z8gca<$shGULOoEwK^%`w$8Hp3NQd zYQ1Fm7gn=}s~JPTJ}ubdK2=}RdYv$FX$SG@DJKv25v^o>x)bht6%@a^O#FO*@fxh) zVPE3ev5lmvJhkfd=v`wI^E(jpe!TwqLn2(^y{){&lViJ^B=}{-jK{wBPh}lxp3I8X zbcJc?w@cCX*a7TCSQ^|$l z0`Q|1^!)9THuD?AJRW69M_uFQzi%J8U%Z`uX7Y;0bBlKDoKWkCXRyE4x+kq#Ud6pN z^~JQ~a~>S3{+>1A>$A;U`kfy8lK3I@V3*#d!c8MfnxJ#vo}Kr#d>U~;@T;mer@nkv zY5RuXx?Df0b1eV5ah73uER$mBdw=cWlxf4p6NG51)#%u%kw1mA^3SygadY(3J%qL_ z^%q?I5c5y@)cT*M8v@ zw&CUdb7fAufhpU;L>tC~)kvf<;|dnB{;>D56( z`%iu8#0fW#_9=&5!YzLs#o=c^?=n-Q>?xDzlMIc{3#;qDF#BF_1u77uo=t6Y4!itY zTE^mjC9={Mf8=c*S#rPBa%hACEtr*4n4dU!THY<;epzjV)L$f z$qff!=*gTDRX?x~(|;SO`~(8L?!UzdEmL~XR)h-PoEXtO<=MX0?^gR&E7B&-R$oU= zosZiZ1>4F0wC%aKGCx*2xUXg}+NyBewEL|K*Y5iC`>p9qT~o6Q%U|rOJ@ZX?JHPN% zqtqQvZn5FpruIcSV;`=}UmcrmuYg_f{os;&a6=XL@LKF+x2jK-KTFP=e!F>b zziD0m&g-3yW~PbVs=Zt1gd2iH`Lq5PP9_t76COHKS$(!2=||i4D0O9QL<4E<<2xh3 z&zd&&Qxwi@_6joVJ=Xr6mBuKvAs+;S zcy;-X(Kl@KALn54t-t$?+56i2?YV1@@I$W~s!R&+^2fsiyEdvE4>ilmkqUe-{KLIX zm-Y)-#L;%^^izHKc&Tjy`}Zxz29Mqz5HTjWVSF6d z5Uz|W;C42;L%~$NxX>(KPTKc-osUF!Y8VI4QZOA0hu~o&%1MUG_wO1KJU6b$@%QnB zr7G2#YMo1E9$jU-c*6&EM;j@XL8#OABXr95utS}%L1wez>-lZzHNbP!jd`6#!rFE| z_QqNkLAlJqEW~lC?LGFiQKQeE;^_n+W2i#F8ox<2m7Lc0eZo=)lKv>PN+0dG>ZP`q zq0TI-=Fbn)X8QWd0CZ4%b!#Hy5sXRPv*;khDkA$*G-ao5X#M0b6VB68 ziwUh&{bpzDb>JJQI+@8UT{hB1+A?jTUA7|?HZZw4lbM6usNB$3*SX2I*TThcR2Er9 z2zmQU?hSFVM0K}fAzRHl>^Qcv%vx(>Fdw4X_aqh!fih|77-U}@AYDQnK-ARj~V zsMK1Sqd22X;dlI=0E;X{5edZ#MT&d;PuxYSi27CW+_U_+p^os&1s`Ll#HeCS84AjE zI2pxA5mWGCO*9t1iUu2BXiQno**h04*sMe$`|TeNUw0y;;iHLssBWT&h1+r&x*XRR zxIzQ*IOjaIl_Lz;DA=K*h!E0ya1Ga!HpzTbve(Q62VoBtOBxHSi7{JfC4%Zl3!-1i zgJKJc^X}=P!zF(S_MRVp!I#<%C}N;;<(7Y0GRcNW$Hh~&)lIRA8-*{e9Zf$_iW~MC zk*{=u6}k+?$UWP{ha_xlc=jWYH823%RHZczumStAdaV%1dLU&%ind_E2<-^KBa4Ce zq~thsQIU-u9z%p;;i+n*;ZvhTK0dxa5u*1YAsuiHG6MQ?I}F!v^M5GqF*U|Fg8!ia zPyhdY_5S~zmc>a{j-=b^L{^0y`++PCa=C958dcZ+CUj6&sX>yuM@}M(9~uDziVBfv z|BXuO_78qqdU^xEyGu(-VzmEvRIS!|e8h#zlmI&#W(hOddGn{5{|44p$sb+6#rxpl z!;yqjq9GV4Rt*Lm!$N^`HPYSJ03rqbdGkxBj0)9A`2+>kjckodtP;a9gAbqfyd8I* zy(F|23>4XbEtk1$Qg{aEPip}OfuR16))m!%_7UUu={6L2Y*)fb(rnJAbt3+eOMWql-^$IebQ`ng5a7VuFc&4Z7>i{1W# z(kxAHLGH;TPhvxu6i+d42zjko?;9bob1s)N7r+s#7g1e*@2M#1|~Bz*>E(Psx)oA(~3sas(+lbB?Bkq z({>i=K^r~pJ%$7_W+}zLHI_cmDfPbq@$oVgU-?kRt5YRGqCX6^pwq#(6*1QtsnzK^ z!P=YC689Pk%a)-S6ua@3B11O7^9-HdIO{W>*!^xhnN^=~=n6_MnpDzjkf>2)3U=UD z@z(biAbMdE@DrPuf6CyHkVSe$?Y<@!L>jXK^D#rn8d0U|LD#lvf9)kIeV?gyS<9YZ z#&3g0kZ1{qXS05Z>;UL;E%zqfS>$g2pdm=|-Iz(2!r?oA{uj}R_a4yVhk;niXQ$z; z#y$P{-RZzBr3{7OmXb%kV$NeR+}c@bI}V*Ol#6?71k*rdm_k=)axF3$%KV&F&0 zH(||}Y=quDoIKipqd*t#4kU!g`I5craDEz2^&|kKLVp3-+eTNxb2(;z`fmkPK-Mzm zR0AaBcu#(FeqHCE8GzmFYgAqFn>+aab!BUzqkv3Ybm6t5t z{7L_7_LHJG(z-VY&gxU?yaJ{*CHlS{cA~R&n0Yq0Kleh5j{Q2PjgrPh3ysb=Ym8Px z_Nl8(&=$76VRBEBkGHDlrIKQHk`0k(M(j!dsG~l!VO5U=dKVwN#Xm!`K|68d@D7S)ESlA?xa@ETE@qV(b_p?6v(&;r_|=JF|`Rpd#{W<88I{# zs_x;Ekd>q51^}f8*Nj%!=a$xo!9_i&Eu_7_Pyp%Tj?MGPE;a3n((gI&YDT2VJJnq1 z)t53L&WRDU-T$OT!*sgyb6+~=d#SQ_r~zn7Qk7P^NSI5;>$s;Xy7zPY=k^5xag*-x zyy<;&aw6B}D0JG$v~@HY%t@9pQq(AJ)dF6i&*eBj7mxR^M|EW*AMjS+{mSK;k5Sv4+@D&rvA1;9L=~KNEB`r z8NE-7K${SDQx;NMsw14LAlAf((?3~ZNGN#hbloDRB0zY%pCcyGjdE~a5GJt<;_oE3 zvAuYos**BX50N4+5xVdE4{-jPo&~#t!M%ZptwlR}g6K1wgi!=<5T`Ih*Pw|5aZH8w zfg=+v@rrSnkRbCvgoJKr;V;Ll<@Kc2s|*+8XAeg3D5JKS#Tc; zT52;%x;`$>4Kn==?4&>gKTsotpzv>_FSJV-F<}`j*PkP27MR|KhiCv2!LaIwHeUh~ z21Q`><&Qr#W^!cFd>8#s%!VX+BrvX!1gQeVSL#!jCHZXHC#!4;Fl!p9Sz^VRi96o8 zh-FILEP&?uwy!=iF;dBU=tfLpxRSuwnH>G4fL}nH(+da)$RE!Se2shg^5qhUU^d63 z1`dQB>RzW{Kn-1J;tF}*hJhqp00YCIBVYdl9)}o|#9^j+53syD^jIMga5xoy(x*NM zpTeAEm9JT0I0f5~>d?ZU-v2`;_WusVlQ(slvg1-XN zIe)nVIVo4z6bt(S)_WAmS8@j2R6?W_Psgd}AtCVegr5moQD}0r&1aD~)F2SNRqbLK z*Rruk9eX-)Y*PRE3?JJYpB0{EV1jhudkw6{Veb+3=_$BuO}=_Z4pp10SO+56spbX( zQKb@=R>5Az-9-m$Zzg{3es)4vT8{ybwG296N;bC6DB;A1nm7KWN^B_^ zYQ5geqVfIE2Kxdu&H`u=MtmB~)e(1je-wvan|YNA=j2(vz12?8b?56uMX~&ygP1u? zH9wz3P=RgKtWlJ-6;U|ydxhHa9aLmb7G zjV@_55X~&>j9QZL%-$a?rDN1dZ}g}Ulk#+4{mqF^ux-Q{jNlcy7V$iM609p zCEoFa;8Yh4cpq102S)AmQ8$bj)KEh_OYH8TYP;)W^anvyu`DqtPBI~A^4~7l$1rLC zUiEc+ViwWTcjPbK7s%y%lM$2cbXhMJQEaSLcSlWL-H@>E7>(g85u_L9MyMS*qa^}x=xZc+Ec5c#%g(12&MP3;Uz>oJihTS1}(Vfr(kim7?M00@=;| z#fG1)Its^z=#ui|t-2|N;}snzzrsjLCRds4R(-4ebT-%9K&J&NB6o)T9cd^j&ey); z=o4e4D_=UkQ3eQThX1ufUkY79|L;ZGJ~$WU$-}sZeb^+n^^K~TZisKcP+Moy)j*lc zGYQnYTaNFF7I_nE7Iv``4!HXJF>cCtm}(t04I_{-PGVV!QAzVm*aNPRsHuZ|t<5yi ztv$N+Pq>n-Te!$`5`Fz}*Y}_|I{M4e+=+8}ekH#^Xa;cqEUtc*Zdl1&Uun2?g1F3P zg^S%(IvOJs=oGQxR72|a{PCVPOPUEuH*QOkzv*u>UG*^h518x4Df6 zI$w0Vt^P$R6qQnwPcw326!6E@EJ{rox40g7ZwJ$&&2b_;eVE%z*aJWk*&TgvA)%f0 z)4%SN^GNJ2q#Y&n+dZ=2CR;Jg#U{!bqzincy*^c|aayk<+W(y~`=#6HhcX-WoIZ=n z?tWROY6p*97;mmWy;5SNM`&SD7fF8n;T-FnLT&Ou&bi_oN%Ea{Zc;9Ep_iF(!)#Jl zxNZz6E)!zOn)DtTR#{7qQzKtwr(|t{{J_Csj2g#q>}obTYhZAmJ!5qR+gva=O9)hx z9;PAhmOx@tx{EH8?hjcX@I`pvv#{GBeloT_y=Rrkt?`Ahw#!AzZ0`C+PU%Ny#yB#t zLo29C^id<(5zMk-XGV$p!+3-p!YXnqpJ^9<^a2^m-LJ9zN>%R+<^5xd1MLv3W`*U4 zTaAHZUh_BZ1ZrpAdY}1D%U(rV=F1o<`G}6|>9SGW8Wzsbxt4|$Zts(wJTyb5@;F<{ zL&XQ9jw?y-rOrc!qD(=wp$Deeledbf?}eu)N{e&%7Rm57lpPo*i)N#lXV~)M5^sqm zN~^v(F|yQn{$3d9+QZLe2YAj(v`?7#E(Jb*-cU3Q#K>d{3Z~zc<|)5IyIbm-`RQ74 z%F$S@wA6y9WjdsaMHUX}o!n>3(y!~ZHEz7NmuL^y8ug*DXoTOE2sGcVqqIp?khz}_ zr8r>2Ip@z?{ZP|I;^?)wPnkyflN-|PugajotsQ67r6%WbVV`bDlScx=xbXV9C*kmt z1ag(C2pjDSTRs|QtA(RgMyvF$*kS5manSC&%dNx*N89SGqlLDtPn0+b3_8?E zo!)m|8(S*h9QA8CWLey4&1#O>XxVdRJbvqVa4_MreC%<1Nykk$_w=38$-2zp%I%IX zuWAQJIz&$w^;Xo&dS{Oe;<&Mv7#6Ls-*ozM@7jg&2ha5$^aAxXd;JIB30V~{l9fnZ zk?jX5q9|4iw=e5i!4N6JlcF3$LRFH)kWk0}O+q#NV%4iOy){kB;maR|+PrrmewQlq z6uC}uRdP~%XHl6nb!T@^az>r@8E%Q^rnLoUt~?w9LCPh0ORB&pSPB!b=^fZspKNUD zCqL8hixa66MWKZ}7)5g%`UV@fLem318Zpbge~j1Peu48p5UR!Og`$@|t&a$j@pETA zo_tnemyq>88MUh|2@1a@mggO!SQtkdPv9W%HOG8URW`>=W3C}zb=5D+qwl|`x6W3Y zJhS|6#whFj*7yYr-GkxqH!%|R0|BiW>Ta#CB)>Nj1O+LqPal%42YT@IBrIbXuIZ;7 z_?;iVo*c5ZOCB!W86DdxdgwjaI(KpRbb6){>T$5hIpPCB(R06=`^NU?`XbUj@ZU@f zs*~mivyN3z(f`P&XjipgddD+}FgtWyMLQ`Y%S*fhrr;bZvi_E%-!jJJ z%qudUl&~tWlkGk#dU4J*Rgg~M{BC=$0>z1uDATXQ5~V_?`AY24(nfDz&qnidz?5!Y z?ANR(y{4^A`=afV-a@N!*At5Tg$8zsA7mrtCZ`YaL%qo*-X#+IJb0BhLrET<2)fpyBMDcs=%A-v`R0}^!S`MlSGz;?Hi-khqXoYY0Hi2G~}a!CMTw&I>*Y0Klo z%)XE@r4Ue}3SV8TU-QyAx$chMISPJ~w$(sA_a^u-+2cg1HSHI%4Vi3nG0}a#*Pu&| zf_~p6P1JrGeE@!%^quaLPrE%*y9?(aq_keyqml?9Gi@-qf2|Y3ji=9<&6;A)*Iw`O^>1)>p5(0Y{`F!k3K^sIqa{jajVlE$ zmeI!+mQF^#42jyaJo+rFBC?3-&unk)2YVWrckuH>JFpU#>Tz5EhdZcOMx!Q z9Mub<{_P2oHn+;PXQiF|>bLXGSM$+DSEeWSDTX!9-oWSZdu>O}#9PpHrptS|nX|N? zw2Z~Mm8^Uhlqt-YtbKeDu{SBK4E%4Z$kC=x*e@$(G`Z()Y-xU9hsxO#vghwKAI*z~ zM`9BP#532}<3A^rNFYnhVn4q8crD(6$olM!{;1;NWyN37pHHql`~Eo7RKM$!+vmY} zRM~j{To0&)zglfCJnvgIG)e1=x_O@odu)A5>Fz!LWwDGILnteYgA0w0ajB@8d?crU zf~0TYoWNFpP9R2A?#|D40#?mf{UU?=A2%%nKGK>t`U-5n_ZPg9aEyJ%CDfm1mA=PCB--`p;6>5!Rh-l z{Tn}>bf#K-)SYKlTq#oaJOb!weIzroz&QHKqshl+)q1_S#}6gS8i$vYBz@l9y`#C; zN9on>TH|MnOw%TS~yKtlIm=Gd!zcv(m@d%k=T;G zr-WKd$h>02q>%V26K%!V|0Ma*g%(f-$3|8>yfMp`mlM>NvMefcbX%VECy3C$HE-V0 zkqv(lbbM=DmRKRv^9_riE-V5uq=l6viIMV1?E})P*hhlSgW7qQs}`_*K|@#r4h|kvqU7Z}eL~;w-}sezt0EAQOW+*D zrY~p2J?erh!Xn&3ZoSj-fZuZm*FH#~4MSp4JfGaIH|O$V@0&Qkx0q?G~a45>P zE7qo}R+Sk%eswws%kVut4U?;AHu;NLHbI!21FqbUVJAa%)8jK*f!Lu=15xP@>PHf!%r7vD!wO0@SolJXoGqd*ruoL z*28HYrZf4pAjS0-|NeCbaTom)IvV!c5A!s+SuHj)S3PvUrpfq~Tjgj#>dMhS`GD`4 zb*Gw~rNFGyL<0^hD)?{CJ2cVygA_y1!=w6LXZ+24X-%l(!a;*xMw4k}LgCK$)rS&^)w&94rNQIyMJhGaPCsgg+|K&UL`y@2Gwp++ zaUU}pBg)H6>hs42hhNrSd9DWRvMr&)m3~o_crt3yW`fO3mD=k^fz?m=5TLZ)XgS=t zd`+!LJahgarSJZ}g`{<7)Yp%sxJ^QqSM8~N`_<%BP0ML}zO%m+C>Lk47ILH6s-(+ze*{DozsuIs|MfYf0@(A#Cp>&}KI#dN0Vl8XtW0y?#{_omS)7VbB z_JaRZwY0!Prv~l*gt1!z6Q^|6w;46u6VJ>VGH+%OPo=NWIQ`JdCgMMLj#^=tNp1Wy zDy&#*x`rw7&dk4f=-fZ9qVE%g&TbxuuF{M@*^o30x?q0#YCaN4qr&#}{pUbu@9YP+`^Ac9os}_H_St6a-xdun^3z$%cUhGPAL8m{={MA3E1q?{ zdX?7v*`vXxG&-!&^)d0pqVCw@vHwzanj)=r=n&%YavRD9e7r{`r)^hBn!6Yf*Zc}k z+47QLhaw5T46t!}<6R96p#_}ID1uN;4F(&vxZW56f>5gv+gl7*GfgeNo4VR1^fyHQ z`E;m>1X3lIcT`kB@1?cA1$6sj@&AWzUpnABU5_V2vHfbGSu z&d-T>#c0DSJsqMHa^oGR;r1o31Rv(8E&%(f&s{epLs+s~9l6%zp-YM{7@v^{#Loz1 zK{$wVw?vR0>#;)PPyUDFqz>Y)+}J7lmOQkf&sgx*RYV|H;;mA_>+!uGl)rX~ndakm zJcvd|EJZXbvhg8|Zh}CirmR!#j+WAv_vez3E(>z}_Iko#J%xY1xm7dztvGXlh^S0= zvHnvikGS=|-^}KAqiSPI>x-t&O8wh@*y_SZbh}YhVsoHsfP4V_n0A{+=##D`u|69Ft}wTb z`&oQM0F_XXq-jpjH8YaN;d_KEzr~DrxX|xXQy5;c&Jsd$Q+vB>|8AUuYWfaVxRppK z_UFIPIdP?NIFOjOX!u^N)IYyzV|y^^h@?e!f>MN<;OZD5BAw7mlJQpbKU{r)(PteQ z7m8gNp_7Y?`?r&eX0vi+ZDV85u>xRA9YbwM7j+o9NG^9@n(1bH7@nAY9|P!j8A(~? zWpldq&LKmvP6bP3xCw`$JE^z-D@(pp_|kt-i~_bDSL`uHgkV!lQxkngjcF}~B!H*Q zyLa!tU`Tl4o-0ot={q^`_NNJRwnXWP!r8AjuD_h-`vtgMT;btI>=fDg?ZLo>y&f;c z)`aN)q|O`S{AXW^P5n7r3P*^Om^XgKAAGw)ncP7fI3kW@SQ$DGLo#OBo@zXlGu;KU ze)s17?G-r($tIaZzg+9*-M#0rip2pGbPP%2{ti(1e?s10NbyYffI8n@Xw@+;h?G4! z+7*M69c)`LHc_M)!U`3D2pU)-8A8!m#9DhBvt0vMKKQ({?!ZSTU04V`^AEA!C_RLR zkyofaw;hAvg9s#ZA6;M{j=VudhfGpZ3gi9j=Oe{4;ph({sQagI3661b7eQ8xY19v0 zVtbYn(X3N=&XE!K8HT1V9Vpbohj>MFseCV79u&*|aLTP`?!~IOJG4oGz1Je}i^4)M z5>Ns3uwxePZ{qx$6{b~uY%>^&s6^&9?JI12`7vduBM5O7=l`f%9FQsk6nYb%NgSmR z{~>Meu4sCp`PAT96_Xb-$p7R>s0`W(HE23QJrY3cxsWXOl-^oq7@IZ%JYp+ zZnsU$w)9p-y8R_C@yLnV+{5v_~CCTzjbZim^vI247UG>ImglLJ7 zX?wT#So8Q4F)1)JmD5W2q!BO4W?oLQSS;&OBOk*HP#P3U3R%Z_x&DJ`g54^G8ltXt z#4robZ}xgeb`GA7Hw?5dNmx@llvJM8$C&lB`zT||CeV% z!ul{aE_oEZC_`F>Jl7t3Xv1lB`8JPcnj*$?D_h17W4jh{ z6aG>JECRb)aeDbzQvEMAv!!eAk%B)`F`$up0JP&dn6stO0IN&?vD{6bN1=vfGj|Su zXpu(9nn0)D0yzM*;{>`)2uGuUrbHwHnVdSjsV2Ki{|yc2wEO;+wTbwM;1f9f)XKsu0dBty+sTGs>lJ8@kAau~N{#0XXuF>n&?UIH^*7x+ z^*`v|>vz>pYml}$bH8p?0DB<5RQ;18dy|nO@O+Bx`+B@Lr!!s$6Mn4qn(Wo>9=bjA z0K2EjCj&3FGsI%Sr%t|ob0M0wNS*bL;SIB_@0YkS9x)XAR`#!K-;mv{T0n#X2DO5p7YJVxi&VGf6)nq^pA z$4Jy^yD&N)5%%+Sz$Li9ALT^67ox}w6XaW>334XraQ$1w$w37NHKAAODa|6c5n2B$ z*z>5OvUXjvB7M{{W2AIt4j5F7Se3o612=}t239+67^5v9Hc&d4q8zvz!(T>Ovu#@2 zV~~jEpPw>c(OkLhrm7mb-%Mk9A-l+4`~{nXBrvM!!de^#bMA*2!FRBdDJYwNIqh0V zZy6|DwyLWW2IHFW^^ek0C=~P|ey;4bp2)$o7I^yAT9nBrJcN&I2FpQ6w)Tu*4qd7Z zXBYdv!1e5x#BqsP_fo%ahn;{A;gy4*gTd!tg;?D zEW%#en5O{J{TpM2-<-qr7*EP9z_*t3-Y%v9fx5UENDe&sIs>whiN7wN+`6CLpk4T~ z%S90~XwMZa4v+~GXBGXnvd4|}bpHnb(AQsCmNRX7YtA69MvBr7CB^7ZK$ACz=C-#s5|+Km(Zel3G5%!)CYEAV^`X^d7r?srJLzSwTs^)gtsB4wnOCys#x z>>-*Djn;^>{`TRUIL|kK(T~isOGFNhn$g)5K5DIdekeVEuX!eT>B+q3*N6wNir zEbuEFB3^~tukPVtb_ow%ts?E;TC&Udh!&Ezmi<$H>e1*YGn1yazGlC0@9#CA$oHX8v`Nbo3wwhX(iAU0oT}8 zIXM!YMiF_0f^z%~=@T1{`FB|Baje3T7dD;QB?1aZuT$6*%HayN)she>Q(NXnp*!D5 zY-GT#QL7yXP*(c1y&T_Y3VWPS(W!>>EhZxZt%6H6uA=jYIb4`*awM*dT6ADGCWb-r zw&261KOA8PE~Q};!cH~LBSdBtng&VHwZvm}py=9gXIuU3D>@j8RY?tJVzkCo^ep*t zHCcwVYR^4nW6<(dDc0&A4ARo$NkK+4|u4%|~^wfb)I48hR0Ql5Em#1R4dWYo} z#}cb3Swb0;sMP*;m?lOmsm;AH2+=@rYj*u>a)>-Jn17<_r$jo7bi>Y8M23`OTN*c- zvN560c6PVrMTimpUV%iD6-RJ_N7mET&0AG5gzUEyh~Lfy14x7hp`!je1NOKTCx%MS z6YoU9blaAo_e6=!l|8002v-Eeh+6(eMYDue!U7zXJc0-hLS^&spFVOCQFeBJ(1sjF z(zjApkO}nL8{}uTQO(VcQhO%T6UmDjFgvugXBYAqjYq*km8F^7}=Ih;7uJd$(bkTPT$0`NVD(^umu zGD|KMoaQ8qpiQaVJGJsyT@9Khq!MsP==Ply+!urzFI%Hg_;qK%ek~PiIV}SmHF4?2 zGgR49^AsKX;tV8Q*d!*A>4$z8GJB{UB{hBJQ7#P@fw2|2Y?z5 z=!kI)5s6@Q7c!Eb-0XpSF`3#2k+q~%ya}wA%`RhwKg>sGN?(hCk-@bz&v>M{0$SYcm$>iRm6pQcUM#Pl7mPatu zti_*t53MWAk0hpN1lWRv^H;)}t<~*q-PWuwApOA=#@6jEG^)GF9)4D|0`Xdn*Jo|h zTCm3j3ERD+MsBSP-OUfpUL}Nes~Gl=Mr-9u2shgoovt7&D>bvE?&jQDExlh4bVR}& z8*WTZhPkP<_8nRH_bj>FM)#XGTMkQr^6@|<6JvM-zn-I? zyQLs}!&u-}+3zl~o|xPahs5Uz$o57+#^>}lgYO|2KZ zsN0Mk%me7rVx2{bA!l6)Li5mDhNs*DK9!38QjkERDb-^VSv)Q~ocVnUPl_#!4eEy! zc(Gt}M1Z}C8Lgxj{!jl19!U7l5%W&`arI6SmR6(i*0Brfv*E3?yZTa9PB_OTHdlpz z{G-X$vDNF;`pqp2PKDcgq7KFeWn_cdeEY-v63a05-e= zytYvj8jn$AYg-Y!1Rg@gLk5PG^2{2SRRzotOb8-|Rg)Jhr@J5~Q*9ql0%iyWTimn; zRyf_FJrDNn=TT@hlZ?rAEQn9oTViyoGh(j=E1hD1KBYIK4Wp4lQic%i0%l8?hl+qF zKonA3b#}3cGALB*;&012U#hme$off*w(C#-3`%;476w?diK>*6iCe@d#@|kIb*WhR z0-gQZh##h;zr#@z7Q{Hj{23GP|6Pl|^wO#w!6<4^0;_mp6gg{7o~k3CB^({tlb;jQ4cPAr4BFttu=QGeG zAkOh!L$klcnG5)wJyvObaWCvsz51IZmO^-%u{S>ed7<#hl}FMag*&@T-Cw6y;+j)2 z(PaP|Xb6n1IvSD>NqC09WVXzr@ufi+kZhVp+nfB6^}t#F4}Q69p6*kLe~6FM>Ad1G zi7(3|qI{^_RZ$zDHxg#pmQ^@khuk_~3QqS2bzrtTiOrGy!e6PD z>OxRCA9TILY4XLHY}tSjgiCcMvZ`kQ=_hrmjke08i=3d*gzNk(8p{|hE(^p1v|8H( z@~U$|==Z_*UQ9gMS4Q1i6?c4d7EvA;W3k;)GGLt|e7*}b%DQjDczY<_KVDpmW9?D> zQ2x+74wA<576Nc0n|~LLrd8k|dg?V^4<}Canx!U-WdHN&>(0J6w|^h|<}^vJ!RCuP zmdGpNch{?8I)WZ8f~LAKI!}9vuzrW#w~Ks9CV?Br0#2-Ez@uD!>+h${&FwSqF`stN z1mXAEaQ!*44N2|z)ke(a#w{qjKVO0G;b9&GJU9bpuiTAA<5M-jD*s;mFHtdul;?IS z;jG`UqX0$;6hp1sT+Xe%jpwsP^@~qCgkuuPRviswu#M$AHTH$UVVAOkkeb^u*=z=1 z5w*xkQWcvl;4G1*NEPl)wZXHX4*PAUo|5)1aZjGk6|o~aUZiimWG4YNNCBn@yvT*& zm~Rs~(D7YJ5j1<5u<`2iX}ur_!5mi>r7@TS8SVPaD^U-YtTP@_-`{d3|8_mUJ$HDz zKUX2w`TaBAclhh`B0!#hXF~39J@EOpYBlsr-*r>?r}TZ6Ln)8N&ifWngVCpJ$@{9F z+5`Ieljf`AcvTv4VpGC#A?H{ZxsERJNbr-y(+g@7MrNrkwdX`SVqDU|TUpquI;|32 z$$-KX#NA&jTF)1)_+Ks$*!{F9-x9s~@dt*`)qp7xA4Dkma`EDhBtdm%d@UJO0kyYH z*)!n(@irQjoAa)v+K2;(W_9GrmFvE$lf$VoZuft{I4X$seTEqXQiKYC5b&SPI#uE# zktyj`gb`X7&G=(|&Q(ufV8`DFvqmDNyVuB0_(h4+`%AvB&$U{{Bp+o?wcoJkT%YH^ z)Ld6~>#+sDyLl0?E=$E3f9{SOTe38?)Jq3ZZ725ruxbX&9*#uc1k6Z;%K`YjbRm; z_Y^RtvLaYtfj>K2YU8lK@u`!&6<|l(Niqty1@H7+{rM3K3yazYvqu0=sW`LG#G?iS z{zrXLGM4CDhE;c6)SAG*sIOw0Y(tIM#rQsJ*za*bk@?uMfW-v~^Gaeexh&@z;rR`- zQ4cDKvE}_waR??{Pw=D7X2VP+F@>=BZ$}9UGyH71c6V9M`cs8cvz)Wx(TsOv-%vsk z$FP=go&VM2b=jwige(sg+NOb+kxdnA?T=Sn4jf?8q?Ym#>G2vjlWa;&|;NOY= zt^XS?CUoF8&s_N%kb1QlUOQn9B&2koSv-xItmXR)*U96%Ie$l!BAq;29l&hnfRzG(> z)_5$b-GVSHZbqdA38$k}0p_$2u^C|biuv9d(%Jn}YHc-{w7sAl>6sr3vqS(fr zQ7o*WNy@(96@?*ZiW1NWrT&Ypt}ja3*TEN~b$Up*GYD}$Hj#!|9{u94m&UUN6SQhT zqCM}9vA zi3jysjZD6<0kZzAL{VkpC|Rd~cEk4jKftKueMlQF;-q%*|IVEm`~UB9=k$GF^WP?w zXs4#nkWk5PVzo3REAy}&ezvHkj7qJCF5Gz@;ABQOR9H5uqsu*MRA10@U3x%DD}2r4iU9~`@4z| zgnlmMy#MC{2o6a&CGz+7+HAsmtWzD&*F^84cySv+AnsdVTg+>}X-Gt+Z0Zo&8^ zJqIiYV}Z2B16fb5$KD4Qj4&4qiwfHD8VphyqTqMgogmdl6bvcjQLMP^Rrqs=<$o|o z!fY6EjQ!vHHmUwUFntIdd~xJU0;2q zy9G*_78~?l%bpy@_rG71fi5)UBBZ8dc+};FT3}8zCUbW@?{kRa5q!8Usz!`YiNuHx zNr=caJu=|gtZco0#fCj#!zk{2|KR&@p}K*~g*?oK0O8XLMCn!MYlw=L13n8S?6CZQ-LbC0Aqp+`JTG*^?)-Lx7TaGJ$JhkZ~79YAvqW5^+K&s zoWeZ~?s8%NV0jAGTW!oz2;IvO5W|(ib{yVIiIQ_-(my0MI026JQ0OZ83GBO2f_pnF!7&S84TpeU4b09P{8cvP&h z7bdP+n7vVC*_4^sh4I&~aUAAYyDlncRVk1Dtb;88K>O5+ zel7v3(e)o~SQJBmr5DN|92HbU>V$JIc&W+CPt;SN6A;D4754X}!qRX5awjou5b{q306GXAm8x>Bm=J%y+eg*^oe*co?;99|FtZ zDEMoCZmB-ms)Q*&))e4{V%*|hbT`C2Y(Yo%w&_faBpAe$-Zr9&CNWJ;d4SJ|d4JJG z#gh?}?p*+U7)q0M&oEYW(@Ifh%-jWA@V^c$-F@j8WIW(f(Hupfup1fU`5vQ>r58CQ zZTbG*Y~{o4&Dx#N{*o`d_AxxUf%m|i{7FffiX592?A(wzyx=h?B`=vU;j~{8G$$A& zj;NTM=NF&59me|WBI+onn)3S2N`Dr#;nD8zugwhY^NZ6l4Y<0Sde7A8wf@SHD=CfeG2v`fF>f36b-R@ zNG|(=-&kL+f`U1A@+MR_Y5sepIgQ)()KY8Gn4ps}Zwi=NXY2rYiwL(f7v4nIy3lX; z3;|pwI;G7(fcOar^)hU6piDV0It2BkDghZY(nrCS1L}=a&#yN#IuzxLNzOYv7*PoQ@t?ltV*SsKCsF5^u|M4H{%U6S5=Cf? z@_ja#WUoBq8y$o!J=zCczJHL0;HuD?2CYk%s0yLpIHn%$>ND9)Ls zgN~#yHbjB8*6hd#$RY>{iRwP8h5T!O5YKZljVpewhb+gRBwO2u#lH}1!EO<`73>7Cq(VYt?kyINS5^PmDaL&Z!#J7pSbet?#K`D-RSPT#u!gaj1_M@GXdLP zX&)twfQ$E%E7A9GMH_g(vH3rq=7Z=9v$@EcwgWYjyhwC%(8_dO#asIu4@Y6Mm#Un{ z+U=!?THpsx!T<7Q>YY4P@lB;^MdL)^E6%fGA~sPK#ZdO-*3*aA_@$^{K@YX_@vZ~jr+@fY>qkm$655;gZSO4@Hj(_C2qWsw{}B`8OCz){7zDx%e#zz z46~2Mq^Pfmuj)eJzB|XLeS3L`IMW*i=9~tCs%^0?kH(uLAT$!-uD4IsK#hqreNcY> zo^nr&(YLT`Rz|P&k2YA&arE(L)QfesE0T%bVFep%SDc9w8}W0hx94#d^W!O)$is6Y zdZm=ug5P0&{A;%qk*vgr!TatKroYy7N6aCjc-h+4+DU!CaI&>9_W5Ws|M4sM-k-X= zoqMJI$c;=Ngvq|c|*%CNVGpZ!^D0{CVu9xq1T!L~`U4(6c$ zwtsRgoe+fCuA>wWrrYqa>=bS&8pfZ^#rU|NC28P|F6_TZq#n}s>hWV0<|^2*!5p;W zKr4#+`I=n!$Ljc%tnvhyut6c-;3zQ$nSwi>J3Z0_=n%FVc_{H}$W<_g4bHH)()06N z_Ir>5#P}7ggO0ySVweKS1)C6n6|Bzm!jctu+Ju+ZP;7tZ6$`2(6Yao5l*5Rtr_<{= zx&XP!tY@!)_v#pL2fyfG7To&?q)?jBQxhMQGQmaQ!E%EEud1o%3tjxxr*Oz+Q;zL* zHvM5kx>&ygx!pd|9IBA%a!54lPg~<0O*aLI{@%{Ye~A?5neZrXP>L6L#bdUM6D5tf z%BIT(X(04qWto2)du_Cy1Z^MKnLi-hBA(p$&xHt1>8RKSPNPf?7hN9O%Bprw_QNt@ z_s|;O#H)i;GUgdRc`G9YNg4$coCxKp=aGU{G3)(hC=^`ju|Koo0_VsP@+p(2O3Ch^ z_3r*jk-0PvT{+C=8&5FH>Q!S4yCmxj{)PX#`v&*9A$}wm2;ecw*Bx@q_EzzbQ@J!b zcn-?#A*7WDC3XZO$$au_=D zDw9I2Kl^GjT^nNevoQdOa`yPdOf810f-0ZiE=D-ne z1i<4`NFzVg4{kmM;|&2)7HLBi-Wxnb3#<+MR8Ba@%#d1}v<5&gi=^iK>C{`_zOcV{ zvLDQ0(ZMO9#U;UvQ8A&Gv~i4z6*ga!IyLn@UdOw|f1BgE`Ku8h;{{e^AnfIVpRFu| z9rUY6DIC8u{!{t&rc;ZMt@!73k7IRIJcI9m+2e)_Svha+(M79mFO@YM2%ErBWN=AS zO$lK>A+Tc3i}tpn!h}9$TpCiN|f2+~AIe3NMFuuQV zB>P^ZocHQ5K^19dJAZQ;4!pG+K}a2eo_|)Yo8P6C0|)ujxiigv94)}O`9+hn7D2hf z^c^Abp-;%=JwNR2MW~f7f>$g#jc&K{;($AiwNm5MqnM|!#CWU9|Jt`@6mv{5nHcuj zzSRdZ)-OA~g2h1XnD26EK!o}}2bZbKnMNOzr^kgc#dEUu3P8U}+1-iDyYW#as{ zGwz4(8Q40kDj?J^a{+-(@fI?d)NINPq5EyHmtvRb1=!f{cY%Xxj$}*wP`TkGE?!^> z(uNG`m0d606c~qEc=nv}hQcV`sR`U^7%$`5hlZrX-P(8K8GXDI;#c9(UG4ML2%@`8 zt>bW*Yty#c_6fLkYOmQpwQOxk`vHX$)$4Wy?51`>Siom67ZwrW7`|HgPW_^l7_Jq&km+PXQKa=LL|&t(A~A8fW$S?Z-iAdK zk4}zI)2;7B=2anl47#c~W$uc!Q}UzJ+gOox&?*7h*(= c5n^L0*R-wW5svIbyA4Z2Ra>Q8*(&UR0hw7%mjD0& literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/assets/img/init_flowchart.ee5be600.png b/scriptApl/chart.js/dist/docs/assets/img/init_flowchart.ee5be600.png new file mode 100644 index 0000000000000000000000000000000000000000..f52d628e502b6b6a88921a8b2b2e89528799c517 GIT binary patch literal 25160 zcmd422UJu`yDi#81q>)=KyYIgwQ~>=I?y@iZUc1Ax#?uWj5#YRiaCOaD2k#OT2KKa zDkx?F70ikO!MFJL{?9$<-h0M)A%!BFUUFl;;&&4+?Vz_1WF z@CS;T0D-`zf0vhOROWvSA|`+V1EWPcv(n;r07)hv_yYk0*)SZC0&XCI`dvv65Va*3b>F|3WKGq3SMisn1CE21~UOX z0gi^lC!o9f&6BBRcHMun(v_)l$~1pJ2-|Ez@TGb$41)J*MJ}Dd;e!AD04|l?p|hC( zE(SqPKuiE?c2#zIt*XCsl`5A`0kqkbYXu(I@pm??D+iVajP5_f2;A2FGjJp`)u&_G zDMpT#h~$9NV3{=b-v-Pwp!@%t0K8Ua2c8>jSDBS6``^Y;QlnHp0*a%!(>0e@Iy#q0^BP42nuEq5NhK65(6Giy zgAxfml31dlX?zAFj>d8$scw#ifu-8r8V=mYRf$Ow9@y-$@kla`LEtvyaXh0Mg(tWa zJek}j^|E+k4NVCQ9L~hUSj1Me5sMIM99jaw3Nv$AGNRNhky`ma1Oly8QkYb@O$g?> z)JPf3DaMnqTr|-w7E^)FsOT)H+J<3gD%nUFRn6o9c_=DWA~QkI1`%9BrW1i2h>XWj z!MHTwDKi-+6B#TtYcy0Zgd(&{O*kiw<0T8UYOIt+L|ddtiqs0G8x+7Y##zJ`jYo~( z+pJ)ikd!Gzs_Z10N@DNw8fEM)QcQZi6Zj$p`@MjA$D6$vadI+EgHN+?V#*rX-M zu~xL(rxE%v)XYqd!a{a?u|N$SK}2y&+!TslZ-i166s|}G#)#lP3R|a#(RFH{R^U@- z;=O5Zj7{axdUOIU0f!aKZ4S5@hs7CSdVBQS; zV&qZ`Rw2>COd2LclnEtr!8W#x=k}3V4w{rCc6+@-m)wOgInii2#q48a(FC#us7SI= zU~CqG#rMKhW?;&3WU1SL)}z@FxPS%}Akwf1I8kpB2_#5`z~DCEAwro|j+4+;Y=}Wb z6>#X8dNSSVmHKoP7M0>NrctbT4;RCNf-|W$E*&ot(#1-qmE+9xXbC=@o{c1l(*VPA z5;YU>C87WhhZ;nBq+Wowo45!H4a&wksWvrNpi_EjcB58{@_?;+sM?A1dJ#m8NF;Vq zT@ECJ&EdIJ(ykG3*xWd`-o`i3$wD%TZB__n7(0pvWkJ%^LX4g16q)TZkwd~zB7HJv zrVS<25$yo_;Rs}b$BHMt9GD2|;%OixH{1e;;jA2wLBu!Ul@zZ`WoN3DOuF4JxL8&j6EJR;inv~Qnvy4>c|{f_OMq2jpiH6<$}`i2QnZ$h zgu0-7mw^g(0tkYW8G#{F2o(ki2g0`_a26=eNQC3@QaB0j!lXg5(ykFED-ALhgG$L% z+1zLq%Yf!#ePp4vdXs>Tg3(=k4oYNa!5C&QQLhx3@xU3IsZWjBbXiU1Bg?*yX!yN+#6o^ND~4Y*f5k z0T;`Va)gAdv|Fr3j1CNOm|!q2vkTyXB3Morf_8lXiXi?Qeg7LMw)v1AslmWRr1M1t zh>WE+dr1Es6jRJyOw@(y01(R+NQ#@tPykKnB^YQX4GlC6F}mbprOPU_t3_%tNry`_ z5;+F88hK~6+XzvlsR&XhMwiAnn7F<) zAyqEr2)Ig#z{=$V)~RF`!fE8{+z5@v;8W5FL?~F}bXydnOe~+JHIs}q23cZ5+sULf zF;~TsF(f2BgY1(N7<3lKC}s2UB$j{)!%@9xr$ot+xmYkTO`N9Iz_?Hf!fezDRSdV# zBY~paauGqNQrHYkgVSaf;TRBry#c=Af{_-n&O`4)00ZP-z@Vm?t$aBf0YHP5sWmWc zKu^UG2@M8QGEHc#B`p&sc3DhLy4~WmYq&56-Y!Zb=4Zl=`gMeX;a!r8V6ujVdP3Y8j;vw64?Y0y~7IRW%A_4G%L!k(ktm{EEXQCr#mqe`)Eiju=j zbC8gk*e+i5z`+PY;$%w0MX@E^K>SK6^S=l zT@GSb10IwJ4L0*MgiM$f)-_Q!BGj&d*c=9$Q7Q5&bSMKJ&-AdpJQ_z2Won67H&5kL zX*^7hlc5n{#VQF!=Tx|HIGKrol@l=}1=rIBKi;ku`4T*tY!fla2Bgj<%e1*A05+nG zEIieR6ABN5F zDlXWA^QP&nS~ZC!!XaQ@UZ%-Q;EOdJBF2fO1JL2&sN8715iECEoJyL?z_#dRG>eZy zg75@#1eIz;^W9v9NN#a699$1oEEAa}7&IA$pxQJhD7`DP;+ctPC?2C%3nfww+vgQ` z@imM=VhUkW0*^`+L)A#S!GObi_yoR22;5W=bZDrShOrVj7@|tu#UdEH511JmU`|gF z;89+V*Ct?L2rviBNe0`+UMOT&bfQ`A#iNl* z4hBFa04i7rpWAHmaNsN>St|q^yJ`xRXqgI#PB6e1TP6nwl@JMFvVde&i`;U+Ut5LQ<=P*j@TgL3Hz3Kh&y3<8u8p(GJeNHdf!NP}TifDeex zVv&pB;}fBD71@Yzn%znPj^zZ9l<1Y}%~G<>N`}+876XsUk{i8hjTxUt2is^EGRfc| z(Y;+Um>!Arp%6TXv8$E_2&(_@fjg4yfpG*l=Xe9#o0g6+llUwEbh-ld|259ev?^sz zAR7G_ybC=_6_Nrcvf&W1S)!(-5v)=mPBJNBPBmFBH>nUxElnrIs;D|(3e_&R!KBgf zh(3!p?O!1QoWns-@hp`Bm=hcqjU&4>0HOaqemI-~NKn$!Xe^JEt0%ZLVien9@W~x! zJ6h`I(Wwd%UrQw6v6wU~730$ry*!H6hBvX&2z;jmDKJn8IxpYOrNT%IHQh?mfQ@)* zrc0^SaTUNE;w));D-NH@R%&g;uEhtJ;8`A_1I{%dfNy%>7iXbUF%D8Dm4zb-%^azY zB@y6EI4%v2l#uOO93JVS*i8_x-r%D$(JHmut0y43@F3Hmhoi_Yc$&+`wjzyEw2LY? zqJ2`ffQFaYt#kl;a7vfU+r^5gu7HWC5km!C6A15W8^(6PRdxm>6HPKgC~6xC>ky#9 zJOQ07P2=iFOq2ma%S^M9NnPGXbCYDiMTkLZbW#S5PSp|694jYNi}&G;S}K{u#M+5s zKA(&sIJ%auMWGh~Ba0)lfG<#liD0zTNgTb^VbU=u8kiYwhoMbGDG!dYdkJ1})ftr3q<5 z3f3)U+f8mMl*s_A!D&*XSIXeBJamHvZsvJ#EHu|=*V0@Fw!+8L0UQT(N5sj*I?!k! zbS9)3IX;a|LbP!`SOt=Y(K{S=F3+uS(^=F^oCDA}P6f@Isi8BS5RO=*#&ZM!AQ26C zoJmVbvvY84l*!-|TNng!nnY}6ai~nA1R!M!9_k^PF|@8IF^vbH4IF}{q2yGDUZIrY zr9_@q4weA&9g~SS$qW=Y#ehij0HWFJ#?s+REm_SMX{c(w0?P*TG!_qr?CY8lh=9gW zV---S0cR&l2@WjH=_YqkF~ebU@|b2J&tVfuw4_Xl$_uC@FU^Ux7|B+q#gK-w+y4cn zWU7kA=BhLdb{DWx5pXxpZX>v4ZYN!D73n0IN)*^F)>O2gWjG_^sAyN!M>5wVuS_THo)3N|@!y$WJ zDz_V>C(C6h9h)VC;gB{cQX{0>0er!cwMeXh%~ZRsD1jEHNF(x8dJam!F?jV(Cj?I7 zLQOU`!m0KsoxV(fFS$0ANoe!o?PfcK4pqYNShta?r73uN6A^~eQ&bdY01QPC13qhzIUooiJRw@Un1e4%1Kbhmv&#Xn#0X?+13>dSTBaLqb7aa0dLPva z0U{c;Olgu)tqg}tMwJP`V6#+3)#~9^1kRzoQL5r1i~>OK%NR_$ zl5WL8fn^5=XbcT@ai|&|%!a@S6gCW*K(~tInI0VkrX;HgcDYI>5Ls9>I)tW!(Umv> zPU+EWb$qYH0}v_^!SS)hK1LeFV)xRtnNBnZnW+Z?NU$1ZvMKmZI)f|abAf_tlFeg- zGi4?wP6m~7AOgNXh~hcKXrTp&+JFH!5lBotDNUpUt2J&{m-mZpUN;@k7)0P>aWT^P4G!t?5d5-`#w z@CdOmDGO{j38@~XhYDtSWqLc5<)WfY9649ufU}%ZsZnUgpd1*49_|)E3eC%bLPTm2-XrazKVZ{P?&dI=NV*eihikYtworwqve7CI z!)Za=Xuty!(;#dvUDmZQ*it!xr^JC_IG)1@7bBEt9^WK0LIB%r1=C@tV5MNQB-0HL z7fz`|fZaGg4A+XF*0AP_bhuJ*a0LK9uAW)rv~4A@RW z+QnusNn{6>J;UJ>rlm0yaI(oDwdtKEk`ykKDRfYdOGtxC;ViERoaW<891s$ngw$Ak zP>58CKuVM%B~^`Aq3vua&PqdhT>!qCf!!;d7}}+Oa1ITa;gl0BC=^QSgm9f&1;pbP zs8Kkt3~DpT1wx3CLxYofx-Q%V^Vvcn(aB*;z)T(wYDIgjS{(_>u}Oeu!7+sj6dy>4 z!89Mz#-ftNCW4&`>;@5m$OotK!W{tR5gi_J7fWN&|NCGHxb@GjFf47tk+82IP&|l2 z!16sa-fi#67pU6)eD6OYyzfL?^mzUJTjg))Yx}L$70fsRPmA8J`o`OK4Amc=UJ;oF zON)%Y!k=}BqVBu7X=_YWtoFoy!PX(F+tu2m!(T5V9$0>%|HSJdKMQAnE_Ixq@#;yH zclM6i_wD_^@Axu#=G^aJFf&tbV!p>jd^|NGC{->N59(~sG#FaGP1xM>wyCLU$AryQ z5AWZC6MgfuN7+n7PN-kjlnpJikyh95l#W zTwihj-o3{I1`d3Xlbai}VZ(-gPY$r+PCs89y;D>;BeH-05SdIC*{@%4K|#SY=cHZd z&ktqhP3ie`?w{n`$=<%Jh9*B0&zSKTV(Ae0HMUTx-!$2yKbwkkht0Bz(;Bo%h z0U07%Gz)pPKaS)T7RKb#wQ^vv7C6PCPftuOxgd`TQmBB@`rJ;{ws+Rh}+ zp4|}_kTDK4>v3bRg8|%BY)Ew|MBPxmfB*iockbLtj2gvk-LY=n?wv7DwoS6X>fUeQ z!1U2$$Lb?`_DnXOdh}(YN_($;e=qX98~wl${sa^9(ebNSub!^1uD+_tn_U7c=eKu$ zdyu~5_wV0}fgkMIxKzLjY9*usr$3m4x3>-DQ%vZe!gMS%r@iYP}9A`0e7XK#<+MooLnWU<_{et)V&oIH6l zN{4v#y3fn1DSNQLdw|N$%PxoJKvm1$Y;NmRw$dPK1 zT>fJAS=YN|{1=l7pFF?PQoVZ0FD*VT?MgSG2dm$jdVjllD)0>6SX|!;alXElRAPEG z;KsIE*5prwmz^E$DJLJj`~IaV`lli$#JOlt0F%Ku=lIf8Bdb_TkkCf5cC;pr8S`^t zs!%A>zndHWIux?$*5$=LXRfL2(TceMPWbTX)Q9A;1!2jEez!v8)BHo=TK2=PHF0P$ zk7)dIv0I!G?R?GdGu|~AGO4MA(mOkE>FU+#5)P-&#mj$fDtumf<*46JAPEHbV$S@2 zbwqz6Z(_K%C#2K(vH0_6JNS!gc>2O`CB0|Np)xD-k}kh<;>kP5-m&cn*M{5Z^y;GA z+}uue*;@ReT?UmShjk# z<>1ky6>*fi3qoe~U)gq+9&m41Nxd;Wf5y2xE)`HATg^!n_Lt{IG&eOpInWF%TJe{Y z+jKLJy<@x0$4{9GgNVmAsug-bbpB?dHZ_ClM?-y*{y7g%JD(p;#^9=-vY-?Se(&>qN z%qv*_d;fd>`0QqlQkl4$`|x{_?aVH zVY@$^c7K@Rd3)%X2D&yvsr7qNH#w1%m zN~S$JWvSE%?k;HFIAHV3wth>{iHXK{FRmqX?tf=z|z+8)j>|5;;s_+}BRot2wiIOdl($@&b`W9Z~Tz#wGY&zFF8cZR?D zka`Nhw0O`l^W#a`OP7Y77+k(O;zWAw%RQ^7%%49$uzSy*8-I1Qr2h%OnfyKG@%%UL ze*P(`w(LE7_LO(FKmGHB)Y)Tv%(1B@#(>`w1BFwkM*KLke^JCh9GBY{J1a~+EA#=r zce3;N(W6HT>n^V=`%VhDGOSnc-i67o*1CJGVMFa1ja%BDU0l$&uC%oDM-V8i>08SK z01!d|Xr--rxwyUOVCbvkJyzvSlpGK4Vt`YRUD1G-TmaDEIRM|Tyu??y#OY`H4Hz$d zbu_T<+8%%@p7>hEAA)A&nI4`vH2vhQwXvwDvx=3?XFr^8dH=wC>at>W^2ndhbrD}i zKp=f&Axkdbo)GmiDkZeXAnX33BFUT8odDnJj)ra%#H>Ov-EXu!hA!-Xx$-W*$_Bc-%oj~6rFmy!ZOFgKC7 zI5_mun5W`4^|2~euUKru?c7IG%k7{-xM=gEVM~4-DLk)tUt0HQ;nQoGYffE^H=9f$ zNACHG3JTt7K4}v|X0d^p4cG}VZq4J9gXcFF6sE?D7p8|>USA$RtQ3FxEmuRPvR>&#t#@XT<^cKn`rE}wOD`KaExnnH0=AktWO z>;0Wg&2x;ssvf4MOn!IzPOkVps^od;UpHs%!W2QCgO>}I;af{5)hzs2#;m^1x2VQ% zi~93ZUQh zY$UgFuq1d-9TB*W=-YH0Z_9r3WWN0{0_`_15~oxLaeDmMMudb`h9 zTo2IK6SNf4pyYRVSQoYKQ-Oz-a?s9ZW;^EU>(aY(!ii^(^n%=qj-M5$`Wo8(>B-&6 z6Gf>7^cBgs&*sdEv3;E|GH%iC$7N%8j`V*O65_hWp6h>`v`dSs8CG$Cf2)0I(qPZm zIr6`XkAxrGvh;Sza{$R6y}^EtUGnBm&!MY>QYE4Vl*;9YvK~e%ke%{xZ|^N_z37%- zZ+&d|?QN>w0vp%rYB%kT7!!Fg@G!myDBbPvql`Dr19V&KxcoKW@)ZXngQNFKQ z5`{tu(BJv_`Wq&~` zFZqLhDKW=ZICl;V`Ip;lEp;1xAhPq?2-sVRov)-LzQoVAdk z4^PYg@B+n8u{UOZID@aIw)p-2cGtUy{jXh?51b%R{`GoK&;I@U$Faj|l5oG;HQlp0 zq0?I5{yY53`T03&260HroU)g-hj`m`eQ19ICd?06JnzT4x|^U2Ek89PB1>{LKn$QI8m_%!47*RRe>fC{JarcO;-Ykmc; zcsAflcml5aMEbvDUHz-{l;?$On`*W#Nl{#19kh;Gl3TL(?k@(P9qFTFlt!>MeEo*O1SGYXdpI=eXz=~G@rv`@1%uJ8d z`E{V{?Cj=!D`+XvwMsO1)V$Fbg8Vz?yzK3Yx_s%<$ESr;r%o+&mrfG_iuk*;blUxr zk`nWP<&8iLnz?A3KMuzH77fkLarPLqb4lQ2T*H=CCjGfP zCyQ6TnaNG<8PZ*j;O|3H0($n3&qnmycIK~;T6R{v5HHZL?{|wGFkg%>IyCP8alzE! z>`y1hU_jvBpcx?`*Q3S=(6JcM@qmndLtb#V?adkxo(=jW0I?%L<3Z2-n_1I-MaPNb zX1)1PEX`)jUK6Mv9UtgFICUtfIy5VCOLh(DSUBi-ZRDnh!$VGRQ~PB@qW=Vg9;+_R z0A(3KS;vnF_pJQINeke_w^dhcSR@$CtUWk1JUh5(ax`zieZ>h*-r>>lef^2iFZGC{ z#JkhP8;7N>)E8uF0eqYgm<8V&VMwk$m~yh8w%eyW>zd<=Lfv`y?mVZr(5iTo%~Z-~A(^Pmv;Y#ENC$vMb7+ ztniq_4KIIOmV08G%<1(=BZB}tna z_rcm8+b^%#Wh)7oHFNAv_q{g7$D1E|x8|YbHQ<2911nUt8#{Cw((uj+xlI>-Ux{hH zy08CSbM?@ZLq(0cm;8XLb?cfRR*bm$tTx%+^6oR@*ywMF+Y?5F_xH@t`C^Uo=XM*E zuEA}|`4AuFpH(^VTtYTxH3VDj%?guu2GJwG#3`=(b1QS=nQc1Gw6MiecK)$u$L9wR?p;2f zuL7IQlcq(_9RF(K^(D8<8H?t*dj(IP^KMxtxbxblHKoI&d|%h3Fk3#S&gs0?e5`%q zh$-)8j!1eD^riSsA`!(msJvkTh>*=Hm9g_0&Zwty!dXIIm9?5>ZUb4&h{p|bM0~;qUEbN?p zX}b&({l4KBa&LLg?FmW6^vRA+x_J9p>G2R4#(X!uTC3Uo`^$m-`%V@s8V%!y{dzmv zW0Q`I`CWO@RmmIK%PGEN>l_X6#~a7pT^~2%4#6voBX9bD{5int5CwkvvAHrsC+r0l zmu!-JTUEkVbeqPn;)jjp`kX$$va;vr4s4 zc{K=Mc4KK{Wbsei^)>y*%yjeBGjY}N8#Z6JXE!=p$8Eg(`9t>?sf&llzAOwpgKJ2D z*Y<2(8$=qO-G`sZIB;X@U*pBsnyb#^R%FR%_Fg^s{mBh&o0irGZW*;R=NjzpCj=Ap zb5YekV@ql8Hk9q_@KbH#_lm~U$o8Zd-JjHcxBAPc)#5T{EEc)wpM$F-4>NIi;w=iM#0y8#$E9U;DC##aFa0 z8Ua^h5=G|KrXGL?ac*X>`v!-rfcKu0h3H1gOYESw&eBQC*bu&MW zn|QHk?$FJ%mM&Ymf6@5z#R>0XvIDo`W3t!Ii+Nd<*_`?i@d)B9UQ+*8Q~9|DZ1wTs z)aO;(r*_iRM-#fs9aqLh8cG+SBl~!!ERJu&oJnaXM*ibVQU2fE05?mi*s$~;4;&Nq zB`#xr&YwYmn@z3=hBOE4r&rJIa!dt%OU{=;UCx^Wh5QK^nf-G$5#`-H0*^Wo&utRAEgY~;)e8G74bfY1x z_X*A0)Y>Iy*q1kmkbC4ovGpj+nf(TAeC(T z;-Q&`Hw5lZZQZhROvE_E{DZNN`$vY!y~zEE`R%t7f;Mndhi6NW75DVhR_-r7#@&|B}PpG=nk^zj0NLatsjnb|+TRG_7YF7Z1a~GzR@>&p`t%4@VtKldr(mF zje*;K*Dr~0BaL^wH+0XwiP*8AaMkv#pH)rxS-1w(mO;CAd})Y5fBFyw{?U1nd%xn{ z72Ou=$GC3$ZbF;(U*7bfB$cQRP283@ZuXN8qK_x1 zF(X&)7(To57y4soz*Tys=Ej2d;R`B@ZyxK|SXi*opeWo3{Zk*>ZNqt9C{M#$)bj}P zL=v;`IX1FoUzw|8NT57XWNUx^C~of^(T=5q^Y_f%Hg?{U!SBBw`h#m)NB_a9ncFbp zL|JZyVv}n80v$kt=SzCI{_G<>j5~Fye@jN|Lff5d^G!LW^_@RTW1L=M+AUN+qjPiT zk61H{L0cdH{$BgQ_jk5Ki(CuDUw8Bf`n0CoV)B;ExA|it`$xU&&rICX=VL=iDe&|w zYqlrNM*{@x)~#%B{hP7_l6}8F^r_tuS=H^z#tcH;C;#R6^T{KwZGRpnzkU18jk%Xo zS4alHV%0U3J7RiU@@L|ub%%eQIXt~>eNc0RKS$E%;D%vi*k5L^e83%&vSD-U%eW86WzV(;?JMjqe-~QxI(cxoJe1<`u+ZOLjsd)IanIpV z34V{=Q{Fmz%>5nvPMiw308QM~W*_wF%gt3WnL+QjECsq_yHhzAk4?OpU6Nk+aC}C{ zq*26d$V|ndp)>LM(W#{kJB~b$tpV6O&!S)VkWL*+-XhK`qMe(;yVzsc5TUoM$)EyyMa{H*LP#>L?4YXnJQ%`~B%@a%kMSxghn8ys#q< z(SpfQRja>zA5y$-&wAm3jr_YgrZ>Hc1{|NJdrn>6`K@(9{C(bR)32tX@=aGpv1nh~ zkB&3pcA6&!7oGVvWLM_jy|Bt*9C zIlJjxU%&Kl0X{vrsMl^o!w77C(KD%=6lo|p-PX~^|Ilz$w>r3JzrE$oU~K;K)`ywY zNW+1XGm`uGePaqa<-tWnTuWU~Z2q1fQYRzQu4*@v$iaw^_* z_!oyQ`n(v}QrY;RHha8u)27LP$XfD`l0HjyeTeWi#_(zL{xcnp|0sM--ZL)#+$m(C z^VhZq1plhR8^Fs_kv{*d6Cc=(Ln~RUwz`iK^Jm|w#A{LO$3C0$6F%SgKZyg%^u7;_ zxj}jVLm5O}nBQZO%d)2O&ch)MvxPK6)%1anq?bZ&XGNpV{ue&1VThA5_s06Szptt6 zW%|(+F=g7YiR1uCHyD4bPbt zFu(3q!0<1WfcZHUpfMSCfHK#2TT?v>xDE;0n{^G)g^Z!8&^&-Z|6exnKXKfS=6`eC zy2XKGGKBvf!_^E)J-)49WPp5y{ck-exw`FN{B|20A5xwFKiF-4W&r4D0Ol+4%j@S@en=ZjSOWCP#Ku``0NF7qM zsB}>ItA)+Wue>hEZWfFZnm@w%&q4}5_T)DE^q+sPqpz22ixwfoj{hRxLSZYb z-y9D7&jRk)(UP>vXi>m_NVqaUSK11OR|RrG{|7p*FbW71ldc9so_tE&XqMa8f=w#~9?mRWiHttmOyX23TPo2bt;hmQ}rU(W3w@p(Wh z-?`ytAODn&HwTIrb5^S)RT&Q(zK(mCcz+$mU-9F_O37dW%6-@%i4^Zrqw8>U=t z-3}dor2{pmBK5TD+4wcUL{>pP4Y|8={{1e1rh_#Xf;$XVr;|kwsO?|hc0`EJ%D110YgtmiZS9tTs;1^k7w5(-y!gHM z;{GjPIt~w?G-N*@s6z*x9}ow9qafA6L#`2H7QoT=OEgT?v`Iz zu%Ks1^gg5gSx1n$d!u7|^_?H6N0ynlU4;%g#^3$HjRFh)*Yd%4rv1D+FJW`dNn2d# z*c*9`gFih@|6SD+-jY{yuCc4-I|5pU;^N3INjmmJ{iF-E65ig{nVr8w!tD72UbI)F zhZg-tBhyD_-y3vae)3SbzkBbh{Lu#{uRorj9eJ%e>wM~pHT{l?yD3JkSm1s-=4}23 zfU1nLswlazq!?U$M=cq-~0OW_i7>)VTn(zRPd{L!!~0RQ&z&$IYQGR_dmF}Fb(!q^99_(N<_tihheVeSY0S?3cUB`E{&|)g?(- zV@dW;%S3EzxqAPk`SD1>=|JeF_+Dh>ml#6iwo$@)Qfg$k!?~1I3E7Ok2PfoEBHh@@ zuo!COwqexi#cQ7|t3!13m<)PU{q+gkT}=LX`^@cmF7Ob)k}_TFkgF9@5+J#kGm0bt(J9^)`0)&>55Y@|>8jv&y#H)q>c6buAqU_i>C3)BgFXw0x( zS=}SkLqI1%w*o;-PMULYQWm~p<$qz zGkkAGcz!l+hFk>}z^;l(r*13@EDHVzyvUI8>gw8Kzx9C{_F(Y5>Q7e(Tty5W))tWw zDA{@Y#-Sr+*qF!*!O#PHrbeFf%s)*7MO~f0!qe;Vs}Ok_2rv}$Jn*zX$iFO*9v=aI zi*ej;jXV+v7^)xL+z<=H=Z^&{Hz(vJe6J2K8VOX6S?OFg9g^VR3RG}R{)MsC7$aM{ zDqPbx*Y<>A^T&0y7HoaCNfM6?2GZRUcHjqAgNk-_wYK-ds|kZ+<#?d-wpq0f_4&2K zkZ_=oW_V6r>>ivkJS$8YwR+YnI_fX~{=l5nrtHx5XXNl~Mi_XW@y_j=OY4dA>uP~+ zbfk1lX@T{QqD?t!ZSNGU5=)kXwb7+8}^_&d5GSR~}e=a()hIQ_oOe!Qrs0;I&JE z!^D8ewikra6DF8PG34^U%D&y7daE!!1y6H*e1@$%u8Qc_uV1QGd+=$=i%Yacm{n*iRcjy$~*MqfxE-i|9?0S~b`FhXlz{Qt)3xngeVdx>Q^s4x|LixbM#L2g@+q&(Kb&w*W(57 z`UQEx%*SUkBcq~%etZXBO$Y@}+TO2Nl!rnfF6K*$Gw$wZaHDf>kD}**67fU=;ljAW zGW!)puNX9FLATzUeqET7kdW~BUD1b0Et=myJ{?n3_WDjCndbs$O-a#`ZQ6uO*O@bR zu*XTHQGWU7f&u=`HS^8^>W#`gzzdA(mUL-x`-9qA@&(}VDeC;srsy|G3o|ax4>@M6 zhyHkbq;M~EBX;};{G7?cfH!a6aNn$o-Z2_@0cG5`WXK^d!~8E%;D*?>qkem?_O8b#tD)aE*GP(4jeD7 zy)hG+;>Rutiu*2Gz@Ac9b^UrnWL5O**EuP_pZDfYT|bhsj@kY5#aWfH?h7jh!!l~N zBDmghc^|H`2JGmF_XF>ZfaiA3N*!IXDt4S|M(fL_Z5FdTP~K70DVh3ueVN4@N6nfx zZCXPGb8H<_KjzP)&AUjEfA=Eh#rfIo!j7kZI?`h{<$q@EI8>(U{_{oeBQ#>_e&co+PD*GqFIDR5wL^#{G2msqHuO zaTj_gS7|MmL606CSJ66vH&3GaUj<*(H|^UzWB!4>IYW%dZD-{d*Y9nZs2=!m_^Iej zRfKikSIZj36i`-sPxe0O*AZO0f+X+aN^2^gpmvCdI{yGzwxa6Yw)Tyc`iLmld z715$eZOJ{IkX_W{!@;;vi2lZadU1K;-Qx8dn!^qkqsIh*+b#|$nfxHG zjG+QYD+HGY^xZNsX2acJnJLfNx2qdtZp8Ls|9pF*Y(tx{t*CY7xJRc=PtV8h znA_?7e!ZxfTHO2=KDEzg4Y}lW#q}4fuDgDQRXF-wbA)VvbB{Ap7@mRg?{LVF8((W} z%NZ)`$``*Is31|M6Tuq^)m zG-K-;18|E`Q5yrg8j$4$eLS2PRSp7G1;j^#gnIc>=5}rAq{nNQPn%B%8IZdR&p4Mz zB0%T>(A*_U-MP<`pIzMCIpxR}#3ZLOIJ>k8Fx-@Y=?zi`rDo?ht3l!rkYwxBJ+>vp zc{$NteIR|j`B?V%uB;De2iTQ;AQ{ww=`C=pV<9G~zB^s%6ZDMfewo)Ehy~ z8<}(O{@0l4CbL`5cNvKxH_qO;cxbWZxu>Sjk{0=wBuT>kDY{pfq65CgV+(5j(}Cvw zW5W%Bf@gp4hzto+Cfr=wGwgUhsG{$re{c4p+43H~Y5zXc1UPS|&VrrC!RxRBGUqWbWeinD2-r|6z@?7&yt?7Db<% z-xMIfm)aDNF~2S@rn+?E#K>{Ipc4Uk+!TB_?ud837_!D2m=oXDt()V0RkVM4=oS=U z$T9!T>U)!MG2p9{1L=|N3l?C$H};p8W1IQ|c5*X*DG)a!+j~H7f($)vv!^GQp~pw9 zTi5Lpu<6^NumPubT?bLx?^{mII|J+R`+|vWip@9|{~rQ*wQurJ)WU5g zZNOQ(ZAtuc(6OPB6RV`5=L%bTu3Xu?H*uMyI!az`&ym=o|Ge_($~$I$$Eqhy`4byo zZpHYYM2=Ivn7ZD)sCCPa-|nnK#RpOgI(n?=G>z?1=Ggglu=)eA&-uRmQ}N;J`m58| zjGJvK5@%fbHS1s!ueW2zwxCg+vjan)rigzfj-3>KBd;9vbNOc(poAM{SB;xjndgf+ zzF$MBELvHgSU)zY#PfZV%cZql>J##!Ds?~z@Emg{z0`SHYGTcGuObsNy5GH2W_&%j z1r#=a#<{t}Ha?8qc(*%xTxFw4_OtWveelJ>!ymnx9p9Q?oj1v_EO>C6<5%t6$D?}R zFDW~BxbR3rV_8}5rbpR-R!2WvHERDp31;iY_G;1Ec-Mm8cW4tYR!uBV6li{&$ryiQ zldo-8WAFILz-s^9rv3QYrdZ?Xy3wk#pbv3Y{A9OZ&(dE>Vp?f!{$%NwU{Y*H_K^93o%1&w6Fjpd?vL zSv#{{wGTe-z~H^z3(96`GOi80cI(E;arY_dMeFLKuYvw zTsSMU;fv?zd1?M8H}DT8`Dy3&IO2S`>a5ElM}Pwha-=(xSsj1H`wgG4#Cy&-;^zCD zrOCAP$zkyu#BZyL%THlGeY}17`N~VEh6veb>-8$bP48);Y*hA1uC#Iv5LedpuYb{> z`rMScwLqTm@$)@hiG6(ejfVQ)ccbK(AE&P;PTZGVCBJExo}YB%(pBN9nF|;Drq|zx zHUt-K(zn!Z-V|wQ+>IiieEUe-5$Pu`&kk?<7z(L+;hVNzFl_R4^Sb!=#}`&uvQXJ8 z3s08}2oJDLof>_V*zJVmqbqK`CAjEXP~Fm>!M0I>|5tNo9TnBP?(rFLK*>Qu5JVd3 zZlpy-q@+_x1tb-bZiWUC7^D$I>F#DgN+}7+fe|I7k&gRvesMg%d(T~W-CF0bS!>ps zJ$n!D-p})XpYP`j3Ca_@CE$6ROvBS9O;NWEI=ksQax*it?D08kk?E(TDoEbUcD>6e zNdlK9FF4-(t#AriC#O$wN^F{nLR84paPgZwGmcUrKCTaMP7iSe&++u`zASx#-ZaMo`+a5g>>rslFs zdhUt;u+|aIm<@x$Ho6$2TcWN>WQ%PAw^9zLB=8DTO1klW9vziaRK(#lX`r+RO9wRM zWPK~yG4OOzC#)Ga3?ZA1o;Y}HU2Cxr^NoRw9uy37p_paUG`nZ9?)-huy{oJG?)7xA7 z%rvWZZZKtzFq(TGBh`@Jb8iK5ZiP_(?B+;4{r0<^g&{_QnwRC^^jA6jC0&!;fLo1f z-<14cC&Yr?j?4l{SfaR6BO6>a#bWc0#&!vi&h?s*@m@H5c~jE)thA!)?~a@V$F_DO zyr;ix$@P$ROAdYR{^LeYOtuobGBt66vQq~c88`cKAhLEvZZL~NM_D2z=51OgBTqKc z*aLMlmo1Tl_GY zMJpM4(s)jFNRaiLhfMh5HCaxX&q4TQ5WXDe*Z!PHEYEt5sXMQG9yj4uAZAEVSPI59 zbolW5?73`R{%kGP^=+xy?^FJZAH9iAjKa?#B$pMHlD~rtw)PO3(msAZkHg3ko)LJ~(=@@}PINuPiwnIzJ7G!Grj~ zd`ru|tFB-0orTC;fE@&upHxPPwK8$k9qUta!kg?r1i&IlKBwxq>2;dg$L3^EZz z*Rg!-8&GIo2m${iyYsJPg(>)f#$};RonrSfazIs42UxipErBerNSkDl+<)%avIZ0A zAKSc{*CGpimEgVQe3lOxqm|1(^1u`VD9fG1AWXwy6{eU#SK$(@RXUUN#W{*zD>pDO zT&o)&y=?!WzFUyz->(j)my~!l^q;^geOqbRg*+`~BWYxG2&5fNGrQ3eoA}-MJ6fx~ z+OgpqqWxLv!EdI9uA9y|*f3yaLEAEzeIQV#B$rj*%xuZ*xfzvCBXoiP`dmZS6$;Kw zdHJ^LNF^0UUom{QKiZl91&h`x`)LDXG!iR;nYq6*@@|@Jm}A~~AM-$C**42q`K#dT znP~=~*o&O|v7kV2`ppFb>>mHjhxO;I8W=?WBKwz2B-Jz((VC#aAxhI)R^SXVGC%c;ly^h?o!( z_q&c~^IwNjp?1$ECR-^kqMYAvx=q2?itHa@@?Y4Zg9_5u4Ypy5{Zd{*dfq8CkNj)$ zHOP+KM(7o9xSNgvgK7UA{fgVsYv@aSR{DJfHIY8f4HdJejYo6>UTHh}-gC}~MtYqd zR5i;q-WP%Loc`QTX;_uJ0=$RS?|C;q`3+ek8}A2a*PL0+#qas0ldsQUZF*sHl;_aW zL~Um)XJ>SordY4m*q>SNgJJhG>&LDHy8)1I++FdntMoWa=$=az^qR6-nz^bJ&ouj< z7w03D^YMTKe=67~uhA)}K<^_ut93xe*lX(61g5a6@i`wlhu1~pl%SYZzE*|e8T@kd+hyfqg}N99w_P6Y!f z1?YfopZ}X~-}^lb==P4}f7k7|4V26IljEzm${Ga_rC;M6^d`=ht4ym6Uv1&=aclw` z6aCPn{5^Ur%hiwAhqC<}X>0uPh2pqCrI+E1?jP@0VucuGY^9j?luLMjw`Ey-6x-{f z0k(1;l;P9OZ{Y%H$5!R0@!@zezN+qTBgBz3-zr}v$ODI(*6ZixV);OnKbX4K`&fqp zbH|U4f|{YRag4@HxY{CI_l7T+iC2Y1w)E=ee(9+^7BBZ~>d|?>(AHB7!&ELr)GiIN z3z`&nL|PhE-O%3D532B8s1=WNMN8_2szjX3r%;O+q>fT!yX+OSqYUo684=PgJk}^X z*W|NbciQ#tz{@$K#=IIWADZ_RrD|U&bv0NSiCdx{y(?P2a~Gb>tm!v-2aa2m$`-|h zxJUAqn+nM2ccd`aRp8XpipG^ObZdG3IMQi!!fw7~ywP+zG75|$vT$lK@t$!-ILDhe z4-M%Ngw$6%2pAFMaYIN#5>#hI_)8rUlyctVma2Ms& z>0A&JQV9pI?SXRI@?g@L*OTvn0hoc;&#}Dcz2~;rON5tZg&Fv`k|T%*~n?`$0K>-{PHg79w@OBaUtbUIt7Z3-vkmP z#e|g0ionI)X?IKtd75}@7Yky94S5w5M78EA&W?vl1ET}pbd0`Iv4THnB-rrr#ikCP z8vNo^<4rd=5H0>&s{mAxK_k7I(oco$l5!~okWfG%@2`&mad@oWs3<=u|@9+P((r{&N|op`ih%puhpg7?_yAQ_Up>5W(Ee((uN~-fVk! z9P8ZT;G4*Wg@r;Oh|LWS4w{ay?xsT2aUi#A!zIN~kyutiH9Qa%L|B+R3nwS1*^lv3 z`t}gwb?^1Yy*6##haFRutN%GOT{*h+NK;1tpD@z}3?>E=|9Z@{@XW4V-(R5V&We`> z^ZNh#&@@+lQ3eEpUwNJj@IM2n0lmRp4Hk*SU1en{`j}dRV)~RJLNm_H5JKu*x@f9# zfih(5-ssx{%=K6;ktI||42<4AMx@ZbuVDlTh{5V^MWs&#koyI9wx z+F!h+bxZuyeds;LObU%wW& z-CLU`F}q8|`v>7QZOe72q~7UMNT&)C3jW552~6P^MpRs@_TMvLWnw}{vy@bIet-@t z;$0~4Wr1UUq6-QNjv|h2vwg`4He`-}-UnF&xKB?+WuQyE)qqQrS)K4B|#%_ zt&7OhYV7!6`?0;dKl2j#erJd%Qz*86m-)}?v~<48zCG)$Gr zf(jSl=l@n{T(5H~t}%QmJE(OySFITUzjX^wr}gkF4_4%b5O1=wyl-%DgpbVE4po8aPWN9~+@%Et|Vo_pk zy8cR<`||t#AFlN;(l6g|hd_}mwLWnvmniZLMhZ|aZi zd?n85Sg5%Pa9(_T!+N*P`G{JV@6Mdb;zf;HJsc(Ajc2O4E_LEJ)$=9UGel8t`3tti zjjpo}-rLEp?f|blS3QU{7srZCLkxhVAva+SCUy_1CmT}Ro05Ez6-*|%y*I(v!$hs*hc7!1&S)-eYJg)%tR zG>cI!@gX06z%c?fwC;!30zcUZ(@{#D48_G5n>&OBaq` zFi(8=aelfy2bExe)N9w)?+CDRnGkI(sZH}1U#K;}>>3lVDl4W<%q#waPkWe{fc82M zAwzT1oy?Sw-LEU7PE+h;MAx)+DCaJ749TNopD9X(Q@P`D^XS$ZCrox6qQT-6Tmht+ zgOf8bJDcf}`joSa%Vy$jM}VR$(P2WZJ0qw{tUg{X`C_;FmatFQj#}+vpPIvcyoNrD z@-N(iA|k`liZ!w-Ubo3Y#?4AA>Wqr)L3La$*u&uqXfd?fu~v;hdu@Ldfy(zm6iU8U zp;J726S&sIc;#-KC5zpVRwUv(m6nTwU}zf4otrBw$qRH=IsgT?JO5sq=p8O82UsbP z0g!#-n#43iXGJw^iU8!?lqJW?#ol!p0X{>e_5$u|*!Oo^L7ZYJy_*k`J__pudjufk zr|f3u=gltJJ0y271Sv$;Al;BJmvl8{He2V_Scu5x%gV}J9S@R27Z!NJ82eFM>*77Y z;S0hw9zPFm)MVMUyp;w+@bk4^MPLD(xj#kk65fay0_p}Tsh)N;yiq~ao7(xWi6G+NFp{`iw3aFrhG8b ztVLZFC?4znLmL^DW>z9c^}+Q}?B9@S%EfNl(`a`0vXFBiTACvR5497)bry2vrg^W= z$Hj}}^f(ariJWxCh&0!w+y@o)hEQ#OKFEMe?g@>>&eUUR*qdqX5XwbDcvCdLJ9gl@ z!C+bm#fhe2idluKa_KMDH2!!|dN~3Ktrn0cUxWB(2yu57VsoHOHuF?P~5g(CL z>!hPI>b0+=H{q=VxvmnEn0T8wEEhUxc^(FGo$yJeK`#dfM`2q3o3%1r7CT5fIyNQ- z?Obcr4N-q6ccse$n=OMJwYc?X{0MK%Ssjx9kNRno6%PH(rV9c}_@ow3^i)+<&)Dw2 zb!5(x{$w{*LsC{=9z8ZXO0@A^bRv;#5zwmiogR5m^m!u6hNo`aMfx`DN6f6|Fv4o= z77Y?lmg^(BGPa1pH-9zIAd!pj^73BGuU{YKA(GrJz(wsF4EW0i z;N&y{K)TJy)qSHCmzwCBxE4r(*xANU1;GV?Lb-w%+(jah#^-4-j+0eS=I{>8#;rEK z=mQ&%M=`i(HQKM<2~N_1PSYuNY#ch-*es_ei#QMo6#A!9O1;>!u)cGro7J`c#M{J+ zsd-0RMi)WVB_Bf681Nw?g39ge^d$Xq%OR2TjK|nDGaUm~7M7W6+p!`gT8er{l9j>R z*Ppz5_io=;`Oyr?(5$q)OawpLOm}^zk#&8%l(DTZF@1x7XnzxPEmt*lLM2@9kl2xg zla~OMi1NmPn9P>aBpZCe(TV|-+IPZ2L)n^+*6PhcHUwjz zW3kW-erj6U+WtN!+SbO_mUSqSrjv3iOYflqB560gP-o?Mp*PVm@_2>ySZJu>#rDPr zg4(A%6*tByd({}_Bb1o|^E@&)H;3)w?933k^8k7*>*MO`DsOI%`3{I+mXoX9df0|c zwh=^p;T=lJAFDX|`T4m81O&FeSUdH+?+@-r_4M~UJOW0Us>xOSMck7^l%M-aI+m3m zQeSe)s@zgoNN74fA;Bt1)X8iQBs+~@Li>Zbxw)IvK^_yu)vNB~_SN5q1xmFNQ^hwl zpyjfCQ_J`eQb13qUBbr?r<8ED>)M!Wub&0UJQ=8GRt=wy{-dC#%~CzcMrHKGkbSl< z3m%f(tX6b?Td{Azd}VprK0G|!Rz+2n=sZAYeK?mGz3f_S(zp>x2KGq74t9Z~qdEXw zRyQ>z&Q(jtF){{AfC<#5iqeLLhRV7+aY=FULwpd=w5{2hlTK*EPxC%bh71igQ)}MD vt^e=r=u|zmh)y|(6;#9l5GL<;Mm+a%m{wqqu@3xe2*{mVstQGN5B&cPV5bp5 literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/assets/img/render_flowchart.41a98316.png b/scriptApl/chart.js/dist/docs/assets/img/render_flowchart.41a98316.png new file mode 100644 index 0000000000000000000000000000000000000000..db03a04a97ca289623f493ca5533b21576a5ecf2 GIT binary patch literal 102359 zcmd?RdAQSL*FL)0ZefFp2r>vL2m&v2o3=><2sCYz&TZPXO{;=!(m73<&I$8IMHE3q zKm8R)YLp+wV1p$HMRPhn)+wz8-teFgS;g8X;knMSk1~k9Z%KN^uAa$ z)5UBxp5kIP-89C3oppm$Nuf~erZIJcATt+Zig|$tr=UG6u&H<|#{TObq=KNnDs5jC zM5(piGzOh=P(%H6kShGI=Oc+2|L=};{ZycXe*{xJD^v>L)J1`VS_PUl7&rqrVDP?j zT7|Ve!H*%A<6^;B)SfDKgK(V&>8F7~^FQns%IW9^8NoT1%EZ7A5o0of@(P=eRQja^ z@VFZ32ldl}CSx)$WWhr?3ing>)55T}pBhna{AXpj8t$k5dwRY|Jd#iSx6zbE$BL1} zzZT5vLKY?ykP1Zs9`4C8oYQ0f*Fwv&d?5v-^ta6ZYi#A^qLhpMtCfwFQw*4h(wYN; zDg3Khr?hCyK>BPdlE_E0;CAZY0w#EyoO0)_9GS#nQf1bZ?4Eyhz(>HE{vOPjjO2lQ zRQVXs#`6E_3<+phPA6z_51Nk?lE+7;Q=zJwhj=IK2CFMnkr?j|>3jlW#Hwb0yhtM` zX08N{6=TY$bwqfR#%8m+sz@Bk#+{g24$~97Ay69km3s33G?4 z+Hg=~NNJs3@I(aj7L%08X3yFgm$jTNr;`qs8d0&bj9RN8(&l2ws`0y$Hg_aIR;W}`D?8$5Q;2kWI46|T zRM5B?v&OwPT@=cq){GU+Y1yi`!b=vF-HKF=LdmU->I3lA3mCGIXg~(gq3nZ^)Mg``-hnw2g4+)u$*e8ueNo9^4nviUO=qYE2tmLq zVY42*ph0wLPo=14bc91JVLqGeO4O8A3y2m*Kks$61kWpw~o5Z?Thc%q_%3l*eH@>Skz543}M*qzSE7c~UPYf$daFvUbXtnDn3g2 zvc+&VQgupnI>DKxO2}h2gWFlf-gSkl3JgMG1t-TzayF7=+@=r~C4yPLs14=Wvdbst z^O%pZ216#%ZI#qnLdBX&&I$onquH{RkJv>>PC&-08x6|wtcgjf(7Z|OFgu+EZA8t( zkOz!Pa`~)iWnd?TmXoDyr6AgLnV3YT;VkO|GjM1%rg*yS^fKTgt#Np*F4$Y9ELD#- zLos?(jmkL}hw41eVvcpFL(xhQm@>vtvY;i1k~Qg1`HDPZlKco0X5EEU4w3|q$sR%+ zFu*X}&e=FsGG$88vKjAaSRK&{nkeQdQYAcbVri`D}qj%5q6nvU&n81(iZNW5r(Z#4?av> z)LY7CWD7x7jgV-z5b7LIUB50`wpJWy5<on>Pm;E3 z-f1dhq%L5mgCR)mGpf~u*I5l2OD=;egNsIWigZR4(9XIbcSU1oB8ifu5i&q%DWAcr zb+C$IM?+fRCry46?x8$kV-)g*xp)D$BDA7^MX~5p_RPhlWEdb7mgC_#4#l;!)*;Cl zRgkrmSftg_SgZ=`g4rZd;(+1W!YV-(v>Z6TG<<^i$?6GJGJ5CNv*Zk-mhW&BZfL39LEYPCj|$_db3u(|MrKEM#Jd^Mzr zIZA%QSq3lK^9D9YffH|}kkV;o#FVSrc?lu&4A=!+tfr8Bfpx;PIZDET9F69pJ|9jR zWyyg{;I+I%EiopyoU;3AJLin)vY5<T*=(D=xdbq7LVQ%SLoo zh@i`G5e}hf-eCyDWKFi1mkM@Q!sz2GaZ!~m<&Bb)D@DqL!hD#Lfgx4uBI371{8%{^ z(*-q_vd+&a%ntL!1#ekKJPvnAL`_8ne869^BC0Y-0y3!*PL&!qTk^q7F)D?rV4CJs zYEmcg#(**4MKjfiKM3bpjFm%$oDj^2mV7cu>Ght3g)T=0w+9YeEI>xMrK0dZ<QKM+Y#hO6OB#-$rh1x@ORJI+_ZPAN?E|4t;Wyu!B?PKt!NC<9w7xDzY`PXi0U zON@htg9KV+A&3`Ibp+M>ZRV6AU?epd1jpkBGj6au0wocpb7=#3Bcn6=6h|ZjVvFmn zhCqo5MCqg@5zGVl(1dYw*~@u@I@)ID{5E?AxCz|gMe#tUL}YRqr-ApC0h>y z2o}^p84_$Zp7xmt$WGhkYJ!6-rc{#f77`ec1tvuk5vZVH)d`Z5lLfOGvhaDcoA;;0 zsyg6L7t~c_IKWqVf6Rb7s|JM8x_EE&VuUk7Gf>bGOjxvqAndU@qEOkB z_NhHZ*amt7&J>s7Kr$b&du*kWK3w24W683`s!A?0BX_2`g@ z02f0JI3a^M(h158<&tK(Y(P>}&{j|kN6@8Z)dwmDPl0xZ zT|`)>%Sm&Q;6t8-hl{d=7)GE>LC?6jaJ2&C8O|&CUFLYMob`qvYu^|jN54R z+d?=bxupW>ixFx(FAzZzCIrk}3L9bgE3dSx+S%OJGxmQNxgne%Zzzlhp%8Ha*6hF~zv`yvUyLcY@GfDwX|B*y9zDXThR zVA2(PBAJCMxs2JTsYDGGPnb=Vqgksr9S#5^3aFE;p!a#K!5p6#Gg6d}gf%vwq_L)O z!6+3X0h^zK4LG4k^@1j@*X4sq7{lVSmlQRS#-0SDQn<;2`}_`9K<3g$-W8CNuApcy zsvJ(MJpg+$MyymVhT zUhiWBoX|!s+Pt3S^eQ8oKm+-pLH5{a3UQKv;IbK)GsCe8r!16wq&bgU-MlrYXUZ1D zjys?XZt~~p*xvzAR!%_)oY(R8FpXPtv^5?}>7X)hgrj903E%_AoO%RO_6hfzxF{jT z@(H+@#!LZb z1L`;nTR~Ppukz$`7NZeEqeO`>ASG5VRaKCVcLzaEKsI1iYk(@|P#_CK%4f7CaJM&N zf654k1nXvIdWmNnWL3T!;+lEQp+Sn372qi>qYT0V!+r1Q}bz6Tv0w)-p*0@Y2)(2TpHs&dbd8el&d&6-MK^w}BD9yym z<*H&I4g?&)pP|B30obCIa9pQV2Wg42rhIyBS%;gTg1^9IQrVc+fWfXRueKMwRju8a zQCDG9%E7vdCP}2cf->cd&+M>eN)=l&;mZj=4dl|O7%QjId9ra`x&Ws+O&Gxvo(Mzx zG+J-QVhl%gUdB_3m&1(4XGh_ZtyBo5Bqx)UJVZ)a6dmLkgc|c3 z!@0aShlkL(oX-=M3PKhcb2a0xL^!WRnagTZDJ`lziJ)I?q+EG36p1)QTY+NACYeas z!#N?5AXt&glU9#UWhomZBEXuW1{@|Tl7_TPX)}buNtHj9HJd$A7l@xL_B@Rli=TPey#5~K+wdnlGNYup*xtT7P4?K93WW{Gfep3rM51gExE zBat8nleR*rfN`aui$E$UYp^FhByAyGPIcaq4mueph=;Hc98QObzkyZ6czZDq;z-dO z(tABIzF>5)6<^RTG1-FGKwGnTG@8zNf{~n@Rp82|K_WVHn1ck-8_cPK6v3-0h}9Ua zWwT9`XeV!ot56|bHRHxAonk~p3F4D%A*qZE%Za?&Zv+WEtRh+>wBCk-)L1Sa&ZzR7 zPEDCDem?8Biy=dv55UX;)>uWsDGPkm0kf1_@qtCV)i2OxHlhxah()c$ zxsj4SW%5QdNfLIt>>!xLp(GyCVIbe6Dte^^2(fj62pzB|lN|4HX{=~CD&|VbQn~Dk z*!&hXCg!|RUCH7$loC~jN3>xK_0bDbrwaV*@Sf-@1_+9pB z*_aUHC}fwM5kOv3WhCVjV3kf%izTJlV5Cc7TMqUxYEIB57?njxRMRQ1%)mu=4y5YJ zMcHXmoE&Vm(hBtjr-}o_CBhnzvz9F8=3@!EK(S$O#;h)dcv%Q)P5Fo&@O>$RV|mg7 z7cm8#v)W(`aUt#!*dcHkuL95yECilz7x&^C2o#5(n6c0rb)R?e3hSISa{@moxbV4=qXRcslAx5+;p` z#h?fg5WhMbb_dI17&{x*4<)JlX)A%|RTjx@N4;)Spd5{-Wd|1mFQ}wYOdBasA%`KBvg<9bYLK8Yoks1_5Vle{ zrXu`>6k$V3a=}uz7Htu~9GHaquIi97AYeo20F*DrDsj$X3335C4AR_~ zO~>oiDn1lfD|X#j4GDXMZpDlB@U%4 zpfKghNAYOPuQO=NqDsq$0@ZvdOh6_tOeqmLCdZAi#>{yj+Qyq?&;L$-Vz@fZc&o|b ztO}w5Ly7y?G?4WFOli$!P*VgLr%+l=AXfw#3O(*ospEOdq@>flX%UTWrrxNtZ*1=By@6hv&1Bp8$a_772JkJ~YQN3lhEu19^vyPCn;CGag%Dte^=LbIw znKm#cRJP>Qwg>{CU9&U}<8haG&pl8%6y1P2I-%y8v6cr9YD zneoLFIvcP$0;MRq;sJ#|2c5 z6dkdcl48(QBuueVK@h+ceFacYj^;c%$WM6vNgd)%sp2}cz1ZG7@qo7IX4YXE}MbK}$8ct~(Q5Ow|v~VyN@q?;X+@^R( zpOjaQV!*}(k*tJRbz#3v#lTS)h}bY9LphT=i{4)1^(b8`<pA;#QNYWmBOs7k7e_Y3d^JoK3NIhW7Rkg>OmD% zGFaA{QUN&*U?00iTuQrXw06@^mGA69T_ndh)3LM5Cq_Qr1ce-&aO*k+{s{tFF7L~pCRG01~f@Cs3RJrOw!EIjuMaAGYOE2 z_Nxe$j?}9`A|8uoA|N3EK351bR#l+l2?f3OG7u(`5BYeF1#*It7;crpc3T)CSxhK? z0<$HoOd{wsk{&#agCv5*?aw#_lymDn8K+mRhLfDm2oeh#20_rQl6a5<;J^lW7{CG^ z_h{V|!uU%jIm^YZq~8{&0!qpQkzyXcn5w!9Ww(!Jf)+Eaa{~wgb=p*_#Jga7m?R9M zBA5c1^?`J>Y|a=3ZHYxqBqxIMCAj0T5)dk|jEc5q5*bWs(h(e?H4|>5-JA+XRHlS4 zhMFTPrDr{A0^f1a0Scm(j~{R@?sm!H6sdMvNR9~yBLP4&B@?bTnqjZ()m6!ispO4_ zBxV;q3Cfx#QgA55X6#n0pRdNfRh3_BgJ>l#QDsvW70GBQL)^;eH3gSoi|JIUQb-$$ zILcBL^W~hnEN&vQ`T&On38OuqV=4hXfG+10tSx5L_%D0aa7L>~ku=oV9^+v|ovY)oux4BUaD} zmY2OS558=&g069WHfvJbQa(P)nG85($P^%$0Nm532d+|U(0cu$GHh}de3q;mm;;uw zyYdzp)i@2-GJ}w6UtUzmUO5aHus6qrT~I^^!c}V^284_WP9`MzOg3kR&=yMRs7?)g zv!F_dKuCZ`bft8p2pfPy!K4UMDXFMpFv^xe$mGS1m|W3;FDk;MV8|q*>U1&}WO9Kr z6NRXFYSA3S zlssA4ZD%N*MlQ!q6$jlGc$W=hUdCYyH@ooInKnM?*WC=@`oC>cSxsKso{7UYUA zVuNYr;gnQFELHFwP(?8&9F!Nec86Y{O!_N6tv4aVX`^1T7@(=(C~`zHRPT48A|)Xk4OjFE3)8_7npdT9CCJkn3B;SW`>ZNu96RGS7bA?> z=|#=q6sS<~Pzg7cZKkX~BWH6~B;exHSp;}nBx)tNVoLTRKGs$xVhUgeT+vVo6o``r zpx|W^eAN)hIzgzMFtZ_4!i-cToG}^nDK4Q!?FKGJV;;ETb1N%EsC**rumH%w>5}ph z2^W{+c9Vb#?n<@Df`Yxlm(DsEoDDO18w0-G0+h&Pv$(@TC~HZFIoWN5Lk<__M-*W57vgE$)~TH=6?P43Hz{QCR{WT_~Xh%p?~8 z^)8sSkZvbOM4<>@V(lR!s|zzYt%OIix(a-UTQ(vnk|_I~ZYu#(z#(JmWHBB>qPAcl zjtXH`9V?;kBBlpl8VS0P4Gm!kOR5T_F)5Y-KtOS4x}+sD)-s(+f?{p39-SPB&7%Jlhp+zKN~HE67CAYqm^9DX%p-k0CWVvcd+V0-WYJP3}%fo zHkN?gftVweWir}Gg^aot?`)>DF*I4`=%AHh2q0+8WvZI9g`6$Hf(muQ=oIt?y%W?R zU^|PcZ7^fY8(=gia#T*M08BN`PzH{ZRasvqYN8Ouh*^;GphJ4))J=HQbfj1c=%EtF zvMG(l{NaKIhGeNl?!*MLfX8eN?Y-Kx@a5^*xeO*}(5L`eOSvK*quLM?MH1YCf*vv9@q=VnCPGC31uLdGfo6oVV$;J>ms7#qu{%j~*D64apOoY>>GexIS(pOc49V#2Np0o?jL%u-9E(nEkf_7yw zYYfC3k`V>TF^4m&!m&z44r^$2O6!eNrI_M~ib^_3kNpqy2ekkD>t2od^@n^P)zoyZ zv6>82b=a8=BYtZA<@6<+stsNAbte`zKh*!h#{EtAT0f6X-qLmFmyVWGws($yv!wq1 z$z$ugbm`JiuUCz2*WHcQT+^uj`p~xLK|m2*d4o_+ZKJ4)+LaoeLkh(}9QXH73%FQgaRYhbS@JB_~n&ic!H27XxjBd~wH zwEC}K9~@JEXa7Gl!BdAetb2Oo#V_;cJ~??nUy3%=)OCJ!K%=@Ie?Ht|th;X5s6YLo zwYhf&-TZyQxD{8FJx-&i7wDw;cZA_IHiy!1RaLch+xYUz6Uo4ehPF{M%R4N`LIzF}Be?$6xBb@>SQ| z0Y3~{l$bXv(5C;eKKHfh^J>3mKHdJdVSK~R=AG(?*3^c2j6K4Rx>t2~S$&`38=nS( zZNv3^;ITpU$_-Z!EW5dU(Z%r(4*o~s&Ncd{O#hmxx2sn=w5nZ)9p38-+FTP;+34c-9Q&7kleW%^@R)wSq2T(fKavhEkI zjk$X*e|##j^RFA1m!I3Urg`J$9skj3%wHe;b+qlK_xoy(jsptP;y$1tZ6+0uc4#zx z_JS#c2VB22c=!-`#_wPwhUP~)RhJuvZf)9G|H$wf$K7XZKkfU&`w?UR-pGyBKiKx% zxqWN@%A@^j>pCBKv{Bu*b+1G3r0ahlcQiOmGQTzQ(vI|};~XAbMNc;4s%O{UD< z*?u$F%7s9}3+pf5+TG$CVsqlFH@p4u%hl<~CIkoxNp1A{ey&w6a`rM#i+LhyL z>Q(@aq33m}bu^3}J@K$~a&C_fFqgYYUa*Bubv^#*!1C)S-x@Kw|2-=n?s68W=W@_@ zVBz>@_jb83_xwm=<)^26_1Ltff4{i=_RU`>beeJa&ee~_l66Rnu{Cwxu49k9`@&n} zvX8%gKDD=iyxg|`nr`oYe{}89mwGo`)~{dJ>z@y+R6s?^uP&3EBY&*Qz^NcC_xge)(8w z#;lHYe?2kw$n{ylxc|X%<+BIw6`Gy@erc;YwieZ^`xEBF`i;`%I1TKnMeZeF>eQ$8 zYr?fR_beTK`{s@reV)I~ z3?MD%HXmO&^Azk~9(eEgzNdt~3tG=q;KMSrreRvYF}VAU&z^5PtliJ=->6;p`;kAb zy`Efk<;r(%LfA6>Z=L84bYf1;3+@?17vQfnEMEL3oPG1mXU(Uq8F7vOcJb1yXAhpd z(5L><+7{c}gKf+_^7Vz02=`OxAD^i_I{aL4bNg@l-@diOJ-Q3f%oT6zoQlw&aMx_M zzJ+#OWEwjB$@jr>jx_Bx_{2ls^jJEea<1e00}TpPHEIjQ*pHpqj(J=a-BOPNkUsI- zY+>@kO?^uF^Bb=1Y|?3D=kFG~zux=Ntlq%hRKVVTJ^qj^)m{1X{vkKNopSuv;k%>1 z$sOG?F@Njq$3LC|hX2^o(demo?`8y11=LA~zYJazn%F%K1Y_9=g=%p2l_l=9f=4d92!b?dV@VEq!u&!qx8< z+Gid)Sve#vUVrV-h;fsCZ`(9|FR@7=HX*=!z@PM*IxNBV8uSj_JPXS@6Lp0S@t<%{O~Kq5pN>?5j5px)%1*kGOhf>FN#d{y5=z zo7sM1*OvL-gPYeI0o|)j&kDbP^Nzv4=+z^~ zw@n?skPNB)v)_Ml!=;_Q$8CS(@Tnog$J{PG0#d)5)2{~>UupHvA*=Np|GH%V_I!&2 zo5qZZ@4K(n^EGup1Fc^>cgXzyR#R24j(CY?hcG;nWo_} zY@hr3NXMuKX3aWV)5%wt`e)|uAFy%s=LaL*+pTWBaCo@gjJ{p<H`nb33isyU61uUT>de0*B+n#&3z4-jZo_*@S?A7mv+xBHoeftS$Crx6{ zoFhNmN4euC?)FRHyZEPR!@k@)zhT> z$9~TDc($H>3#j&uZm&LC^ZZ-$cMiGLa`fJwcY7|oP&xiaw(Bpw_MYwB`bBKQq~5JN z78+X){t@tBU%L3hH1C(a^uM0%H>#Oq-hA)oTZgV~Y)d^q|7s%8#7)Ldo^Psoer$im z14BCo*;;PD``Db<9_TX6^Lx)FFFNObGU@zgvAe&nS)=;DhSb(Kw?D3_yR>P?+PxDe zEbnw+LV(zLZO+w?9%kosAGP&`nz~+(k3B+RufVRBN1makFMg#$`u9wp0T{u6 zx)yVaYc=U+b=BF`6W>VSa3=!RQkpHFhzRrSIW`9}5riKaHIKkmqskhh_c?<>FukVxIO@lR;kE~)__^sFA08yzO@1K3CZ^?K{`N2PkENbGnQ@qMzQc;gy%iZd_xS_wJ{F_8&XF zcirg6MqV(0fk$6_d3Y5;y4L|N51{?xkZrr)uNk-aE!nnp(j#BYyz|5A0ate2?(Tl8 z4=^5ere2|C1)vlsz4&M1Ly8wazHP{z53Za)JY;3R4W|;ne*XOYRcorh%}T7F)v6UB zWgnVrHtz^*oRxiXEWat)`XrzS&)FXvxBBbB1D71S@cfH?9;hGsnZLGv^72_-&(Zb2 zhvx9Ve7fVpuU{~yzMkNU?|$R)%)S-Bo_XcL9c=R!+kvO(@x_kB=`OS3>}%&oo*W3U zVbyjJTFjK5IKTe#CV>LhmKX(ILG<#r|DHF$z-u7~{Jx9NM znK}LKFZ@bCjfUo~AL>vkSdOb}Lrbw56+wsMNLpoBz z^}p3;E>Iu2@x&o*YHv&2h1 zP1)FU>?gC9WH$RWd72Q9=o1v+N#=n zZQqHHg9UUZfz;-&ePlOMyK83unW^s;3Rn;G_N%%05_krDyLax3A-W8SpK!Yt`DL%}#y4)c4imt7le!y%VVFcw*za;;EJ$ z$L?GF?%yi7T?vB!=sotvHk)Gm4{X$&1Y0`2|E9mZ^3^jv0jj-I{9|9=8Rx(K_WTE- z)$vyb-M;eOhtV&a-8k^$#_k}%m)R(tr2{NtGFxcvkwrlv`>Vdi&uH-Jw zyK|+7boQS=9{;6sczX8WntP!I-UayuuPyj+!QSsaEoIQFKQSj>_qnDDBae019Qk$f zqXXlUJG26hq_YP=^Wv82kH!sspkAB&W@z({de8W`PPJ6VxeBP~{#~eM&FeJ{Oe$J` zA5enVfD*6=>JJbAW~PKd!xdbfDeio zhJMx(yxMJI=lcOz-3LzFrr4H)TMW&O+}@=CRGtHF;HTG`9^F0&Y|dqSO$``f5?FA% z$llg<%fL;_IAx6j$EQJ5ML*Qy{pY~stX=Bwscmtg0Zh)^e%5mj0{rRp;r5PzK0gKK zw1#caL&UQ;ubj#s%znJ%^`5@tTRR93chv)0@%pz5h+WTAe(BZ~pR~PW+wS)_0;<>? zsA9*5Pu)}7y2Vc$Mtls2Blb5YJPTBC?%wrMVgI_ysxyZ-4Y^+UZjrP1@3Xoq69Rbi ze&f!sb{VH;wr&R*gyWaL9`dzW{QaE?I{^kO@mo)P>o>}i|HZ2+bH)b5@ITYt0QcVY z)w=+uJ{)zcybPIqa>fM^Hx>aZow}4L)?3!TWc>4mdmAZpdkoBNP{&jE*0yd{9~74y zq9#p!;csyO5z;MMygwFnd1Yy@QR$afBW<2|t_6_6Nzl)p#jiHKK6L1E{XI>ZzYe@+ z;p)~2&p}N7Jd({-bUUe`~>@Yx}~|$p!Cyc8Ov*zL#HC9Yf^xoH3FL#u`ldt&CC{WH%l zJG1buM~t1-U>VURk1Tn*)(-EUzQ`HgF|qH#=?7o`qi>H3zfJz?!x3MXPaPEBKQXl> zh_#RO0+#y2?pWt@spT)&uW42u+5O6dPxfih<->>d={jQfg)!>* z9P7Y)CQUiQ79Rj<66c`rUKomjN1q$2aong|a^&@|cQ0&HKiR&&OQ3!&0mAS8iCGid zZN510hx*BfZ^X(iEVBU-EjMmAukW%+D}gO6n3y=w!tx?$Y>|AS=e(NMb1u#LPIhb54zd3yLoL2UWzVy@2UpITD{l;_0rVQTk zPjrRId~)*Yh~wW*=rnyydmYvIflie0&Ad@-`mepSch}AB=*fAlq=rS$d@s%~t{8Nu zbo$JInQNY0@SfxDjv{*M^;QdtUA+!T=k}jGF=L=G^^4}2hZoM4R~d54a7z=gISoMKbrB6E)!CZvSv=+jwT3&? zh3WoFd#dN9-ujy-ANui?SNrxCrtWE5Y`*Nto8R`@ax<~7$&e26HL7#3F|xS&Y3bD1&NFtc`gBl_{?FI-X!f9H&)w0# zk7+V$<@GOjK6_`;rB*B9Q`PeuE)N6o=ZnGzYwv5?2JG^k!8siO>c;?34;uFL+|J{? z4TUpJw>AED{jGiL3@5sbG$LIV93*;m>s8Zf^!t5VG+aA8V#vpRTOXRg7oN7&@!DqO z!Kv=@=sxbjYqV>J4JjJ-Yv|7Y7_ff4w;5 z;5r1E{K-nsoL-t%+kT!t?SZ-TPThS2-d1;zAs+o@z#Ai$Hk&;8kwe3pZDZa&HMK|E z?Z_U!;@R}VQ`bM8<{G&4(4Ei4wogIzu7)wQ+BK_v1f+LZ)v1*Z^ra)kQ-``$7Cbrs z%c=K%X)*pDC;Ww^;|1zMCSg!dEKYVT3t`mz_ zk7?f#+OuiL=^IlqFX_k?ciCeLeKTE~*GvMDtncPYERp*hgt)Icyu0^J+38#BeYnl@ zxjDb~dX2xhh&$&shk7hW3Re{0$8OKwgg!m^`uPWIH#dFR-mP`V)*Yue{NR4C`DZ5u z_w)B|qjH}|-)Y^^_sotVW4w+v&HTB~M=d$>#@V%h{qX80b8OGHNwY^jbzzHd?SW~X z+;`6J)`Jwom%jxM)4#6WKY!<;!>RcFjx5nGY4OJRJ&PKAr|);sT|Pg^E&80@v+egb)0ZA; zxBb_?@BO9G|62X%fZy@%=cB%_G+w;%4#2d3p82F*ZHpHt)-<$gW%+dCyrF2rf&~+V z4;Quf{(kC-uKf;d9b{hU?{vG}Mb+U)nKg4ReZ2Vd)^jfSDB1Jl$R4iiJr`Vbls{xRTI_5yR?J85l~ZnddR%N`$Y@_v5g?E4%k%?@{O+^9E@dEnh~otr&m@#P$) zqo+6D^WcD|9czvPQnBTWslx!j|6B=NUifF--iJG8-l;y^uHhI7&1zQH2WT+;#>3c6 zB>{QOHZ=Fwp8l)H|9=7b+jdiBf5@F0y|s1zr^hE4cW7$ojk>sW#c1h+NoUkwte&NQ z6tJ*1z#jU}>O6UTeV_fR;G1x&TaPtdlSjXs*KF@e{B!1l z*>gXe)v?Ks6W;pd#@b?Lx_*~j0Vk)7J1Nx`zcMGj;kkA=5F?N{-^C;uC7(bzWs zl0yC)ZP`B~kGx`P{(q*VM|J<^ZNoii?#S4$eJroArsp0r z4F-&2WS>(_YyH4uF8iEd6lPljO4O&mp2omzpLpmwF!8DZ#QI%cae%^L{p1HjAhiC^ z!e=RUtVT4_fB&|PLb0C#`JUdjwKIVC>tn5pfB}Yq)Ag3F z(=Gt+am?6e);<3bI`JE@;aS6Ll~6niRB}uGw3VGb4*it+q^+zyg1psnk@*wF5n?KYzD(Jq1Ym(ia}f zDrvdzLG<~4m(I^B*_+o)EgA#fbT2r4SqnAo1jI0yor;19uK^S0cGQXgPMm@NbJNhy zIOutj>QuAZ9~8I#4)N6Aq61^B`2UyaUTrz<)OU+_Wk3FwJmMJfPjF21VK=coRcKkAOaF4=OiF1NrFUCGLi)W$ytz`K{BW$6H!ot zNX{S`36h~}an8B-yyts=d_8*f=+!i6}-;xeikm)DNi-25=4wZBh@|)YAEc**$mxpV3 z28;mEFogs}%Weuyi3V)a9I-Ox8>BS>5=h?hIj)H4EG#`F%PrgZB#oPx@3pB4gt~I0 zap9_eS*~gF-|~*ZJLft9C3qGDCVyVe%|}8TvoeI=enKKq+*{1Tu7F;+YmHPa`ig2<~}zp|0edhe>*MA13M3&j&a@i#Qje zDH(G`N-B};_Z3X}cXUh*S~Z3H3P)lA5tK;c`&1MDoZBPwT8!u!JCAzlrVlQXnbHyo zK^ShEv31tR4JU?!Yxd50kJE|Wg=67^!cz$E*<)iBhM5Go0uc!HE)&dHdnHkf9cDpn zjMebL=jhWCCM%Tj*kqoKOTALSaA=b^Jkk=TPC^o7dnA9APQvNY#&A%SA33UPkF7lg zhN18nL;rD&PL0mzcH6Du{bKth0i@vYuRAPZT5-`;t&Te%e?%S^@@xVLT5}BfHaU&y zkD)=UFqb%tu?{dn}*HXZ(ep?B|`yLfr+s zI62qA2@lz4>#E|`G82@1vK}s1uY&?{Jm>Ao*6Od%awRd2_P3+Wza-HKlWjQVQ~FM8 zR6i5c#wcm`Ep*6DvLXKVFdy>uHmD`WJZ250;rHS17S#lBzWuRwr{TjT!saqAhL0vp z=mSj6+q=Db7vhZ`>)W5{bGqztNdIa+U+XT7`!a7M^JkkyaFLL>v)*jFD7?JA1fWq}Lr`W;SWk1u<#j#5Enc%8z#^Y@{ua$N=u8f-?auF-`l4as8 z=B`*Hikw!c3B@`ze0Hx&NXS7ZaN?s(l-E1DS3)OZp8Ksm*^1e^rFX_UIlSrh6D_iF zXR!6ygoTD8jfFO}lw)vI1h*b6QTr5)ZdF_xcO>T&YI1x~_k?TDna5&QHgqCJF?6Y( zDWX5wQ)k}Diq7c_r%db0c(ifN=0zqqNP?J3ex*u$x7*N9^G?U=BKW%2_{)l;ZD)r%@N667Tv8|yTyYYtR8i62j1e^@LEW}-16fkgS`g54cl2A!_RF|Eh zL$B&1@JEky3>S!fG=v<;p3_MMwni~2X2BwtKUup|w~&*ZWj#<5te}$O%l~jlKzMH^ z+HZH886f4WiGtQTR~rvi*~A>UuwIUT3?_9Fa$FH&`wl2@{8GtV6@aF1+l$DLp@og) zHC+nUxv5sy@4X7(&Z`Nns36HYq3Obj7>2LgVK3nSsfRuSMIbnu*;DwYgmL-6+b3%o z<4&5(*vTi}9s4xv9HsC05-J)7WX*o=PQN%Wod-t`0wkYpJa>}juzS+8d2)XA(Aar* z{u3t4q4(tElC!9$Yfl3Ao1gT1n`tLhhiP>oAAtnrNQQP)L7XZX%pX-@GgzL~;H)p) zaJ;`%w|Mh7&AKYDvS58S-nji4F@x`-Uc*mDHdJ<2rddavGp3vqAiQgB1VSUUaERiv zUoU;Pp+GB*psuskPTfgR0=My`$p&;of5cg}kr9*JQkim_C=K5nBm5(t2#4;5!35~IuHigA~?^A`H zazd}%xP82Ka@5%TMSGK+{3WB^(|hTx0%@-eyI)?fQDN$`G0LC#8CNiA`rY)nT9YlY z2T!H;VQo^rlC$Ti$L5#jOZcVz``=S_&TnUyU075dur`d%)NmDQROM?_H<^0l0uTCY zBTMKxt~4BtsDQ5PeL{i^9J2PEI&ov60ODUd9Ix@h+fHs&CT&PeJmEN>*8I)uy`%O| zw^#-ruWdZPA(NgfGo6_7|R!Me5SFk0%vW62P`EJCUVHZgN=QF1p6O5Zh;c z;0R^U@5I!_{)|WEUk;s&_hO@=9BO>L5#KmdV6<1qQ_a26y>dasFPbMpw)O*G5yqvl zA^c6&Yw8fDjgRd3SDdpaL-E zq_}jNaZl3hToeMjVCafQ#*p%omq-RZKQ|fLUL2}*;hn(AvN9Vn|9!pXBKa7XO8RuA zt!Q&761;vtEDz{>#p6dSiTsM&+V*(V6W?9QNp{zDqQxFs6ol_tGa4sl=-6u=3La}5 z$+YPk4$z_;A}ecXFk8k(i1Z0?r0exBx`!y7Kfk1$_jP*UO|gbCmYiMAWW}|d7l$NX zy9E3@%VqcSJB-Mn{NU128kjDmQDw7u_!@q?zm2InLf3*NryjW&6FQxjS#} zu5e-})UK&DxkM(9vh}nw1HvWWz4!hTN-Dx+DS0XEN*`{1!Mkxo`)7nh8H-1I*oU0l zJb~Yb#p(8Uo@=XYq-FHv=5JNF{JLKUZpmr>-g}#nhs}X9bwJ>BPIcp(cUml*NZ?Yh z@Vs=#UBqjbt>FGqZ1M-I5;@3l=4A~qTf#(%%{noo8eChbyuQ5cz@SNPILi|5uj4); z5>8>bcm^re#(oN!(E1#vbA_n&z4E&#f#z8btCCSP;*<@Yx7K@Hc8?9I52?i>wwxmD zgPzJ@)+P=pV~ZZQ`(1t|m3fiO{RQYK$bf*V6_icLGojcc3FP3}3K3H8gU_lz)h zcOum_#ZfV2TxhwD(V+0ObTh;q9X?IYGdhYie!HRm`~e`CYT2rGIJ?Ye8ouPloeR5s zmun$sTxd^O{A^V?B&LG*_MfCa<iPuJMf`O*h|a{}Dcpc61X*X6Pn zD-@nl?w^JGHGFhkrsn?I-a8a-XQ%|NV%}}_C|U-+-{mDmZFcgTE%xR6G;REXjCN5+WoV@Y&9JyF)DxXEu&yRz3c|&{`L|JavlK&K1g~YvJWsTP12%A zi~Q)iSd=baaH?>eRX}pOM+-ezbq-g9V*Nu; zi64n9ci)QsxRPdl?p96V*2rfd5+XTVNkH13i@_g3^SLg~GOpN{vrvIx8R!%+$Ea5D zFLwA8ns%BE^g*h0&qv}F9!7PW|HEHeK5;onU|s;JhE~9f&qPFJGVC_Neu4<*)PxO{ z4FY{y?0MWQu8Wp0);us0A^Z3jx3dx_i;2=QEScQm6p$qXVhCvf$$$hcy-$`I!@@86 z`xAUf?vM{~goY|Q`mQW3+rlj?s_~5vz&`Y`fdIHX(!xCPs?Y5Xx#9y=ii;l*y5BQk z2#{Xa5b*~-ftDnocMOX0+_4DBBrsd&=rcJjHS(?3PXVL3NrKaCjN#C6YvgE8F*OnX z{x3#x66rHVg{j5dIZ|_|OrT+q!`(PlAk0bmY*#|gU^0Wn&()A_n_79MB zyh#z}D&EpeqnebJi6`63?%?p*d8E?w7fh7MbeGY5u-vSt!lIihh>Sz$7G(7%C&wwB zzUEW#J!ZIYqSE!~>Hvv`8Cs!g(?ApqV*vhIViB?XlI1R=1(2Mt9Iruer zB%4+YUei=4o&6{?F#}+^tl>M|=3R8i`%L3t7Yz3CI}HB?@ZL4h`*;Q!t2~S~+LGY` z4P0H!JXRRy%@T6*9{TQDqE^W0UNa(z<3~WJf?qJ*xcQ15qE_wQ2M9*`iV*5#fJiDr zh8M@^dlkOO1OIs^D^eb?_2yr6&pXj!aljNz6q%nfY(l!#$%Bptqvb_1NPl@h_Y8fG41jxztJuwh{9v>lS5flU)JK#DJ$@CeJt3ZAC_YbMvHRdft3?D`qh`gFPz~!_YFpEW| zNv^kHz-3}Gm^eW2l?LdLRo{ORY7>7Tj}o-{@YC{llmr+EB*_WfivQz){Bun1`YjFp zH;?i?P7cQ7SyEjjLnjU=&WcB*ogB{hPnKAeT<5)&HW+R|3QR*ASL4 zD{lkFpG*}9NeIuAYb;AP3F62F6<}^-qcW+X5_`7*rDb>DUqKg^EeHObs3IO+69DzF zF7XqOy`wd6RVbomofgpqV3iiO%vg4dhmTpi>#KCe_8t^2A5HZxD~&`aUi(|k8iCqf z`8ZBX<4UmH!q-2N6Y2doSbI>Y38vV=l;+reXQ-0VCt+)qz=k&L(EB{4UAOn3 zn{dItM}{)FuCaG?_j75MYjoVL@J2RsbE4N!doq!^gp)ypJ{os>uZLuBmGTH}hSJBl z@!c(M;R>E%?bO-W1&JnR@EOX3v~ePsaW)AY%E^^cqz2V~p%$29BW3!J*9N&guM_^Z zF;{}FgTHqFG%ZH24nh2?g<*5zej~~2A`w(n>i1Mxn z;N#Y?iyurSUIQNv#eB@9d+jU|Sh*hN+*N-t{3M&8R2uFs+@bUlAohIOf1o%v>Sq6Y zka~$avXsAY@2(Y>aQsVRtU?pzE%9w{?dlEYEdnwUg-lYZ+~1e=90b+R28=h-0#vJI zTenHR*ZVwqwq5b;tzrJ5_N_Ff_-Ga3vaz;z|HkO`gr`~==v56{I4x2%s4rhxO4B!< z?~zM2q@7RkR>_|eJh|bk>GTmF%|{8@0WZDYvKZ%2EdQv^41cCYkGjVq@2+j5 z+~c+VilW0=&5Zs8yOdGx-NDTB;+H;JvI{`ki&Dr(0TEga;GDF<$Cs!>&p52 z_X>1)PA0Pr$v7Lw?W+`B<&J1k>hccM|K>f(`%7f|I(_+SZQAzX#hf%FCu$Nekk~IX z+?EJ>up#qgvn0fdCFAK&S%~mYkQA&1R1e=Gyw| zb}*gzJa=}-K5cw_-(uF9m!9F2!0%kWb?BwK;N`G$*K0rc_9Wl)v(54|rNn*`v=zv4 znlpABtjmt_v%5l{wtR?sl6j}b%}7OUqmW?o^8VD`^K+@qxaY##ed@j~4W?KO+;IOo zc%}aHtxyHOkO-YP0q$b|gvDT;>+gU0x3H1Vf24fU{_fyP#HPs0%Q!M#g0mIfzp*f~ zv~vK_XN#Kf4`BAzrdW7$e}b$|n05Gt_`cq8_uL7?{$|?olIrZ)BX7M88x5~ zv%y3d++b~nU8(bBx(q0G@*Miig!g0#ukZR7QUd6XC0TgUP0Dz?BbRU}wY@ar0U4N1 zr%r;r@%%ZFvt-e)p9K_(u}d;{MNZ3M1LWQoLe2R7VKw*Y+Y1*`UiVpIwNT}JcL=3T zT;UG;W|Nq>QY+rDE+^c$xwnyQd?d?#3=_F_UerU4jHA6r+CD>V>JmgOf3n1NoiO_G z!t=8#9}egco+N*8GC)mUcB>*8fQ?yC7E1CU1D>9FuI)0cr2lZVT>G)@IHi_ts>hbR4$gTsQUkTxG zJgFVfN(%X8*)=gk^XNN;7T^07yoc(u;xe&~WaQ!774_~*qK``-R=H(c1Z{DK+kWFZ zT##JwRz3+yZI!eq*|YvgOVr8Ymw zD97T_mHl<6ZAM(itol{wlPUj}^C#Txy>~7(3Y(aG?i$zW+5G^C@4=N6k7isuS4$h+ z!@SZWqk3+ltNhi%Cz=b>>*lj`sNW~ljFLFDa85Z0yQj9?DVbml$Q-)tuHi5wM(Ate z9tbh8Em*`zSK7e0VOCVm{{4;`^tbQOh^XQ#pqjQd{Y9xEmb)=zv~AAC3)`C@DaazZ9*tsoQ$~z_;kKdni%lBtL@s+pWpSCyU zAyiCey#)cnzf;&geWUi&lb-lOoou#~y3$iKefN0={RId&S>V}K2e)jv4Qh_mbs8$A z8{B2ZyUjm8@;cg}ubb&?aI{*gc#7n2ub5#JNq4h*YjOUD!)MgK$x4gCwegtN?Rh7! zxZwHwX$-?X7r3$oT)BI2+tij_*lzg;eJ)l1op9U77#5CHorV7a;(`6}A0Yn!H4ejn zfcXDCK>Ys&;5)}*7};N3fd2sT|BFDp03r^chK;umYk} zK9=_WR@_tTo{8J<#<;0~Rrjyvy*CO?+WPi_wz>nj4v@t^hNx$`^^CfnN|Up^{SB{< z__LD`43R_ihf@iUZcyeAxchN2VFr*TY=CO?BZ+dV-1n)S#>B8kksc!^99?>VO_uR- zVVa#mH#Tb;a2zDAXXrOh=*w%-6W`D3{7S zpbFB`;t)Qk?ZvFkA5az-zR7rZ)pqyC_kDv`^~N6!+G(u)2b;bb!O$H3!%9* zr+D##Ac7b3EeuxV%5gl+hr#JX?M*Mrte$Owpk-uTps2C{JB~JAo+5ij_AHn7=v5Np zuK44(UeG2)i4*Si$l&MRd|J1*Z|GsdL*_5rOQnt6NK;Xk9FufST4gCx))^4 za`DB&fMKa)wxkKW#9VjmGyW)2Gc0=op!8gZ3QgFz44wh$!QeVGT zll|&M*REQ$^WMPv;~*8O^I^xc#yR=|3~wb9cfY$k-s?^k9%Lmqih<B`+6$Eq$M?*S5(hVWuI-Ug9eM7qJMHd=T^5=nB)dqOqG6yJP@5-lH1BW-pwuNo8KhZdlJdX+@SR6+~F)m;dR?UX{IDe&B^|bE9Q8_8X!_u54So zRqYSp!o}?Y-9rgtmEy%iiTtR2Co+m7i*&96gq^%ZRzjKCz>iXoCW_VVJFY$Lozj4f zl65PdSLJvxS;GL&{5iwnmNMlBv(=tFp_Rkp%>C3rq+QMwC_`sGjg`GVW&P+?g~sg_ zw&K^)t|9Cm_00TKHMZ#wN8e~OD9u zFGAz^8A9XM8mrBE=Wt5mUz)p6{$&OPH{bP>4qOq9@5xW{4 zmTyofoCVL^&J;Jbjia(MX|ZCSR<-xt3yT+scz=?9rJtQ?4n|`OR4jMw?QRz}(Ia^T zE*b^AT?bZ692Lj5jib4>gTp8Twoqt+{Q-5lGC_WAOTJGtslj_`BEAW^^$bkXj|28HQ~!&!FvzvEw2eu%Q-;Fl2$*Y6w{%Dux%6 zrQWoT`)o-|+MPKdJQCT*0{W&l2QAOhvjvQ`m!7;CG=Bu199o*fr6{HCdsO4B%i*M2 zut>lGfCAB|Av7atE@RLyx#h>>BZGCTT)F2xzAU(Sg0}wV?sCC>BY^7 zsoqAJ6-xiO6mK-h0A+-xC#M&ewO>|@d&mb=x8G)=&tTe%VC+=w0=^~|Ze_#er%%mv&U*R)ykK+9>E(sCjtiOv6zxQR7CO~fvR%lOMnu?38 zJ*Wt}5DE7rdIsnwDNlFO@4$(^3wB>bUYsIn=A_xD^i6UY5~qS}z8X=AhX3-BXO*MI zLwEN!B1)t@J_OTY^`VNno*pIGoTQfZOIQP58)%O^{%ROUX;wQz_^Kt0}fA=8qpp z`6eQR%|nRL*9@(DI1p?#-`VP4FqXG7C^Dd33jIDS9a5 zSJW6GVB7DxkXEph8pKX!&mp*qnZMQF@HVs8(;CQPd_ulZOaK#a8cSL5cg!ul^J*<3 z&GS?USznD{v$34-`qyzk;qJh`f#4`j3 zVgY;T5Svyjhr35<-^{~N!TS0DVY5HwV&55nPrL{RGd8XVL30=qMUhdtJF4@MVCFK? z=kmNd)lq^v?`w#7O!Ore&z=3}0DojSdP6tc>U;zjd!th;j04>rN3FSxGRH)>VE;w4 zA8%mG{aKZPnTr6ve7IDd9J2g3(p4Z-_+DzvbM7K{3^~_rOx?w9MCfT@ys?oc+LRoL zSv5{|Tb?=w!bQ@})~eX~YsS6aif*(r2&dn)U;c726710yJRep2Wn|hEwCo?RjZqsq zd=VVD1vG*sE&JcAqZ~q`kD`$ywFj7~`sJqb_5`Qe0YuNhl?8XPZ*vf*^l1_)qTMe3 zrn<8_Y6h}he6}OCBEBYGrQ!p{oJUSB*E!;7e}Y?i`g9&K4U$mAG)UkSuEOgCIwA{b zhQ-LycnYBWHvMQ0Y4gUAPIM50;k^E2H6~pusGa)B$W5}A7hC+m!=?>(JVynPGm|njGR-|$#@@q>dB?G^CXGFL7iRhD0=|NZ6KLnkRZ;NI*5V~g$CnK_Y zTF`%+(KaY#@ z^TXYR;qFl;M%%Y=RQhp>SN=;+@DL|41xz0#QZ4B=X8QI>_<#P!Rz#701vBbtM+=Co zMZ7Vnv31<;*H!FJy)lZH`T!Q11(~*Nu0mh_2VZIRYiy0ye{KPfg}#N#DO5_IL5peq z_+YK0J(j~yZVGzv>7kk73_`E)NrJ6s6(Tg&Rl$m47lL;8D4FNvpUy>(X)t^(H5Nxy zqN1X2V^dII44#_ud=YNAtzy_EL4`YR3rs=f(s}AQDXw#gd?4mfU6|2yTIi<-o0Iv` zV;LjZT(?}_;d}X2>hQ$$Mf4l0*%${P!M7*KYYzMeJ!o|)Vb{ms*ekFoLMyE7gTFi#BzQSHG-&rU>b{Ai0xj@!os>2vj_}5}L%vE`0_5k#q zd})Y)#!(Z?YgauSK{j4?o1zFr>g8B858NP&MD7a+w5^T z*jk8Aj*hI#3kuD|(OyuZL#b0ZK!U3#3}Kq%4J$~9J9 zVh78HRnv$H2Q1y$;aea9MMj$P`fk39KL=_kD15KO_?RytWuc~lC4TY1$ZP!GefEcL z_Iiakbd8*2J6~QGO6b^W*r}Iz292Og&pE&sK7lx7btZ&o|9M2AhN^l%ja#RWQNfk*2lSGnn7H9|p zg&O0)bw=az3#BX`fpPu82;Gz}ir!XMbzyr@lwjO00GQp^v^2-W}bNNh0`;hj+ z8T1{Tky<%U6(ih$k)9iDzW_Y87CO&D4vtFCN6OMTFv8nC*>(`zL1F??Bq3Ab=k!1t z0-^DDDJS)!f`sXdtHdb<#62J=s&*b3!K@DwBwY$jI@#!w93M0MFln-MsX3T{31R+W zAwf9TIiN0^lI=$|vc{4fIo7WyH)nRf{#tnDJ`tD1OxrcMJUF;`V={PENm~{{=w_+ey=43$q1}|(5QZIG!=Hwx@dRQ!r%Xt&h zOrM-#1I8ieqZv(e*>(Lrp5{=Jhr9SHy8$WN57iy8S@85rAS)<`P}1Q67A@*GGl%zZ zUR>nH1#PZ{9w0eQAU(I~O7!qa;aBv@D>vMp9lz_TxVHTzZmqfO2^W%Z-8~E62^W

Yq@1Fv+!Jk2~|5ux-1=X zgg^HRo`jlWhGCZ=5`p~d;L|5f`8%`L?JH#+Gv*bypLF_2TNkL$2ri_lAORsvL$ME> z;bUlWVV9VA>bIh#^y&LpF}p-Jl@djqt!Q5ZBNRGMfsLeju0U{+-`Y2m;w-@>#y>-Y z{%7o?%*wBzv8Sgb2>t;y0W>A&p%6V>c z=Kt;iJLfokmk^iolo>_UuBU?~r z#O|w!E|7%8ihzO}pTP+~5H7OA{!{AXsYE#_f-rWxE%-*1Qn0Q+PVoWM1$8)lQH|YH`N^JJEq0C-ag|o!-t&d0 zcClLvCJ++FyE2pKDUMq1!fys~5ov~&v$3fpbnAl`)7sCz9g7+e8)0Orvf-%jz7o+2 zgkaceNT-3?>S>-tvoc6Wt@5TdU5VJr6Z2ZbFAmGGET*Urd~l9fL0+EEHs*4@J89x) zbzggYT_P48T*)-?J804s2rHLNZ`8xHmvCJ_a3|btRcJ&Qz_#KPKtaq>Es(bt6 zgfCGtdg1(lW|6Y%;?5aT_RFeqcwHmz^R43^_4!oJkE|&LJigxa&3vEHpD0J;C9pfn zpvoPA5EpkUsx2yG+fGFE$xm#`3_UE*yDqkA*IC;&TBN+&*oZSElWTFmKRL~3+NU;O zAOeiKr9>RMQ*pWUW#C$|bl`MFBnP#oxX)t_E8lj;)wSOm7eBmfK+A@x3@K4L#h+>} z0p$>@CNK05GzR5!U&g$ZJuv#cTaKpSa=p__!C2_rEi9 zVyVeR?#l=F{j1s!_np9VDfx>F&@hpJ7bZ64*`31X6RPEe&0@H{*S~Rs)3sW=Z%SsM z^}E!9-v4O_^7Q3F@bpC>6-;( z3GD@qW;LX${PhhG881?8t~3gTQ!?)pd~op4V%#zrqp)RUKP3NkfBFY4>Q6Ro(m{sA zkuCM+R5xRTC{c5;30V(lNT@+!dHU;+g#9r)YNcyGkaK_V{x>}Ty}-N5X0?3Z_I$e# z9kQE&+s}W07q7UZ6f5bC(2#GsI~lF^qUOs&cRZ(GExk8B-ue0A1@?5%{H4|5kK0=tClLmL zpDkTGy#ApGFkg=9QsI#8;jS~++|F84k1nb`}Tj(VfRqn)w%x}7d!&m|WZLJ{*_ z5wf@^<8DHEBmsqLlh*>KdM>&z)-YQeXAcDx3eH`QI@$Z~9p_zlVC?8b(70`QK;Y!M zcb*5!`+29!KK6EDNuz>5$^O{m@c(AWTc2Xxqy)9k)~7F>hTXHo9G1uk zRAQ1!UdMFp!1XWt(JyHR78p1$2T^}#b#cvcm3fc2gMB^&t^KuopgqlS!S*tF${|<9 zy7RqeT%LXn2Qrcr`vbssfhy`mSfe}0CmNf0uY9>IyZM~Nj>j9huHCuB?S>VqW{02R zV*YsOXOXOkiJ+N{lgRwCG#1M{>a2W01C85NxZ@EY=(U#3izPGZ?^SzrYVZy#JfG(g zyJg?$o{LDw+2e?u(3TG>v|miQKLEM-_yT$SZv%F229zw?mwOL-8xkfc9QXibzPEa~ zQhn9H^X=XXn3L4~Sf+0_ic{T_^` zQg%@-kSRwCi)BR4)gyyen;T>y9Gs}Rojv@F zlxAMvXdc_ihDXnrCeL0Wr`9xiv$dfpGrQK?=)pe9vwCOCQV6#3$u1E)CKc>^REz-T ze5r4yW$zPSOQw$_d7Ir6c`12C34Wjdl;5)7;Gmw|6xoB`TPR?hAGz|q*1_J3g{o$d z`P?~`V`q`T$k_X!<8^gon(yKJAde;MQU`?MJMR{P8(!}DVD)gsWOjdk{BTj|=C*7N zp|(qmk*8`gB!x#UL27gpw1`{DqC+9S8RkxE2SKjMHRrZc)CISpc2SvFV=O$oFaBw@ z?Atd`lWSw&^a963rFD+)o7unC6W?cy^*!<1co!Ug5VAB^d>-l0LAH zP%(Q&xLr{MPT7{xI*#`{9ut}ct7Q_oIJKA$)?2*YT0x=OXAP0IxmPyeeFs~6tRn=Q z2j8r`DBs9t+8E{E&p!Jy(pqw2fQKhav1^$FLcc=hquxL3@#%u_?Qea5ZwMTF}r5^9(eYb8{BZ( zY%ZypsX8yzCeJlYFI45P3_f4tw6sEJs%jBrLt!>xkvhFe5%o>LLUTv^QqS$@ZfCiJ&{j3P+v9*#hg@-cyb zBANfmZvT_m6LS5(P}BHNcKg4S-69nycK$x(O*8-}na;FEA}^oeGjM_;GK8HoNP2gh z^z>T{TCvGMuIK=zZ?pIQxaGjsW6Z_(I?c6TodU7Wr*+(C>6hwwHKI@EpN-l>$r8EB zDXE17xk?C;6>s8ANBXAe(~L1J!mt6H(rbXvq z)u-r4K8Zp+Agw&JH1bO_+$uv$wjH+}T;4N?FZ%_)Y-%#$77vaJeS-D1TiN9rmT!}k z{UKld*Dtl;_|Z^`O+K`ZpaQ}KKcwzaa5|jU=JKF5o~P>bsb*Iew(lv8gc0aZ@s;-pW_7TBSECtnzah0o7@@d>+t! za=ALuD(KvIhem~ert3Q)ba$ZE3NY6mY zko3&QEXW?B=#AW{hMC^~-c=x-15gqTqaRG5U^@PRH71Mth|F0hMAEA_yodzAj0uDa znI1}yT43oAw6y0M+u~P3I(Cs4X$0{FPh=%?>Y5=64PUNh!XaLAT5+KDjlNTE7>_wH zt;(|*3Z3e;P!Dlnb;3~*Y1@z?^hlHwDSWC93yyRN5t`vQ%ZuqZ$otrB%6rLNrH7m1 z!A)b8f^mGKZOT1j(T(S0mly8}0Dk%y(%ThEyiY+BjPab~Oiep`Of?!5h)OgNRZOhS z@jeDjFh+C!7v`~o`PU1wZSA6(5*-mRax576xhNt*OiUK`{Pxn0Kj_CEW?w;d?o`ZD z?K7y7F>@4x@J83$>cZeLNE0g|O189k75a-fh3{^xtK}bBS&1D19q<%qk*8p6^M5wc z$E-gx(l~_|G*ran2B35gm_gQu`V4jAl#ti`!_Si4j6~O;d53+2_i;oJ0!&1`N)`sx zBmd$DnHoZy+e-tWu3+T2LgP9^3=A6YcQ<2xD*w-^Wr2bP#}8dL?#Q$Ar<^r5FjEbG zTLhoQW5-?V;TyAyRg^XWIDPs6zL{5gpnn?^<3T~(j?=MAUzr{5lb+wpAS|IFXm zST?u&E0lKtD0Cnn+svCKh@DGOb_M2+5)__#yX!2?%~RMCgzQpB9uGfklUyc8)ZoSC zt>B@8DMdi&j+8+FrXrEwLS>@{LHm~nE22-v%S_~oL-?%v@`f^2_pgB5AxLG(lsDR$ z+b2~$G0BQ$iSM<{eaYOo-(MQ_>!qb$@eok5zj&tcCJ#4H3%dc`hl!ZL zyV93Jp@f zOwvL!r|3&5HrY9`>Y5c%mr@>abZFavh+dMG*GQpyW64yMpyHsyH+aLz+ZIZy0o6P1 z79}a^@*ENi-Q3lqE7j%7DprJY@IpX%p;VD}at~L*)>;?Z_X;bS%R}H?97y0sJ=Acc zr9Ms7*ptJw6Q?gW0!ziv?Oa_D@q4;DL&GmxN46Z>0_Yw$Lgg>%dM6AXiH&YJ@@|t+ z?d&X1&f6S-MV3F#t4(bFHF)gsc^O`$5kqsl9wb7%m;o=SdU+L;+wZ0jI}P948GT~x zh&^9a(WOwJ7UuFsfxL7IC&jUyZ39RrWCL`dpz#6oDvFx?)yqj<)XLYPiid^9R|kvU zPjtiV(GZeR80OE0^Sv2!_g zOJWB|&oL~tC%zlQS1H^(m?JY7x#PaV)MdZnD^Wv)OfiXH=EcJPPj3b_wN}?(7YYct z9S(t%cd;-3-KM8kEG&A&482#E<=wDbj>ae{cE)85w6-nm%U7t=w?tL#EbMPH4YHT& z99Z{pTicI}_kI{&NH?j@6L@6s;?qQBS4iA7oV)fmKVwXTo7rTGbS|#!7iW$Ee|jcL z(G=7Z-97Fodw$9q>{T5c&mGn*k^BbgOoP9})vnn+xw-=~X~^4qSS%ce@+T_W;}vwygnXA9wnlV!J7Xk$>M=*VMzCG^vLhr>B{Bk_Ia zuCRHw-2dm(a2(D>8pi-B;mr<(QVJ>#g-DA+SgYbFyjRrNxuV4PjYmuxk2lQYUZ(P* z9#_)$eurnjJ$*qMMpno7@l9)s+vsc;vwOXX{j#O(=Xz3@|0Ft!l#Ndz56fPxxOJr6 zd@R>A@uNSy^YZCuloTmeA4AN(y_gj#OceYr*F5oKAcEtkJUs0K*}L`yq=my5Piz|- z7R?oQLj9W;u5i^woyWavkN*V|U#054b0O}}?@I-bA3qv@K#{WAEAX4+J=_tUB4zQ@ z;x+!S4+k`lLVu1C^P)xz9~S8bf{TLrao8;;+JZQTKw$3W9M2OUwH+G13|E#i_+J zKEO3_Rikq#@7cd6zt{ly?6 z3Wl&Q&}k` zpK7F8^_yod{*sIf#JZhJc=+h>8Q}{wY!*@FtEfN$%NQ%|oXi4;qSj`NVof|R5ijW= zIW#}gRA!j1Bmu=Ln@#n{C*(|beZJ>o|6|B*iv5WZ@FJbIp(<;$&IH~7BW?X7^0>P} zBKLj1`vj$h(|nr*x9OjYi`^2z?3z#hP&Qp72I~p2(uGZ?O4%!HLSVT$=|J1t$MQDeXIn`EOhz3m(JhyH;^}lw*6j| zI)9_@PHttOgaqse^x(*NJmdZdIo9RIgQN@NwXZENq`?-skpr@fA&1R0hc`)L$~*WD z;m1!XMP2OOU-n$WK!>qoGRodzr$`Z%oII&Fs_3yjSjUZtr^C+mtoGhu@uol7;5jLm zo1i)QMbjaEvMF9OPDf0H^9*K}mUly=d18jR{MU|-vSQ(ijiK|N{(bu)iIV>#!Z)_hwnj!c^a%%}TPkvvE9jgE8bS34SDJG0RV9C&+>>c(nQi@&oY*a@OuEHD`?|%o3$m0YFTea+ie$y{zX{73NXTV&6DyZV zDd$puGF4|-qXz|*_hU=4pv5q8Df&N*l$0IpfsMYuZw5F?x^vxWsTG;2>PJ@#Km&;Gob7D{|GW+1egm+?9niQbj` zjMB4}O1Jc}Ek?bo z{xri~;;%6-?kq08rh;dOmXcz=?@(k)Nixd_ynW z26sE_`AquCX*U`2?}LGaOzO$=a6XN_yZVFnXQ7mFWwUixYb3+{d?r&)pNXE-xvz)Nm3qsDiai`;dyIxy#88z`PW;wA-ls30(}9eNTr7RA^2DL z^lTHH{8C(hqxSmb(?~9!2r1hB5BATo%7??y;b-7*HzuU)?9PV zIpzq@^NesOPPANAA)c*pXM1Dn!;v#I{^Y)g&S&`IE>dGchl=)5$n(Cf>d*ocFyV%> ze3wK}XjV(=_=E8v%e4W1v>ctw9pylv-DyQ~l_|Fg&p!>@s#M8slLIrIf2EJw2-C!@ zXSBoaOZ1-P728tJlY6+e4t!3jL)qr={OJp)w?3bV;j`^xK-E)IXvLS!e_uWCqr26? zx|T93etl!8!}L+p*J^F{Rqt5?p{MG^O;p=FN!xR_^o9l6D3$@`yy>u9eCdwQGG+dG=5a%xC30=_ zqE6YAy?vO}I{hH#DJ#FYUB&d{9gK8t(08|?t?ws@3I~jZPh~%?!>iYqt1%g4gk^?J z^(Z8cT0NBP&|;z3ot#f!wF_^JGOumBB`O5A^lA=9U~y|)rrS0lMf|t;C%O|wugC_{ zg@Sjwh)$&c*_S$P>i+$Re~M?d_TxJI&1+AN1T#i#s@39u6*+}cVG~f6poMI0@vS1R zDh{@RNgj6dRN2^qeB&46RfTMkTpH}@%Rl!!Yz3{qpRy>)7<4hkIL`|bcT&+2vl?Sa zGRG2O^Mje3kaC@(rqjYX91M)7UYl+$X?_-R^te{q#pHXV3B~2+KXV&DX;l+!DcPwS z!xi}1;0kOCPY(S#h0s2f2K!oal;LNU@!Ike>P{?l1@x*~`ytM3>6Rm=Ekh)?>Rog! z2v?8<`~oS~wTuAVPfIzX3E9&drdhq-4CrI>`G}k8kK&t6ndQo?#sQ zh%asGkQ%vZv(D@A$2)|>O?^T2l>cZunSY9DFYpQzv%BpQHA?F7>dJ4|e{!RHcvl%h zi8^TGpGYkAG=89n2sUKvycJRZ=FRq#I&i^GmJFf5nGmOtkTP*k4X9%1xWq_BM_>Ip z8F50;V6N)eeII^UxO&P&XJTjp#O zHLCQSikgGZ%)W~`+b^2NozFEW9Z8D_daXZeLlNnvQEWfJSR*Eyvobp}ktoDCHGw5= z%M{Jhx5sq-EPD7p<_X`YEw5#%>@fR-s*CdV-d}d!zLKk$IY=-Y@BI>Tqq%lA$3MK?Tv!&gCjP~^MK<>{EwV3P?v7<|UVn*e#%z}= zwcQH;k-YLRBx=^jP)Dh;(SENbyBqLkB^_jQK39)A70hkBys@Y886Vd&s|{+d_43hJ zp&5+sb8UOIIiR=`ss5x;{gj#*u&JfB6Y+)psn6e7fX!tW zAN`8-8NvA8dhx}Y4D#`z`EEL{(qDuQqb2L46I66V8?BOjsQP;fu;N%ltuqd(ZwaB7 zi7`4s7~=8`N5$3iQMWW0D@e!sIbzGMG8^)ozY-BktmV}Z>nrHGStxf}yQl!n_Ibn9 z7;pXeh{0Kku)AKiGd~-6O+df~GhNbBI9rHf$#yU>n5CgxO-pJk{aB67R45Y?n0k}H zQP)4FC_du--PS=P`QTiYVY;4>23^Xq0TouIQZ1X7(qE0<1+J6 z{Mq=@MM3SFo*6~{qF#LQQ;%l0cKpXg7@0++hV>d4eM5W zE6OH_6{cnMLvZbpqKRflWk`PRf5DB`xo7-A#Ay)}yql5y%Kd2{GA2b&ZRaLD`o^4R zjNbWkqD*Q&5KEI=YIgb8-6CR{CsFwXcQbBG=*=8S&hiOh^*rVVwm)o9r0;FFZD9^B z(|)4vYO6vKFS_l{$BCXeT%(vwL<00!!qC--Xboz3<_vCa&f0rJAFNUi4$C`qDVm8Y zHTch-AtiA4GYxB_fIc&tf|F!(Xqo)mwWQRI6kR@<2%Xy&gcquuD!f^1>HUj<^|eE%!wK@U0p8sOFDw;I8}JOr&FXt0|7W>9Y)%X13 zVu`N$+)mthgq>j-OWxpG^sv~$jLw)BGb_DsX(yUgy*Km2Xp%f?dUYRUcaqfOo$EKM zO0tpk3Kgt^9IX0~W)C3O!!?=Yf|W=Vi^E2hT7kr24z0l#Ky2U>s~D#pP(>UUTLl#p z#k|T7UM0}F@dkJCjCuLw8Hm0Pe$nFNLuH)pkRkEMUA$+4_A0dw@=Vj!=$lrKP0Rj@ zz4P_SC17X($Ah>h&S0ztf1kI6!|Wa$a$%eh&IcQ&by8s!9HPW-ZuQYZ2XWx|r5_B^ zU$*%0_&AbKV|esjQT1cPJ}NpUNun@j6w5J21*QG|YG((NE9&qkm0uTa@eALcDNY=m zA8L-TfOi00dJ9$-p&3KCZ8p%ya#v1jTIQd{c0LtAD+(%wht_+`uZ&FiVmQM<&*Deh zhJ9n5tNHD{bHT>V)+WB@wKz!q4DfNJAdsDhIMTufB04l%b__ zBlzz9TH$Z^J;Lzl{zxf&BW2aat#z_z1@%6^($e0RN9}`?xEKkcLaoOSG;yOd8{LgJ zG=-*9YQ{_t($~dcn<9FSPPPqher=5!%gDD2WkQkE4o-%~P7?T=N~RwT{{WBs`>>8Y ze6bl{$~frS^Jm=hJL>o|aOsQ8!g^1jKH!~$y#|Ans73^rkN1JeuCtRAY{zRd)|Y_Ynim>7Fj-2=R*~mCx2w(v()zyH;F{SFNN%PmO= z@0fr8CH3C^|2XvPejQi*4UIP^FZ@ndytrq2HT*1ip_5iOaDIuw`#OgpSTwzQeealk zDKVLZ%jfoXKKVO`aShxb`Or)gj5A**{@s6m&NKgh&X=%>QybKI(896m7<>kkgmcMm zg7!I4$6rAtAL}t;s~>EEr|JI+pw+?qx?z?D9vn0R{?UE>O!)wWS0opk_9pDqA$q=F zr|Lq2-|uE^eh0*tG+?JPpQ8IUb?DfTElkV9lja0`=OX2@CchH|9l8JSIR@u7_GAnz zN=`2P2;^E0Jf0IEgtZw^_>V&?Mc`KP4F6CM2j!D|`r zuq&TpMrdne>)-RE5E8}>|2xebB@Ia9ZKMsfQli*Ug%2TP$1TW!sjzj_{bKjEeRt{e zNiUb=>$qDXBW>{_X~1VK1R)efKv|oER7e+4FOgo-1;-G2e4fK;kfspdyzT%!(5&d~O$P5@#)zmfy?`;DP)>E%P4yLB3Z(C|i9FW?p8EEet zcwwH;u|Cb0a<7}A+QI@A-pwGV^GFennmhqdv${WaA03yKJ2UhAyn+9T1AYOJH)ciU zQ3n%Ulj7RExzuw@nka+cJ2y5;bKs2tYwnqAknK=eZmEO5u@ z4+ou#CcS+l;b(`#3d;MuT<-9oJr~&epPw8`RB=dV><|G9`-1xYKToN{e89gu+)&#h zHOJd!nw->6bT>bKWbb`)qe)*x*h)6d848j=e)#SYVsR`8_e?$&Ry0Y&Tr7)5PLSn?hlivVy&@V{io)G&$qhaemT|ki2B<*~+n+ ze}=6ijjGSmeid6{CvbwE5LUz?*4NSdiH)8n1qw(R#$$#yPe!Vzbh>AYMBT~csU0%}mY zNQog#^5t^pqNvGBu%eohbZ#WF`=0kBP1RlM zIozp?${0|VC^1a5V2?M--j&1T0(JR6RdOAWcmmd|i_z#7@D!$VR+F_A)Pq1lI z$P=v&@tuL{1RuwqJ!!u0?2mg=JD6H%?C9*2Fgd)tvX1Sotnvo@2MarHq4G5qXEC^u zSc;L(t9>XYnTt=7^2xHtkErB)L&57^lvcw{#R|P6{LFtt;O()co++Ci{0BSapYE#8 zPC&&cX(ijcY@q#hV>=J)wivo0Pv6Oe-Sv84Z@oSwRY@r8d+S~VeFKwS9{?gJarEUIF@N|(WB)1eHwyyLSaBPt6cuZ*QmR0Bu+ zp_j3vPMu;69kO=S?*C(M`BG3Br<{1rn@%E4?-3%n>umpd=yzX+y}QsD5sN)b+6JW8 z@dl<4rG=4lmux+csWhaY7IUxG&ik>+VPa{Yt4JM-d2iuabl}Hg;w&ucV(vi`j7Fp* zB1oT6YS9brY%Y=$0ta5Pr317QVyRvr&9Fd#E3BI1<|_$ktrfqy0}bn~HJ(Giwew!3 zReB?%^&wFly2V#lR$EC_idO6bUoVU~3eUdo9@DB`*SNI({sFOhXR=J=ow;#u6;f5E zakcOwq&u9b$7?&sWAx_{PpxlnC-Yihpf+BCeLF2{eHMG=Drvxm&uT1>sjLZRu-TSa zborxNnC873i{W;>WuJi;Z2&zLvC#~cl7lPZ-@hZ}f!bdC>-0`7Jjw$*GnV3tfnCth zaQr^G%48@K>{wf;F>~5C6NjgGs(xSyf|a&^Z>8~?VRU!|Ga-d%t@9!*HsT{bRaZOD zgx6*IW9q`FLD0I(si++7Ce45Zua!R0HhgMN)a_-KSwY+RmIz+HTSOPO`f7_Sh8{NF zGDmf!A4g22JMNzy8_VeL)O0bUAu}U^6`GgLE=%fW;!~N8ferblYEV<%8q?Ku^%EWx zCn_I>%J2Vvl(%9eL)U;az3SfRc7o_8)^-Pp-pEb~@}k{!)q?Qo{mXd&qfJMBen}0T zdxGw7t*&SAWM@TIkmH{9vuMD-)_G#3`2}NP{wYVhQ796mORLhPivZ-D-hl>{J8rTuf{;QO2Wam8p zXx)l!KICjZjlbHt*02o|0(NT5qY630_hO zJ{p@4YYMmX8&2k^5`WEyCY}xv9@iY~+$7!gFGM`lW7_U%j0pw_thMh{EgfRXMia-j}4O=nNg{ADa@) z>{~kWNZOG8_IJS_HIzp zF_;IZs`yE}J3g14-< z_P+fmQtqpFXdQf`YmXl?K_*}=H)!tDs+_$ZH@aV2&G<60(Suha+$YzkliU_b2g@6A zgOlG}k9Q7jZd=tI^jG`PlKJu|#k&9rH!G^89>4h&+ER^h|FX{3@5#v(TU(uv$x#_E z`_!(8!!nkb!ykhopROStjNQGCb7&{eTk&akV@v?{%K6n=!kd@yWNslNm%_NiRF^-fH|(vZ;qp>LxeZyd^bk9sG#H zx6ceE=c_#aY=?gli%cLx)G7LbjT(m!_~-m_3X@SpuMWH~L@fQnJc3;(; z=5hMb4alt2wy;`}P`tY*f$Aq+pT7U(Co19mr;ED-9>_{Iz3T%ghgf~0z#77v`#$(q zNEpVWd4}J8f1+W#I~rZ{-=m4(RT82gPC8+P{{n-#P)B=*$wVUtd8R5&`rmh2W>*WW zCw%E^c?SH-v$c2j+so$M-n~(eigf+2?RR)*lXUmsM#9O%ZC9yaECD}J!?Xp3N-F*H zf7RQCJ0Ir-O6)$qdAFkYG2)~I;|9^Be3f{3H1`hy0z%Pom%o157Oh)7h+-LBE0wd@ z^SR6=VG>Iub1uL=Z#{4=wKYK=?tOd+SjGO6p-2SF1LMyA@S6FcQ#b1rrhmw}TiFpb zrW%%e4Y{B-XiVySh^}3kOkVjkYuQS_jXAVC`f^TBl9>v7A}O-xJh73sSPQp-ZBTJl1M~Y6AsE$AjcQl^m49&oeoPp3bIuyXcFmx`*i2wV3UReij3~UeAR{>N9)$gfGS7?d|K|Ib;D6%pIKV! z+x`?vtfQPBz_C}~O~zpb zeXs z2od;1j$yT!`#En&St30)S@xS^vc4ELTqqd!J>qAXL=Kx?nh1)}b!!tXt#S5M7gq(dt? zC$(u3=hH$tboa1m|CAyTi*v-Kwc0-}M;wU^G-NF~j_U=KttGWya#nw~lc*cJo&g8T zefFEe-UY4V-=5l4-3K@7us$P6FwX<$sk-8KlUB3Tt@qNHXa+V-t0uoGPC_!c;}qmx z)viX_-6jqUra)y_A%7-O>EykTv(1e*o(hdqzAc!fcSipc#G3aCji!Fp3hYF4m9L%f z;6t%EKY+a0KmR_3O*(jKy&ocvrh93ll>fSS@;y@} zM*Z>v4sKx`bxgoF__hXrQq=$b^ihBENQSb$53c*0h`P*4p=N#I_k-sLtQER^*Mu(D zcNd;CPBnYIpF{e(fwGSaekOhJ^m!C;aWV*E^DIIO(s|dA*>Ya`VXZaNhbxYeI;p2i!xv>8TPQTz3wJ! z+VuQlL>wK7%Fs-<3E_RdFH-Ffh`5~}IIq3P4?exhhSX`Zqq%}ef=6ev&LOZ-lCsT( z=5de=xJuFvi+L>CG*~{1g;wD9)qeJyuaZ950TJNR-CvkYLAKT`&b}jI-|K7B08u%D zpkS$)a#=;8qwSj!q{7jda$Q8r%h4+cTA@EV&2O!qJEC9VdcOCy<9O4U{amaH`pf

o}g3U<(31=9_U-$@X#YejU_qen+$QT~z-u$o`GJFJaPA$?+!@xrM}*h+Cc#7F|&PDP-V;qiy^} z#~l~u3;gJIv5ngyK$FLm(G^-`hK4!{DJ5Jkt9K3Oy>iR0ud1*o3p~zOGCjC8hRqIk zUz}p9!Z9z6U#S5^ic!XvDMM$MpyKb2bdI1&>a_vvNZrY{ti#cT`nhm`? zpxo!$H=F;Is|w9yU|+rE8Z!Hak5Vv0MSRPdM5W}dds8VH#k)%{A9k~>PrrU?g6lH> zyk=E0SytOo39`*GRFN~)!$qg|mz)pNyxSGvulu1;<6fI#s1Hh`B}%g$p9&2^32*F- zg^tcAU>wW!FgT(@XyJ&6P~81OZ1}n6?usVPeW_E9+&^Nv55fzY0@+y_4c}M|S3TW? z(Yh$TuWLYIajj##;7{`cu#Pq++Jqh;Ib=O4i)=4XbT5eJlyXs#2RbVZo%m> zI0w{d9j$$isKdCoL4~XBjY@|JYwS-9;Id0+NV3J-!$tkW`O&v}YGa1h0j&#hN4!&; zkZ5srY&=dr`*L#>m*rE|z!INQ?N|FAW-A|$f$e3o`PbU=C#K zG{0VZw{e3GJ3}4eyur2cG0gMC6hv`Z)KG+b?iS1{vR!E2Y;Dm15#~q7asz03Ug*8G z{()N*WGWlO)u)PY7>M+0mCKB0c`gs=OhsC*Z}_Z5`DBhAcTY&}suX7pu^`Byb5Gk3 zcHHf+G0@TrxIWS<+BxF36Xx@?mNNYQ5Ml2CK@WFc))sp-*DP<*Nk3dcY9x|SBF|}c z?krI@a%t6mr8C+)X}A?cMlHC0nVgKeq%K-Bp2Zh8^%iAo4w(-MPN$$wEf(tE_^EG- zZU}xVor^e$2iLDe={0abmPqa(`+^mTiks>_FzH^}|D5jJB*A1i$H17+B|zoQbRAOv zf8Q9253kB6KYxR4a>o?8o+T9)e{M?j#eY06jLYw1|HcCRb#}aH*m+>C#NdKhXlo;N z%n=!?T?;Mjb?-ZgKRNcCIwny5h86PlgZJ5!;kTZ)38iks`2{|Wh2hUKK$BVOSckwF zpzwg&XaZc*2Skd14_m9h+u0h`k-~$1!3H>(|I72K8t9je2>Ia$9w(EMT1`fN2LwA2 zDnwx~2yeRyHWNJ>FphxZ>+m&40T`Ri=$QBJu_v-IQ)CWUM#KS`+CASz=HIFzxJD8c zOw&@>wg2@bwj+28s(<5C8Hu0#n1s=U_4IC7P`Nt*Pk)JuPBH9ctj%p=r58W$1SkaY z)~yMG1g1OGZ^sin=dLfN_;Vk^dd`(Oc3e5w2zjMo++nG(Plb4g%|DSi@%E?K~-S;A+D=OOsV!F|8z6 z>nx;%|F?3Zg}r&&#Y^V0nd-N#@1hohq6q_c*R?EgNM~G-eRB@vt6u*cY zwFsW^v35NR6^2u=)I!!WMkzgh#}Jc6m%>jAp4r15L7?IC!9$jJCm@yDz;HLD`O;dG zPVE4`&F^Xyseg)pop{m_xP}}RR``L*ffEbo%n3-e>AmbGvrQYe6#lpaEBZyd!uA96 ztBm?t?A$PF^N^qJ{<-hU}=8DaAnxj9=wu# zK+i}a-Io#lxT9jf&aADy+kcdVV^(qzhd&umG}u;35Yb%HT?s`ONSy|sUR15;`Y;K! ztR^r`W0kAJ*=Z#Z*ft>~*q>i(8PoNwRQ|fXV3OmSYq{G}&qZI@)TY~0zaCJ{W}%_E z>vN=!N93^g#w-hnx_)1u4yrIBQF&ZcD6cZ;OY#>!p!q&P=Qg8#guP$LT4tkpH0-(2 zFWRoc`DY#=A4Mcv4_ydH>o>c967viH9VWX#N;>eOno>C!nP4~o#lIy68#Z+21&k(S zIjSnxVpf=Y?r~&2vozPY+q;wLQ-y;ZSlm-{vhFr8xTEZ=H%DBz@ zr3B-=g@aHbnZAzLC--g9)&7w24K7hmai1-rzU6IQ;b+oXDoO2P2OH`)=s6O_X3T^< zI#_H*)o_`5M|KEIs|eQAipU|Kl#5tx2y52<3-ltcdp!# zaQ^L1YNXDd?D1`e9{*Hcyj{;A4)Zm$Sas%U8%2f`70m&KL0x&o!G;i3uB}Y%Heg}2bnDC1R0Qn zt@7N-0n&yr0hzIYD&YX+9-qIB#LnkF+rL5fyyoCt$%Da@_(N|?w^#}nXKlf$c#eZ^ zBdHyFrn*K)9!#tZtoAE{M7X|lN#_#8bh_onv4NLY6tQJf@2Th7#%|yJWzrrMZlW^5%UXw)S)imE#_F~#+=WPQTPIjs{G4}a9>b6|;CCIRf@u>x8SfiFw zC{7C1OzLF!jJKVEB~f@v?d#Vai$+_=Hlm3JEsDD`Dwb}>ZN69bn>7Z|j^U-qRHW^D@pKL!zr1N&0AOF!!ugU$?Fp~zh1I>S>3^Zk zb*Uk`wI)`foYHqu)#N@tV4bG+##jI{!8gI({ zmL&}6&8?(`N$~t4_RszB1y^j}?1|T>@eHTyn#VuXRnJ^=7|@X0e8gmJt5^Mf&M-eRs2$vb`!pMX~ z(+6T-sO-Yb5i-DS zhcY>ms(3I=6fud#se7^8>jTDl)xRkPmWc*gX$?5xD&YCGRA0 zO^jw^@sZ&yyL-d&&gaUmX_ai$#6i_f2|b^bDolCb>_xYs|N8muFoOi9maR+zBN-yh-uvETcsmlVa4+fgd_ z*8Zlqmx(MNPy;m*?Zq}j8vE$8RW-p>3>{?+37$o%3*pI*K8CFI?%r>$w&OwPef?UT zHppmfiJ=jd84pxk-{2S-x#1bmRBLvWIs;X&@sMG?PNzHZiT{6f74fGixeUzr&fL3s zD&H$z($52ZZLm@%qY< z1Q2%Y`~5JFaR0dF>QRQ^44W>z?1p5QYws=(&>=@UgpMA7J&THrr`C{Az3S6 zWRy!n9CBo;E6CQbv-3UvWGk$KN4Sd~s0Tf#LCjdxvFOPx>N#<0GY#ZiuCeZJ=;})( z!Jg|4Ud*jRlvt*%gG*60A;LMcN1GHk8nV`+v{Z7v3M}kdE4b>N4eO?=ni#jz9fop# z={v79LX-C;F4d^q_S?Dq7{jmBT@&9R^0-lz>j6?%n{i6yk8T*op;(w%}8a6xmMjMC#nt) zdf^kBZGL6em?Jjj!Oo(jZOd!@6{(%ByWMp9akB2)-8DNG3}YNMW<7!dkG|Z%67QZV zr08yz&lYDWD!A(B&zZlJ&7wD#M>uYCLVxGK+yRR`=sx=i*F+jDKZE}xlDVJC!^^tD znOEco$^w+E4;1#qtRD$h(ZglvlX6SM^5*tz znvY_Z^pu;bzQE#*#yYb_=h;|&)nc7+Z^8vb{VlD9-rlV@sl7e4C6?a5oG&@hw=d~% z?!wD$s#@v%Qz}lYGth%&b$mz90O%S*)!b~ejKKr<~)H8m@ zjrnTB8<`lx2hV5-R%K%B{M_;{1Kl8AGFEZL=2RgnW1B>!SRZl>`I*`YdHqXoPPv^Q zxoKcO)x2>>u?&5c*Ki!TN*u-UY{1??n^y)(?&Tb=jpN~Ax!868 zhN(!cO5CkaZPX8EMg}ROzV}jNW!=j;QatC&1$!Y=bCKUJv(KrwCvX5504i0Lo9$dx z5)58Ht_zL7RvUZLs@lLJzT9Y5!72Lmo&m%yf{f$SJI|;)U!RuHP?iC=cf; zyBfFKJtzyP*Rrn?6*3*o;%j9^&uuCfx%LHI1)_lK^_0tMqY+xTOmTnUnGcti9qH)R z@)qS$wVUB>7vkknv)@|hpmtwx_;6?K?QS8HiX7gO|4WfeeCyM%VDBSuNrs9}tDw}W zR=;tyGdBU}KwQpCn7{q?O+ST3aaZW-NsW~=bK73)=LSsX#*0G>Phk;|c+`-cwJVAx z&XP@6y$>+i+8=4L?1F;98*2k2o34;L(lu)PfmWMnBU%%i3;r*S;A#KSLzX2D--ggy z-V38X%Ei&!lfP7#(Ej1YHcKZp)}O0cU!Eon-e8ZPVcQUb+*7?M!FX|fx&e>Or=6Ph zu_F7yW>NWZgQ*oQ``IoQTo(r`Wz>*@!lE-Xlc(t1T_yWO|L&KUdIICJJ3fk^|JE;% zeeR8LGY`UiPSppqAn{5o5^AW|{+f#_sAa`WW&!pl>#TkU8tm+m_ZI22OFi-re%lQ= z*cQ((K`v+VNY6MWxLVPdr=2^s9v%CAB!kWV583%o3BYrr?*vb*ixk9W3Jk-xR)r*f zdt!^*x`jVuJk9fwy0u*-yCqk*~GvAxVRU)6(wP$?6=gU^Cq)X9{(OG;^Ufcb=!j|rs6okk6?xT(i< z-u`tS`xjEoxsG_b#KLTDnk4uD1@8aE88^kSM!olW7i}-G{c%PbdcbKr1sFc zG5ID!szTxQ!49qZXB!c}gQnd(sAD7(BQ}YfpGlUhYa7AP-}-%jTp*)yuDW9*;OCYf z6#6tx0120>2oT*-%2851ITFA~{P(y2Jsbb`YvZ=6ztg(l_KOD2DYi3&8Cb^vL}{MD zT-_U3<_px60))gy#uxl&4tcp0{vB%nP00Uqg(EQ1-;ws8G68^yhZW3+L}V@h6T3b@ zDS}8AY777Ur~ij0V)o}o1$B4o2(fsCA;Z?`@q4s(&z-luw%D{97~8k(-M1d6jI~E` z+T^S0NS!$YI8xsa4T?~)40$$N4T&5m@_KF#e=b%QP+ccpYn>Zf7`At9o}Vo$*<9aR zH6IDND=k*oYjA0EW#{6-qjaDDt!+ST#K1V<17Iz01Xr*nZn#an=1)IhHXm{~m0}ZT z@6EI`?Blx`QeBy{MfL>z79hX8?il~DZXMD@2Za3T!WFtDso2tG}LblSKFp~Lh`=??)e~Yv8oR8{`KXN z`BYchB`Ek(^I9k|dUYK>APm6V?ps9tREb2dNN=Lz;Fy7*dv9XPr~y^m62mKpbh3q> zwY6ivUYuj)hS&4%0K#N>b`N2)_=0f5L{x0t$B!R(2E9Y1CC&i+6pMM?(0czLyv0%f z|2@2Y7x*n)eVIIbb@h{6^7#Y8pzF{rv|=05LikzWk{SVEHi-SZX{t3_K`ugvHbV2* z%LIUzdwd&aD%|Ih!h0No)fjH{+GamL$82$XyD!DDm%;D@;ZM_{H}~}%@}C1pz`}2+ zji%lppis<*%3Ut&r^O{pYXNLpjR(_;VfUr+_)-s#&x9b|tG+SM9tXg0oV43RxDte_ zvgQO!?=6_Y{M<0c&@6Vx(kcbp8Jrjrg6C~3u=g~hcvl=6a|CctdVoU*C_DlRE|Yh* z1m{Y)X2?dJLW1kI#XX4cPN6bbs*_tundJnXq^R{CgNMSMh=orLlw8WGWnQ}=Ump46%Yy&U0^Ora|KA3>#~i*1 zgj?8e83$kfB_QVX1!+qQJ?dCWhFs$y4K7~dB|@raAjjaIiUnl|jt2nvelN|00H9A8 z0YlnXqbtvweW{0Mp2EL-;Ol(geb2Oq7QK1;j-dF}{ESh`QCa0Gs$PFTth|vYZBWx~ zv^=RqO!3Yr^}_k%OFhQ3DF5)1$zEDIxfbduMXpM9yUJxvXnXwf_V8P6=pS(%0CB&Y z$b?Nd0f*J>u(BLltR}?<2xak~BWG56hQNWjMcNuJ zZ~q#7a(u0?-CJ`YxgWYWb^~?%GC;z3O9P$f@uIWvI@P-TW5rL>pFSbX>;aD~tt^lS>$~G7 zc42<}P9UwI%BMViHV}quv}qe*>|ldd@DG{)(4Tn7hMtY3b<1>Dy)GmbP7?*FL*@yy z!E8uJ0CBpc*-nsO#DBCUfOZ0a@hau7^_3aTN#kYgICXMx~bm`w% zfL-+#TN=9Fx7){Z+F#sMP8W-yZM~yu$|Iy1LCj)LqJq{LvjFDW(*|dNc{TPi=(5(VM5>1Pbqj7-xHI zs1H5{7@IZOt9`Ly*|TPyCAMZ+zOs*khFBKMM=G?|zqoT%{W6)goTbz>aqJH#ar*t- z5=8YKfkyuj+LVuXO-^Ob2xxdTlx{b(6omjz^K@+Et#Q53PoITUS{Zok>y9~%@>V=< zMD+S%kM8X@YSP24W6y&Mw#kFOSNCRl-)&Lu3;56}4tuigk6)49vT*DQ=%lrO%Lsyz z@?-*unD>VpGfq?-{pOVaI^emcri$>?IY6}PEWGdn6pkv{wTk+FO7@%2?#gL+5uG29 z)4`QNFVL~+?EJ{T=_k>AV!Ako#Cuq8Owz`&D}w3G-CpGmE1@2%^f&FR)+`)f_Io|J z?`h4^npTpJc{fOv@X;>~P!RuS^R?c&$`l?>Lubi%L+Y8=*JkQ4=(Te${e9&ixq+6R zgN&m^!qH z$`TM0qJdhmHUg@Gb%4RU$t$j%8EflqY!|3H`L3%Te}EbIlF!Z%f$+;ks+Xa2)5zD4^GWTuwb*a|f$9$f+(X818C!94b|yW{Lr zp>AuHb#2MMpYdgl->^;h%Xlsslcqg^6A#Eb6@eYCA&WcElHRKboJSo46&2aOhC$LT`M@PG?XtVl0 zo&1)r$n0no1(BfAF|axZE}}I^RB#eOE>W>qAfcWS67O!X`lw|xUE)!w`p~@fzR3RY z-0~$&+)sXVt~wMN3Lcd42wW#kd-^|(kOJ_&ylrTvwP1FT-pQZoqp-9dETeUc{%m{w z%?(^54HmItr_Qdj7J{85e&d09WShwuSL$Z~XxeMWG--R9FFKSDH@8N1DzR`T6`D1M zjs1A#+2cc@x=t;ctBFBQk$$zCbD0?+ZTQrakX4jV4?sYWkgEUDPp6(`yvD4>#mVLRw=r?1j`!fGZUjmc9L=W4rBh{#qs{}o)}D8$Hp2v zZF|GrDmN>Oz$C_xk9?X0I`EfEy;NSU@|yDRhfI!?j|;ONkH2yRxPuoDnDWPi09H+z zT1t|AM#CfVJQpV;(VZWbho}XBW6Q(GwP)U*UigqD|0>o^S}og#>lFBiI(t6iS>gf< zikxxUKIiH6=2|>eSoA->=j%gKIngLKcUkm<USeNa2!uLzohVF`PeY><-VC4VtazP9vudjW7a>HGGk;r`VN>1Ur` zjy`eh>Mo~`Xz!AT5Xz<=P&U&E4$vSJ_*lw4BXb-&(q0Vj%ybB4AasYhbH7ixE<$W1 zVep?Jr7OG}($U9g)?I_WNlCEpDCZA%ZB?k4t%#uQH3!j(`e%Q@{*QMF`0Yyf^{e>qJERWc6l%vO&pw3b zzh_eFm1JMq@2qR#{_Xty{7{|$_bC-54k+J?17sfy`dKieoJND5zk3JK5g~bMiSypd zW0ICh8g4PNQ%4^r`~B>2+W&1mrt;1cW@aKV-hk)imMF>brHHFBR;Ys5Ie$i2IoP_WA z|L_8473>A6M`W|taR}RA&wFjW&~aRWTHtmx((m~edDqh;Dp#$aDISN1khzw#$8(xJ z_KWbL3#uML>mu5_&-;ojSGmzsBSZ5;nvokq74aGpN2WQs(bo5!k5NGy!sy;oB-!33 z^t*3H+5(M7*^yRr8*>$0LjF#lv@Or~#KG~@@Z(DjqC$Z5bVfQnUef?%`kC-2d`G}{ zyhvicMqjWmvb{8%DaoE?>U&)q4Ho(|BJI&bohOS^AX8r~E%gpjGKtbV`1R&Kk$si# z86T0-ToCUsu6%!-I_nVOT+L4q&|RJ?PHYq3+3bHYYN4yXA4PKE>;uVl^!Rf%1mw(? z$|dY4aR{EA@nwez85Ne|3bkz=h2Qlr-Wyj-n}_2I9JoqI#~F^g4cwTkrXZspNK^fG z%nFhNrdAff_C`=XsQUdhjEL5IEF#AnO9QJKQ9r}|^p!mXI_}`PZwUcIJKxw|3oO5# zR~fY2NYVjLaMpM(4FC||Q{Lr9vD|rb6$IG1cNJaO5k;5FH)`>BB$#$PmO~$_33$}1 zhqtf0lswd}v8hDPM5;E&ZqVPyYRR5tR=x)qMj*R_H^mMId zaJa~6Z)ve#t@hT(J$=TQ96O^s3m0Cz;aHJ`Cg&hK4>O*ypNg*LE5H1ZhJ%>!omX!Y zdC(ho$Cwsad*bHE}+!- zM(wO7R@H{9*%qcC%@h1&kqdv5X+ced$}xl@C|w{C%{KsPiX>AuEBGDs8yt5^+`#HN zcgkGySh7k&p5_7~kKp{Fmh@OQE{5+`7$EZH5t$83tiwYRhRdbsmrLr0{j?0+Wj^H_ zazQ8%ew<0R0dTnnjl1mwKOnZ|>IM~QFs~qZujzwM?V=B#pY0j`2gGaa7|jf;BojuL z_LZY}@iR&AKxFw}0AWswbCoXGcMkRREQ*or#uZtk3eWZ(_)9OSfEo+oyomO`p)yi~ zA(?ma8IGtG+L2$fZu(SO&@tx#oOk4bCjqKufk8npSKZ>!^C&_MQhyewS+AKjd=UJP}gY9`u zUk&o^Vg5>e#NGX+x9)hF^-c>#_N;hIN7c^YtWom1y*Qc`=>U}or z9fw?c8+)`2IoP!FluV$%c>ITq{EuU4Yvp$Y?fMO4YrZ@>ouG~p12Okc33^UmY1KR6 z*m{-ytfTcD3(LQ{NTH75TY3zw1QuYuFB~FTawAcxq6z}VIlt4~;P}u)av3H>hkK}n z@n5owvw#*M@*iREWo^RYyCY4Q4p2m35Evh)TjmPfqt+F0o?e)ioG zG~zEge3f=^7Y_f*dfo1>n?6_drej#WnyTn|wRELWew$ApTY7;ll=#|3HtV{b_ULni z6y96VFVxDm-&AAXr8xBp|t<;ep@qA3rD>=0y976Cr>%G;HZ4oR@UKM-s&1Ut>;P2Y zkb+u2vRkdnqeZf3D%YWq7a@w}h0_3=`>I&W~MTzI1?)Yrj z?yqpu&=-ms87@%52eE1 z9m@s5P#Wy|;)On$;h=BD*1_W2zjWS=R&C6M1D}+6;Oerf0zWTW+kZSz4g!^RjH%c! zynkbD+Sba-*bRH1?0FHzmKXsy%x4Wx&Qd%fGdvL1(;{$qqqDMfNrjLH6fP-%&V^b@8%AlDQ8JAt$Bc)SzV z)HRsU3wRCs09wzG>(p zFP_xyg*V(<)#-6d+`?3@+q0BNrCFv^(PcM<3LdzPER2qejVItd%2CQ%PD~hVcw3sA zF_UqswIIxJzVCxZ&d2^EA^LnHRG$5!CLTmUP2@<$d~ zEokOqe>OpO@M1Wp7c{N`m&OS>oRMEcf?Y-$niWZa(0GckmW$PGlx0WK6~LlXAWY$& zm(=-Y2vb;L0rxP!az&?+sZ$hOJ~lWt8OPzwv`q9W4rCD3;Vhp#i|ClL9hiH&r~)UO z+!%5ov$fvZ?O8+1T28z0^+fP-}A z8l1=~)ar`UyzpCYl~_Lc;k%28!Q!-uL?+uKOBZ*XuRg`w<$ek98N@#j$p%bWqWWVH5Ap z-by&%tn-TRLp)fQEFkR3#5u`cuepgOm!oqQJtuOk=o|+~lGC9CGY1_y4@^LVcP^0% z%z;cI8O%^p=6(1PwD-_49=riz9r6*sCV-E)!LWRr1bWOmqq9MQIt%%PM*Uf>r^I;f z;`d(1;-Vj6Kx;=HZN(b26@lQ8B6#l^IpmkVRJ8Cqa0NSUTSu$sYFpPK3myPvB91zk zwk!r6-57frlG>uX9H7LGQ35{*F}*`(<{!hj647-^~oeEibCW;JAvz#J>*XubFEy#jA_vckNQVC5%Ey9yZvOf1^j8?k&?_8lq#|tm zA<3hCk60|y{ThD&X5jN8AsG5+1O*nwwF&(*{&k$kgr-(fZ{&IG_i6Q&$)-rO6{%n= zBD!NbM&Wl?B(Qq%`vfYqAV1IF+>gmVLPJ(0jHK>; zt#?{X)FdWBDrFOJO48W*?Y%GUZ!Txf4gWhTuV6=N?_m&O=lM>onAXY_YV7?Z7Em&T@+=sv&gWv`D%=I zUwHpnjX&E_p3h_j^UA_J{eI|2OKj&|hX;&bT@x9l2C4mY**f(9>O&FS7K$*o)&NhA zh}aGy;i90NTe~3cN;~?ZzV3Q;O-x*~dRd#&Z7U}csayF?bgy%YPLI=pDF#QhHgp?) z^T8B_g_!0xpE8i!N0l$MK6HRQ9*N0@7i>qKV$P5N(Bj zcRz9ONw@j_*x)!UW{mU1Q9{%m3l&`Vsdx}Nkx|YX)!%&s|rDIX&QcO zRKxxNyZ7JY=WNsrtd1OY8X3;7BTHC&av@eEvlCyw(N$kvx#%G2*_E-<6Wzz}<@S}i z;j2J!B;xCLA3th4!n?1EjnECUW~C9DRC^#YZhQH-`1g$WJ({y6RFHSe>peBL2k9Zy z@2oafhemsC7l4R^n(@6CU1e*pK1nWILMjO$(3b$ERGTruB%#9}=a?O7slEND2QU@ z&w(LFn`M9;Ln;<`LNW8M2+iD7?sRxN~sIHZlqNh`O>QtRH9BiTx^Y>vUlz?zR<( zap~(Q7@wTt0EMW8UKh`uH<}$;8fKT5^}4I<9#U*9zLd;6ovS1Xr0cdFxnEdbY*}Vs z3QidXwD4zkT4KsNxULCQOdyCA7{(Cqufx?4n?GP6#AfIdk?XwK`ZGa=;)AlZ2zPgt zO|jxglVUX#P#@Pv+v5)pxg|7plD$sy}RP2UnNLBV`Y}X9sOw0Ey(* z+64^kjz39`5BaoLVGMnKWYJnHeq4Hz`!=;l%)W=yc z&3?Mt(8+j)tu6QEIY1p?zuH9~+eiq`*0VHON{hkQ#|j(ZRS&AZnQCIP*N9kez!GomLKsRkVq_sTWYljbU$)TmVPYFd z@`W}^)^DluSC17-aY+={|(4oao_N6W=&vv=Ok$PwbQOuc64dBPsoZsg^az zm^89!z5!CBr6{ER<7SuN9u`~d@?1NY_}CBA*;BW&t*}EW4%UBS0ScgNA#3rbIx1Km z*4xrI*%D8j{;|m4sRw;bR<5+Qc9nhiYWtk}Ykra6VFP&CzuN}@K#kOBpwBOOOY9XC)3F(TBlw}-}6xAfDd&t z&oJixEJ3@F6FJNOuYyOm4imUAOcc(5V{#Z4n%qtA;Wcd5@n$y*$bLOhjjjTJ87vlL zx1m;?ISL;RvnB7suq1-te(`Pg*~30M!j2z#5xMz=^2PnT2u=jS=TZ@d)IHY`s{P`Q1`PB6#e4S!YAI9(aI@3iWzNvG|vYs@~mXZ|be z`uBAG3CZ$*HVm8=O{2CV`eQO`Y_RbP|I#Jkr^~LV{EwF1;xs6GddqOa$Re-sTZTT} zuW=gle%1ma$#Cedc=(K?8+)rvy*?nx(6@r(U`6l5@zvuP9l7@%kbyc7@b4L;CApkDzI z$?K+-9tUZN|BrSYy>1lF4s;sHCOF=6=_zwBF6A4u*zwkr45DAdAqU zl+_JlZ*d}TTMvWF5B5a@l4I!-&NrQD{%n(XTz+xKWwZg}oJojTGlO4ya8Lv@Tzz>A zq}l%HjXz@LfYbA@frEb@9pf)3>W7LB^FIl{+bz$0LfQS-M`!0&VBcp7G*-+cGK1=5D3&r(c^wmjA1)#aIgWnfMED66 z`iYbFC!y2sUUN)`ObB||=tm7hMxa_5ul-WL-#U9Vt>bp28PRSOgPlUQQYQ5bP`V+R zmT!61)+Lqq$1I{fDZQ01Ub-*S= z_-p_#s|!g+LZUzytGjxZ*5rx!iL8X+`&X_YD@FsBUYFEZ;_x2j^Doy|lhsvQxAZi9 zsn9Ix{t0^k<^|lV0*wYic8eurdb&M?G}A6vUy{&324Wwb!}SXrj>pY`x&e67%eAX+ zCrtxxtcDa#L<6MAPDDE-fzBrR2SXz(y_k@!k0Z${|p(sNH%6kI;`cn?T=Yk;J;r2PF=%J}K(uhid zZLe*+8ZHS`%;Qd8F4sj=A;9bS92ExlP|$_eJ#|Lu!?&Cu{(Zjt#v#x*S1+*96VugD z3S!{=HP#Z%BJjzf2+3B7TJ1B}{)w&3Ye@@32Dh5ePMs77MsGQ?;Nq2R5&TTr6&hu)owoA= z^}s?`A-33FXr(!)+2_%gAbQqE=bmRq_olq;FdI5n2VfsFswov}QN~;PCT~eKMT0H{ zrsTn5qT|wXguaO`b}{9h6O>+kY2y>cI;a`9${N0iR{h+MDC0&R3pIxVxwtOT_^$8z z80DjWLzF?Ma*+#Yu1SQie-4aVRPlA=lOhxwY0nKvYV#@d65h8qe9kTD=iz$h9KJbp z&})8JwWSwbp8Rj71;rQY*o|o!Ik?uA6hpxM^2AWaZ+>*xu(JgOHP;`5cV5HkJy^r}^y&s1X|R3z zYKaVQc@9bKl7L+_M)}u|v-uP|zpjH9`<8AOrdI1+0E?K1l7h4cr9QK^fvvG3b7)t# zfxuk%>5B;r7Zlmb9s~_@)P_F?Q#B1cqWe{_WH@Ry;J6T{wyBoS-7i#8gr$!4%L z@v4fyWCA$EwtXg@JIjwnJ{TOobk|VS%nHvt*ufx>=SPI;W%V8`jR<@Zc32hbT;L(v z0kv9_UzO*Vn6O=kwIA&(Sch(kZ;p>X%b9&IY~O=Fa?fv;rRIU5BRLg$Gz^mRMhp>J z^G$}s>R9KaYAyZacj9m@_Nr5%j-8SIMVR#UrTsxnd+1zVvx#1;Z#@8};{liswc~O% zS1)7bE}U*Z-?nmXat!fdVL+5vGs=j}4T{|C?6d!HVI=?fsui4P*nV!3(JoY$V;$yMH z0RMJR&C>lx4;h_QMl532m$CP9eX1&ZcR1YjPn zH&(7UslOf^H)ID35K6=MC&(4G(a=W7uV5h&JM^$rMIyXv;7#%^Hn9^jxs!s;(f71WY(UM9 zON@u7(5fY`B35oE_aOV1$)M*SE)KQYe0oeTlzKjz-(T*L(1613Btjyc45sVQo>)s) zQjJ*Wosu~*vvqtf7vvle91yS^?yeU}N-}UQuUe;2v94jx=V9>DWs@ZyVMksu$I%$| z<8*{1w=?(+&bMPq6tD&Iri%hQ$t?nJBHyWiONZ`X10fxDehgQSIgK81z}ftp276P$ zpya`Ko3v=LNMX1(%xTp31c)R|8(`SsXz0Vi(ih}pBh`?q=LtA`*n(*-hgb>R{Twi| z6c!YOJAUNtf4$??qx4i?GPqWCTRMYbIExI!9;*1w2n%)EoDXqce*VZ`BS#+}r(zTh zw@_rrshLpH_lMLPHv{@uiHgxRe5CwbDN}+(496jGvNH(&gCe$9Eh_uakd2AGMaT^> zBFO}AgAVT~V3=3$Yx}b_`ZODOUJV4_#2Qok$-In>Ca-45GU^dIJp3qn_(ynnL}ZD{ zuw>Pn7*;`ecn;y=%Gh2FebaF8(d?~!#^K=w=;66UnA$CK3%;X3zJNjHWSO@t=tbJ#Z|k$jh4bQT>>Q#Q!;l;N2+oTCN4{u%QVssE)JM-`r7GA( zUmA4A{L5caXEikZVGaeay!C!TZL_rg;+PX5HV6lkNWsZ~2DK;2FEZ+77mW{jA-o?; z=t&rq;q%O8zroZ1(e~!J`tyYYRtzVRe?fUl1v!LgU|17_rYqU zp)IE-4W!-wc<>jv#^{U~e$N#R-k&Il5MshB6UO{rNk|48@XQR2+WfpXxkhot^&r2& zns;M&uVZT04pXuG%XI&bM?h`!_tZgE_^Y@%Oq{m_OdR3PWDx_t+bWoZiA5@?Xbd7( z;g#|WVP1s^=cP{TbwGQru_)jxHPaL~mS-#oMPWI?VX&n{#IMn@=p;c$lFyeR2c>Fu zF(OY3fhqB)i_W3VZo~TJ3eCew^?ie-gj5Yq=drN&;9>TV*Op0ojFs7HbEqcl_^YXj z;3;b1>w{gU!zkmwl0KV}$rghcDuVNT6n6Pz_em-`*pvRq1Q=V;#(#3yQhV-U@vLHb z*|K|U=#F23QifXM`>MTlRL?>pbVAOa50)7IB}14$xR|(HYU=lE>EjKTnzY^BH;#)h ze>QdcdSAJIdxI&IQP-ov_w5FA6_-QBMnJ{tsFHZO?Lm6Cw$B#`72(7RWLwGvQU)`6 zD=KZ@#NS>N_Y+ji2qHbVwxF4Mt2R&NKqFWil}PZ|dHT&I1mXtAi@!`-8Pr94m_9kF z;?el*ZOijF2F;R=r+W0ttZ+muS|(@%_eQB>_0PRhIqNcgJYm)YmvoZKhK|^{SXw~B z)h+^`e(>Ne@veV(l~2^M_Lqf})|V?ng+$l*%DyOd3W?h$81w&F|DHOheWaw#*A`t?zF;|gl_GZ@kZNp;v*3ndIqP4c za`4~}^t#!^ct>eNf$CDlkDj(UCTH(Hr8wtxg>z71w4XKM?4*vJr@myItLI8^6P>iY zpP8iGfjQ68rr2}mtJarfofhc10*iNM`SuOt&hv-brknC^%nkJ4qf=*7z&53alF7Wa zhWBruus+I&`{7w|7eC>lVo+w$dQyCR(5E8Nm?l0YWXsv2V6M7anYO<`runE-6~=2; zD(E8>n^>oi$|fZ?4!q{up5GK64wfdIq={E7Jkr1=)vbC!a+h$m3$#|#tYWiVjYs0C3_?O56dv*DQ8#iS)5k8(IaK|O;yO|7 zIqDuG;#uCb*3T$j`b$>0B;)Q{>r7UP^eyKRh8fq6t?YB$_?c5HC$>(=VQST0JfbER zA%i2d;D=to412sOo@J^lFFKvc>l<|p^GT!c&+uyt-aGB1H-pSRi7z$jq-qXGse=a_ za?3J7s4^>LB$pR_mZb~6lrJx!C6`1V3<-(V&Vge*g1=VRYbEg){mU#@UptMA^H#in zzy32@;ws5lboFZ54X>@LWtzes9bIg%S)&5!t|_$U^a|KsO?@rwqW7zYx|v_Ip|i@) zM{?UZfCcbPu6>;NK+pPQ@9V<)nG^6$uhI8{i+%cuEc#x(eZgi)t;Q8rd==dhVPaNT zoL)l0xkZP5;1P7ye+B)!9>?WKFQMzIfeEd-4Oy_hiLL7j(=8Y61FW}KNHuQyI>UYjeK)xBn9!A% zb~wvyq;)n|x|I&EY900&T(Cjp%JN~59VC5yVi&q(_`%b;1}@OGw~gf|K%UC+hY&W(6o4NHwu)sHQuQVZ`_C&@I}Gs(2I@vR{{ z`nSy9;vCMlOi6=z6Igh>@4gfA=SJx9WL#nit2Mivx{^8DHUcY0q7(}iED}54FKzA} z?}PJTTDx+tv}i%Aa+)HZqs>Ac<)13>55O$w<^21Z%Fe9MObPqR@H2!Q*Q`-qA2e1+F3SD z?7*e$EN{$@G~}nAVJPV=*2M-k90|AlwLGyVm?r0>746g0lznzoZzbR6my+|nz_R9@ z*$=LFe!a2TQuUgL)-w?7rZtuWk9?bPc5M(vx}O z_nP@=L6p05_MWO`i$MHW%Qy92{+3IZj4uAH9?rH%T7MimP+L@{GZO3`$V(GC>G+;h zBiG&bWMlNnmBck;-Srh4yme6!?c=rdgIjT%%aH>O1N)he^X{z4<`4YvU>w`ZbPzol zOf@Rai{YZ+%!7+78KR8j@W!NLxONjPZq6#}btUz*EH4wj$MzGgeeg4@8`IpbxOvaccI5267JXi3OgfE`3806H&>@Jt z6x_uw_KAe+QvEzH2eo~O=g-f2J!-}rwz56{JYIBoGwPr=yO{WP2${TmA_gsi zDq#uq^%h^gBv+g7RiB@G-TZEKulf7<2d(59kV=!xPG%c)FtkoJOu$=kwt(2*ehSLTfdkgg3bg`Yv5_|r{0w|dXX>S%PU)_n2!@dju zjyj?sROKRn9si95y`-Dy#gsQsHg}id$u(Zu=uE-ma~aK^EW-b1GU0Sc2YMWde4gGK zVxKgT4qwjPza&35c5uhdCGJgOtmNKwBP`DK)e228@OkeJZ!zU8nbB_Hs!Gpt# z(i{}~?*A?RqL2?-_kK?ypCf)47vZ{xj+yua!BPq!_ln*R3=U~r5<~|=FgHS(hh!mc z3)G4OIA{A|sw3baoQB)`^q@sw(M{Z~so2wPC1Vc?cB=N82gUx>K0d$waIXH_SX5)F z=PjMzh4BIu!CF+^#1($`S8U6?F1qI2MNMJhul1htYr&R#cbRP*h15N_r;TNMPH`paD1(tMqHN$1i)HJ}^O%fuS@_ly zXR-2dj=q5*iRb=-4JH<4XDJO0$;p$&X_ruC{5ZVJg;QKYDlsHn^f>#Kw!F&{-EUm; zdt?tmU_rEt9j2JwzwH#&e?qGNM9}~9N6>hBM8}1?d=a6JiA#sx_kGPsdKGleo`Ep< z<&VL~jB`|l2(VImK;1@AjdS?PV#5>1HJBw_XP@w2F0Yf?m}WmFar+7Ur!v<3%mT_o z3$4n`?mM$zG9x5*Q4`uT- zTbiKGUKb2KLDQFNnaJ?|L7%%16a@&~{CWz=9LTI3;y)d_4~df~WTFZPS)ITnsm0Io zNZhso>Q3fwy?5~yk2;|k_wO(9nlh{56H28m4A-N!Wy3Nj&hU0(X?~QO`r9ke2I z-_6Y2cCE9AwoGK*ve0)$VUR6nmCFUwqe1Fs@<+=8xQ+yKo~@ekiQ`50T%bIT0OwYD z2)^inE?o~rtTsN@J^ktk=d??VruQ!N@^r}8RS9QiLyvTkv(qy&s_d6ywS*tZu+T$t zSddX@f&^cWxn<*%kwd{Krlp^2)X{cX`(jU;2o(wvS+01)q_e1kHZf_&ORI{3zjUBjtI^D5uA(lsAZfzc&R zJrDWyXouuVb}|3&7jg@8hS{?nwRbDlqWRNCo;IoIL>^Uqs{io;v(C1#CAWI&6lJtV z6X5l>4aKVElWOo>qMkY<&|PQSTl2P+3gul7!_1$MQO`b);o>X!x$((ZaDho$O4b7& z`Y%aNr?I@c2fU67dsOAoQ_0|hJmed5+kjN#o3HWQfN&<3?|G+x8>FsLwvsa5T+Ff! zD#c`@pM6SssPjJ3Fq}Msk{>GQEs1J!%4M(xY<+hbyExx1t;SN1lB1{ogyH;LwfM$> zuRrYChtH|=i4^Or90eZ@4o9Dy3cn(`y(!pI2e+Xf3RIg|#nw2oxt+A0xDOYS)6o!9z9dxk zPybH*lmENKe{nre7R6x~)9$ky9sQK z(%2XVM^>?Jj_i|W+ZHiaBH4ZyVGXV z^>svfTe&ksja!8y6rweNo>d07eZ2TH@N-?x#H=m+a1c5X z5pC+B>UWTNRy9QJk-fCFnQ@7IZc%=J@>!s6n=;)2N+yrwA}B_R12Mz5nzkhQhYjV6 zw?5x&ncK+UCL4j_4~(wR2t7rXy+(KIRjx?F6$uy;}BQ zsD{vdQ@{pBPx0)1M_uem&*rL)hfeSJi`H30Up@|{hDhM7&@EOgG8%FiS$*gRvDR5L zNs5h!bG;0ACfm){a_?sDcn944GIi<#par}E?NQnmWUsh}`(dDj!xaK>B1EsS$Z_ea ztpv1Aj@bj3mXjQ zBzOH%?%=A~cOczdQh{cmuATrgeJ31SqFGzHOA1Yb5zV6vvG@9HlXgkgkE`MlzQ9f) zxg4i+9(!iigN8Bk>6OS23D*s?z+UY|#-P910*q`>M|fF*Jd3pr)qib*#exe5oF>DZ1t z-|J!*wn5u=UxB%gm?3J{2d&U+R|jcC2)K;ss&C*@bn;#5O4o@T+In=QoT_SU1*A%g z=9xJO@Bz3F;?+OZ?k?mP<4+!KtgzD`9Qw|~dHf$?SUuc$cFx&=x)MygJ5(bVnq~I= zU>D)Ql&P%{_M79wA!dw+bZieiG9 z5*Sr{XC# zu(beCxX!7=h8rA?$Vpa_y*L`y!gECz>^h-{`w^fn;TD$<+8Of^PI~vCsoNrt zpf<%V0T2I7E`ySzodw`}%vyPqBHO=-$`Lm>S;R!bBO{&7g@gA`Dv*H-mdJR52n`tOcA4kwl+9pe45^S&<`n49M8EQ`NvsWKN?hfmv7fo5g15r zfRA#c*U9?9;4n_|m28Td+Lzn@BpS;9@>ge*ig|c*O&t;_k>ke_N&$ABJ~(C(H)xI% zUy^;NcK+*>_Q9vS(6OZhH;hh=0r{Nja(2fBK6#ok9%>>4iD%*4oJ(J{@!}%LJA2RO za-FVIw?AMj}(NOQjltR+?;@|%gv1TQS<*1 zvA?et+QTw$0fZV{n7QT#0+}eQMEH=!04!JDs_{`qK;%Sc8)!oJsL0K)EXXH@gB&Av)~1kLlG_6$}@HUpBiP~->c$aJd8uvrEnTveYdW8!ZO~UhaEPb<5YbJUoT1G zk4eO(Bp@+#1j7U%qaCJpr*hk*q+oFXKa-2@;V*OjqD#vFpWOOHD9@2hhXL5+r_BbBa{s(BWTm z?A&5;B6i_G=hMDVtt18P-Y*D>y=74L&2Qlme3yP5d9dk=9?c_WcO6GQpElP0P$z^C z6${`t4>wk)wNk}LVa4w_YF#;_(&yLK^WMc+ZD%<2RbeLkDOd_hwEGH>6<`DNiee^I zQsmw4+@p*&`thLy?RFL|Q)ESY*&$q3%piOc$_uB~U^91r@Lb*uE9~}W} z4`8$(PPenJ$)n>ZmqDt5xj{GCGcN5LEJB33jEb5`^Swl5$yTnCVi5s*8M%FZiS zyNfTIDef6ApUR5>hr1EjwdEIUIDd~H)hCONqqiidngo)vH1NL*K#W-h2*E137+hz2 zyYGbmRA#<6y!A#WU4zx*_nAfJ0*wy4FzGAx_ewVJGBgr^oGDQoD}~i%ka0N(rZeamxy(p z1ZzT$5GVK(AED+G5LRnc_?aiTUoXv79hweG-7Vpsmbs0vB(-OkRZw-R`F5gSJTUvz zhjX46yYu5_6e*+yUJ?rPxq|ze-yf7d2~vI0NZFu&mx)v{>A379)b@=Ln-QphSLY7; zLl@;K@PAJ~DJ~#yrZF&Ko$AV8v419oB;n`Z9~6BeET>1DU%g$PV_Ny`4QG{Rf|L_T zy%G_!w^?v>bblW2ai=Fy9vSTe8ZKxk7d3pk7q>0Cn#rarQLci6n>HQAtM`b$qhHD|4O?$OD-AF4yaLg zh=`g#XuO5r-4A;z=$!jSsEcm`HIy1vQn8HpW-(FVdB7G&LD0*`-k84&7r}f-N#i*j zjdMC4kayUQM!Q)U?PkRcb@(lHDn~##QThpQecG1Cb*?xZoYU!pS(O0 zx2J(T+^-Jg>r)}Z>|X+X@Myfx-aB(Y7Q99cZo_qnj^v053(#UEAQb$a z0YqCYjr4?P^=_Bno|)8hL88Iv0IzI-$yZ@IqGAzBs(2?l3){tsJ;-{P`?Y0h{p_ISt?X7JUxZqxP#^8xrA@E)pgTVTht7)o$Aar zmCgs5cuqeZ4e<{VoVllhj*8|@&_*)vtc@ki>80YncR!+_OMV9<1+x z8*{|5rB(l`)jH97T6h*+78`}F^o%s|S2m5r7g{FGFMp85wwbj&Cb}<(kcSq`cvWe` z*O=M?skVTJ)gP$Ok(%5))jc5CrWUAH`zL0-(k=-h){iGe#td?Cib2pwTFuvN~|?U!mfZE zxBi3}Vxv0fwdxap`?5yza5&*G9y$De;#Dna6Oq>deW?_V&P=mBzefP7hw3^oGxztEP1y$<_O>b zA+hbDA3N*$J6Y~WI)L_Tyw5`Ko~!=(m)A@$kZ>KBiG>(S7aLHphcZ6dT(H``=3b{p zco@5wYFnxRxTCRvGy9DbJgF?Nh-Fl#xC+The^`h^%CV*o367xn9e6^4Rr4cCZfdj* zijhCa_T>c_kQa|iQ7!_^r2j5~sTZUgoi+3V>TtYc3DgM45k-IT{~yTUci~S4z=7Y1 zA;R1PW@=AGP8^$B5h69YFL-F*QM+70^Bl^7F~luS7);DCN708zw|q~ zI~aly=oeJ?=jpRlA50G94~GM#g&5y+9$KD*CHh^1=T8}24KMWE@<4_GsgMJ=P?6=9 z)>6|aND5d0xg2V*8UA?X02w`TC-T4q_4VA&+--Gd zEc0vBHFX%gA@~vniSeK507>RcdA4tViMqryCLDx-e{%)?10yB<-x)?aZNvNQPb|QH zAf^9-l>P@&`X5N?e;}p*ft3DF1t|?zkLtI%_tW5EKvl2PVomG9V1O6Ry$`sZJ@b|+ zdIPh^Dz*V>dSi_eJ5T#-pmHmCrA;GTE@jVoQ%O7-uL+OX`pX1=Z@w! zotUwuf#qDbj z2-KZ#Be-mQ-J%@;*3#J(9#>~)3hwnBm~gSlSBrcRHMmN{c1#q3OcVbH$W({(c^Ck# z(*}$u^=_GNe`@UCy)E_AfA?^n;`whi`hNjUpRQPUHOHkdr|X^Exz*xx-nQyhua|X( zsi^J3$+@Hl+wyx;EFP5jD~~8aiR*8@Rz{jWJN(>Rf(Ei=YTf}Y4p71~_(`g->HK7H z-|4AJBi7XbUmJX@S2l}!toW-1j%(H7+WFGQ{z8}z+A?ousq^7~TBto3PUPQfa7|l0 zGuY4_GvJx$aI$M^*7R

x|wHWp}dAD_154-s?wAS_F}6OijhmLPEd|yka-~GBf|d z8ckU(n@O@@HQy?h_UPoqP2HX5kPIW*EVH!1z|OxArIcnei;D4*)!1v?_{<|c3!IIW z*iAm3E$Dha^G#{r$IbSK+n*w;tB*=u(BJ;$V_IFiB-Xs4Ghoid$Zn%g8J{tX`apdl z9`sEbt`jEJnDWnXq5LZC)}w;O^@yC!s(!uH96Zo*cdu@WP2KiJNxtr*&6#vwWwVRj z-+!9Dq0|QmY9e`q0le~nPudS_D05P-bwp44)Nkv5n=&?w-W$~?u)FyvOZC_JeQTTb z3DLRvcDWof1DP}{KG0aKatAznDu|6fuS2Y%sgLbZRAj$NlHMP9a;kDzFrQolyDu+l zP&WZj2Kdh9%UFB0^}T^nbyk|IIny2v(FT`|e&vVM-SKkMgk}KGVV^H}3O2Fad;%x* z5X3!0h9jPwxONY69PZclY+rwOtd53sch5DlJA0J#b%uT(9O(>C$Y~iIzj{TInfjb- zJ0XPq0M%KqhX?wHu5PW)m9`a%PBC8=FbFPdlTc25mx2@e9vhZiK=;=hK&zB2B!k*L z*tYl>b`E6j+nKv!SaQ2^g>yDR=wkQJ{C29Wx#WeC^hGVlujIkY)Jyz4mBwn)Jl9dr z_T)p?tV*cLbR}85}KmC=vkWEINmufE* zP}d=XvBTK^ndxeWXfN0HqsqYZBMqnzM%d=#`4~bU%%2S6HdAP@>d#{$1KM3>;zXAhyGnKIa=b$nVoQ%)ojxJqUUFNaT;RjJF}+Z zD>ZnhUe*N7G_SJ=Jq7tPqumzNjOw4VtfCrv-V`@lD<@p%*75!J2uPH66wbO%^X%4K zABesyhX7SFZ4ij3`oH*UMo&^39Uood5PtpO4CljRZilU$v`wyCyX0Eg_q(moxc~eV z-6x&-P8-4pl&X)o)2*j#ZM+TtG2Dn=jOPy_E>12Nz^xqxPV*A(fmWmQ5ywfT6?G zZbQ;|dhBH@1!erTv1r7_)D1A+2)?;XDXe0z=EVn~$yG`b1BCZhf))}VI?FZ}oP|6AI~Eyz-SZDEB9 zMKfz51irmMMqB&LEr|%@hdpKujX43-;>NyV$uWqh>3&23^J->u0kU00odNd zY(W>2Nx`JDnTLtPXL;~rlX{Hf6DY9gtaB0p{~U`fJPvnif}Ge99_KjT3iT*&8Dn@H z?|&ZmzscO?Qa;@&@fjYkzQJXj`t0t;eJ>g_Y}K9quHkmJg$3pv?iA08f=K={wDeGN z1Hj7F6EZAZ#18iTCpAqa^tVf0^QYGmq}9^5mLsL_&L>T;M0>G%wdOsG7qJay^yqaI zSF8n0CK2W)Y~7n%>RPgf#u4Hxcp4!yViU4TbuZ9K&5$<9i@J^fal=Hr&&d4xq6 zh8BQ-rFNbs4G*3LAj5L@e@nv;rmx; zYP0*NzwxCQ=v1l(2yDT&9s%^q6QQ}LZ>%unZLfuz*9Ld=;-&Q*EF0k&ok^r*h+4y2 z5;EJB@lZb`Th(I(K>4Y%3uI7-2MAQezT0~qz@|6)VCXqA;xv@}!D-woqyHr!&i-W2 z0VkJ3W-#d?Q#dqDHzHvckepIUR4#|NX3?^TLsa&wW%?LPqLa{#&n#s_en-s#y@rsh z9JTi=D2d^G10LB+SYEO}K>C#=J?@)Dn&C z?^38}s2;(z1E~8DR2(@1BAQt!gW<22ic?~@qrlwzNx zZrmZZ(CC}P!uE1s#|Z^-9+(T=mu=SFq{Dpl?jdHycZHyi`t}|y{f0Q3TrF8C+YulW zaVsYUr2}qo0n<7BEn_DrvFbb~fn3KX7ZCs;Q5-%OXV3GNQ76u8@XdC7^%xD%97@6U z;Ud>*{Jf_Q4SC#sU`ToaAX3;Ua3^lskT&TN>kk9UEpIfY6n?!22H3O4zW$i(5~5tQ zjMwl3UyK|M*9ojsj8OrG0Q!#j#DplJEC3?@gzra_=%HN%(6@?e3V_@Z6@o@)d&}^9 zO6~wgAaA+q^pOB)rDTMwgMpHpz_)hN6wSvHSnr(ukk;2CaIIYe%s3GS2V>~mjj^F5 zW#5J1El|U4{1|k!XYmvgX9FFoc9Zu_EfZvvjIdwsL;DnC6e+Yc_--v2;QxRxn|Umb zUk$$g)jc+jZWme*N-E4l3!?i(_w}n5kCFxNNX(QY!VbhpKlI>8D!>yWTakzr)Uu=Y z9~G$sA?1;Xgw52Z=aR-ik~XI24Z_kxdJkvI#+VSus7oV%X`>YBG4)rtBYd!kbl37( zQ{Z}w9W9Pr6PbCu4^6%pfGQlh>3zcm?(0`i#{r7LjL)R>bHvk0TRj=j1so%509^8n zY9M(F@Sw3FWja(;O}zoEmHh)H(3p}*cMOy?`dy%c9u3OXjdfw{BOi}CEb^#&;6hBYXPIdB z;Oe#S4m6pi7oMLhdxwu^%^l3hSnW{{!i;?n6tI8aIuP788SFJEUh2|8zL>#iMDJsZ zY^FH@U|W>(;|3?|CCSgHfGB0g&I>`%lS;%HpP9D5{C+pHgiWj?KATtUD#=({w5g59 z!zlZU56bdrAneoN zOGa(}@iBdWv<24qLv@@L0Dw#_tUkpGGfD2)vz+ISSUu#Rh~3Qk`u#&-8pvA-S~MIs zth!sq#p&UyM~82{iKq^1LVL2?29%h+p7LPE~ z-vIQ}_2w7!u3pUiIroK7G&g3!=h8~9+6=vqb}c=LKf%bA2Q3c0U}8#RqD_+9Y=S&D z)93Y>13Ct*X~v4$HL@9Ryawv!^KV|Kk>q!}ISLbkFAT&@!%V76-Eo6`=U(G}m7F(n ze`)eO0zkbC_evFiDDi>^Wk$T8WGv8ZGkJ5Pdgo3Rm7vEY1_hEq7pGpndcL2G$*5y8 zSjtyJ8b4Mv?tZ9C8fh&J+nQ~}u2j%TfdA#VE|k^*jWDh@w;qc zQxl+m`-8ZKCHygI>2lh!QH`QO-lOj-6bfk@JW8H+y`N=Be;l>xONQbN5z%g zo$^^<{E;BBz{`t7?Etay@y?@!Dp`{j{s|w-bd6_5WiwKjWXYC?46yd)6UWQ8*QY8) zeK+QE7JBvqWd4fGJ()z$MQllMrejtqhWTB_!Oc5RPp*{jSU+rjuQ_ao)Z1o=j9AHD z+tA(_th6~;(t0|v_hpKSozZ0iVmu6ZD`M;6bqAVo=+SV~PGY`SKLYpkOrPG1Yqxf` zRt!8v|G>kzKHFKDBoEjrP&dOa8tu>=z&mb6yJiid29hARwO4x*EK(nSv}$>NIV^!? z&BNHVF35N);s%(=aX7={(>Dw$i91@{Gd;UA%xEr_wQ`-?sAh)dk`1b)odB0g7Q}MU2+G< zx!j5s)0A5J#;;z31F3_uc?i}=9_G1OC}I@$vm_&#JlHv+Iu`)nP6V z%j74NLdP~Qu(Ke5B>L(BYxeyZQ>W%qdz{N1p4BY!%IwTm+78s~q8ilyAk9@$Jx1`u zo84+X6G=m<7_QQ1BCfM0YaawWhsd6qxswAmM_$$+IC!^$!lb4DtG(}zr@DXt=XB&y z*&`Ci-pMG(43Ry`451Qr%a*;4M6${VC1kIpBoZA;S=~rR_Bt}MSIGEXZ+G|oyMLeW zpTEcV``6c>$2qU}Yh17EeXZy7(u873B^) z2I6+a{7|#8v|>kf^JG*tGx#e~xf!P2YS94=b_S{h%_xA~ruGq0O55(s_pdkKZ9}9$ zKn#9V{l@+~Ck2BVoR%z9m!29#kpf%80x{_rOXkWyR9O z1@E(`HNJ9TK|Y4^G&ZJ#XmhL$!k*TzBDBw#qjVPW+0ZCax>BwqCSx~g&m)w*6u7kL3|x|6(9+0R#tF)*XC0dv|z83RNpvO)oQ}=)s;y1&xMFVG4PvQhO@J zMU-9Gher=4=nWGbn@C`}rc=vU;KCadwIsR!ivK+mI_!OfJS`A~nchdeWy050T{|wO zP!N&gc#H3rl3xF^n$DtMK8!AIkW8Rdfta2a_@siHD4VS&u+wB;vhw?=AWa;VuwZ2A zZAGy>4Mp!$r-@x|PL=>8<|KSvN7w8zz@!g7E3+&^rU1Yd=Yd-x#x z7xyj1WI<2>f`8bhBuS#<;^MNmTn`?`!}4h~zy*lsvaAXV*2f}jY5IJKRgeJWvxcvu zB!>qus)-5tb8e3X4(z|b0jf8yM2C4QA8m$X`nwhYZDfKpu!N3^2~dSD^~AfVM|$r5 zzIl-l3IoNdO6q!HLJ_*OHv;2 z;(h6E57gUhQzO&gx6Isl3`8Xxbz_=ruESXvz~-vt#5bAojA;K!Y>K}Il#WlSu@>@wnz>^}byc;~8Xx2fGz5+siWi(41k;v1CM557b zp!0EY7-T$3sCyDrWld3~MHELPmpgoB3IDE)qZkuVfNQX-O+o_0fk~N)zTClx9)noI zSbNq!2i|KK&g6e$IEdTAse?Q~)Pm{oM%?=>b zL#bjw13UdCOZ_or>+j-Cga;j|v??}x@&0WX_5Q3vp(H)j{$nDIMkw&41#Yd+34?W# zs2R^!PRq9UbIX0Oxg&_YqKu9rL=Ra7Ln?^eB3e@6Ck9PshZw(vprAJk?|xNF;t&#J z)0*FaMGK@k6t{Xz!ZGLS2SPD^1w4R%`A11#p~FzNLN8e&6uqzV751NpqI~z(V%U{g zkcM7K`}#O~3}sAa`&?e6*t<%%sbtZ@I5C=B2qNhI6%Do=3 zKEQc%6&J2I(gGP3{Mwogx;6o}R}i0L@tb($Xb*A;@`0Q8@-3xWT6pttM_>=bwV^?- zP4)v#2E@$_6_Fr^HU9-R#m02dCQI7K=%nJ#Bkf<2hFkT_sr^oGbxYpP%cdv>R7D+^ zd+lMFd=e239(bUpK{ho;6iceDhCpj4BgQ) zfz_X%$eAKNG_@H1MXZ)`)%GwfQK=Rpa}A!mcZYDK&&I%1)?J_NHB8a`hg2;uF57!xG>}sBFtYtn9t&)X1lu$j>H!712xsKXbv2t4neyM)6Pxi5lUnov3Qh!X zD-Tcer%X|z#aw5!|5kb#di~KsEQ9muXSfZGKvf;@M~T56#{Vaa+T}+s(Pz=Jvwp#B zUp8?vYx!lw%Cm|K2DYJqR%ZY#f??-prt4NkX%~gWoQHWD*!#4p8A%?2*+K;nucOXfoz1WrB~Q{wo0^otCw*(CyklWKX>Bs(Ep`So6uH}3{$d$ z!~bj`X;6gz7l)ckk?xxz*MD=UdC6aR4_CSvpi;$lC1}^-D!ZuFIUi1YC(2|8h4`}d zHxm*i!vm<+7(sBdPax6HMwECb&q>Fw3Af$ptPDc~)Xy{G)_g}SE!%s=MM1AS!;wIe zZMzC)a7B#jH-+SHEa6d(I>Bj3RcJl(&OL&Uf@QPd?UK6zadhKJN)8hyCg&!tFnSg) z&Fn<66fHOIqu!|y!`W>}M-U;E*Ccl!s*TB56F^Ib9rcoq7+Y{^n=n!zUg<#w@5g76 zawQj$YmsK0HnE_h#O!k-jsjGpkoK>1(%)0_f1R&Y1tqX?d}%k%V!2_y=Q3DwZ=s%< zxXdT}h0E{Miy^#F#Eje2%Ln~8KZ?G*zOIsT(p_c3zMPA~>L;*O6};*toFz{=X0wd8sL7oLfA+{^hQmf6w`?=jt{rWi1LUSe?@FS<7UllEq3mOXXKN{x)$ z>Wg%zg6F=>gq62m#7Cn&&52ph@5i^{WF9CM$teS?ffjU7foKsHCqiaVp-Rh^7=H1P zbBV@ThPtH*jk+o39Y@K@7D%C=V#q#8GaM8YD^h(84{SmH`l?1oinluRxF}*`m=m4> zxlNw$RI2(Q5I@`p{472d#+Ts_9{oXomkYPBGpf+Ly3NOOX53ew ztB_26PvLiALiSH)Kff;ao$KXSK4cxMPLHnk4HelLy1?Qyr;*~iqdU}AuHv?3oqi(y z%x3+)`}sywc~z+K7X0h4u_l4LP8+3Kyc$8C6W@d<)@3UE2tV)4A~b83+g(qG+FrfS zdO5ZexGd7UIlpjijiAT{{98us)_avdS29LIQ}XUTj#>KfHgKvuXrrO1#%D8;gYhK6 zJZIb)h?sIh3?m;856`(fC(ZSHYCJdeE9WsYa@ly!0p`wczOooK?7fleYN}@l0TUHz zBxu4$z=O@19&(=xnT!e2!`>~wE(8Yr_>t&XFv67hIz>D%>@dMMw7P8EYk4Hr#H60v zEP9E5M*Dq%ecD*`)A6=cmw0|l;NBXb#~in=2nb5_g>lv=y^Lo)y6hhO1Lqer{2eY*5%61r1Diz)(}Vw z=N%Kl=ZAdFb53t&URJ(DRU&x8JOHD0M`f{XrjtJPwj761Z%Ky(yO}2;s?yH(gDB^- z?;9bV8c>X${Hh~UVvV|I@3#MB?!sL$9aeilGY6h3ykMN-r9L5Y!C)CF6mjz#@scfR z&al1={OHW5b}9lx99h?Tny;w1m_Pkk4%SH#+**?e*8n>-xFRNc{>n%Fo5M<96SqNd8Klb{w9{>n0r?F^RVtcRp~6KGi|pvM21BR?FXo8O9udI;YgT z^-&|pN+IxMm<^*=+ssCY`)KK*exnQI1bt3OR!G)z>H33m_5*vRE;JfzqXU3$-hFLeO31jr z;U#J8e13ECD&L=}Q;q?fZl*tKUDp=gn*jLz&CG$%(VzZ!y-$k2p#TUNfO*k}vpX8{ z(x|&go!pBg{NTLQ&&C(ydr+OMfjJrY{hs?|yf$|+!p@t&s+Y^6TR$9QE!eT5yvvkG zxMg&yZi&8q>Tt}i9+?`okprW!fbhGKsm(MSj=D10E_)YbUqfIm|GBSYlraZcwIY`mwz#VDHYhDhxQf~F8&&DW9e~rsIR3M34ZGnG(gJ4I3KYgh0$Zz_!t2G4K38{skk&G=xN)GMsy6;}9i zBz&26Urw zVPQeCw_oQ=7f9VyC&!7MS*=$rnw?l9*igB!RD=~ojj#PTMEF5o;{alp+CrH`)8SJG zlrzLZLop)6JpY?N{om{^-0c6)%(%=y9tdzO3+^pa?_vKd&GUa|MUT*b16Z`jbcY&1 zRyd~HpWd$CS?}+7<8F_@qy2#y#1Kk_OxG+%G#w`ZQlafqQ<{RG&`$Y3d|b5ekxn=Xh@Id4 zS<=}av+r-DY92y@E1y6;exlddSpUllnVpPhflr;lTpnmVa6Tb5*u-_UM5xB$UYRtn z^vJb`dYJm#D%UP&I3rYxs#CW~Br8CoX2WYED16GFKAE^{h@ajGxB6pDb9pxdc+ z3;3S`gq=C(323$w=QZS`?m5@TySH*?k2`2HDM%2ZDZ5Q2t3f40q}lAuQ{-)6_bWyk zhsRsh_%==FrKg>Lbr?Y&{o`_7Mj_2@7pII?Zir>3YYscXYq^`z*YNUOp%J&JkIAmRfjpmw*A9K|PKrz`?~L3dVDU5#%sc5fqgX!8+tq92rNbePK`&v;(Fto6lR7C9hiQU5Wdps*dX z%X!yqr38-Q0iE{AFYV7uUW2@OPdp#>P9u#?+@^Dqe7!CXy0wVfO)8HdTmBvd`Mtr| zqYk=ui+4Z}aA~3U^b^@z5^c)qSy|+n)PRv*=yuyrjsG2eG`)!m`c)Am3>$m#py78eJzn1*- zS(SI>MWjlQ*f0d7aOqsA&mqBz^$VSb`icB$-tSkRjhw$YElSKw53G`3>ok-_ zdR0N!ciwJud7>mV!Gew1%KNDod$^bB#6uKP4L}E#jy&i%r<-)`6(J65=g1n~zs>2$ zEnX-Areh&0XHKA>*ntSp4X~R#psRE%ef#7fa-sAHjPee5x0see2}Dhf+a5_<0{Kz} z362=cmefYG`%ZDPKx{^S<+J3&_pLnL@p`hFh%Sb*j7D4egGli9z7zy$Z)C38ht)C@ zHq;hgUk{L`Pk)VG9klT6-_D9vq}+!{^1+~dU(dC>QcU&NmHV#1otAJiz2g`J=vzNy zwt!!_{U${S5V2e0Ty+FZdzp0A&hnqmfszk)?|p0fN!Sbc;wW#`c(Hy~f`6aq*>Iap z@`DhHu=%Gm@i`z`uR%Dd^oB|X1O%7U_cqg)Q`-Cwnjpfd1G}!16KNBV&1myR0F+1? zT+_pJO7UDQyC^xkH@5AgpvS`$HuOCxKM=IDN-;iw;!kx6`I);Y*(Oh~r;CvX6nUmI zThQ+2V=TM7W;md<<-f+?)V1bMHOT9iflKa>x&awYB?`s9{ zV>lA2_p&O?ke+47vd)H6y`Y^C#Z~EcL017JwRg4c4!G!GfbFNNrN(i}BZ#V;V)nd1 zU0TG8Ge6$pu83sK5z3LSOejof~*ayCU?i2IdT_ z>IMlWSi4N41m%tlu9K`9crDHzfn#Pin%55$DPL^Ym>wS-u9)yx+Pb9wYiQ-?e3P!6 z{aj7jt*oS)p1zhXFK;^=8>Pa+!h~;vf`aE|q9 zE>b!yzLGYhHsY8$tLHJ&SM0SfXoT{0j{KmCVdC=f@fn}vILYC8qxdX`+GYNNoSbXh z0-A?XmzS5%c;4V5(<@%r*~G}@XNP=KaX3Uphb5(3M3GXmiK#|7NU4l0j(&)H_>ixw ztLxnC^dN)(4A0dk9PVo~#=ID;OEK3cSy$rl$Ew@(MG9B-?rG@iMjxi8ZUK%EokuyM z$XIueky55sKFzsYL965!29%R2d)qY zICRCAUl8h}qC)H0GIk-2PNBl#4^sgXzg+*&CuwQyg2KXv>1;eoD4r2A7|QA{UC;GU zrE}-PWF@rp^`) zFS{Z;;Sxqd79%+zQ*;0gv3)*5(4MD_U677u;O<@S8Z178CZm=@D|Dy`9cN#Eh z8klr=t$SZR{YJl)QRUOh%uE$5?xD!V%qrh;GmP9>AgZ8QO%F-N=hravhL4@Zf>EwCwBsg z?w$o@%!!xW{A1xH1>wZ?9!yqK@Gn*j)@Pk+joMZSgia2DJ5^hqgCDtLAHNcKaqsx- zI~%i)@k}`VH2DXut*vJ~qdmlm`uh5o*w`F6glGG7x)&w8v89i_i?cV_DDDSaz|mCl z(pjnxP=tQC+)D@|RQs+qcUwMquY4?GyM{@E<~WVelxB{f#>LpjTx2nUP7?U6*v!>| zt>i=MHnL4ee?+Xa#k`q~GA=UFG&GD4RpFF-zH%H977ZL+n^5k_P(8X@$7 zEA_b1l$4Z4^IDfLk0#7rbhq%JqKaZ*WYm2G*R~cfN}S1fI@w2lx-}tQL62E_E zE!&h18xV1+di$1)(I_AwAZVOxm={rqp&;0rI5)j1DN>%fn5d|4in(sSI}xcI4Tc2; z1wvm^Zlht?YE@W~_Lnj9Xqu^og(T=aTKI=hOcO-agn=3CNk%_I;=74MGe-55&Pnsk5f*uk+w`cn+^iSmxH{wZ}Tfg*;K{=}GSrj}t zjYkPT-c;)Pg%2~bLG~8sJX9@yxz+UaLow?TPv=?7yHmn69$~OKWr(UeCVOH4O-dXi zPENLf_o0)#awobaNlaT^o!s5opH^2^8CAy%%3$EzS9jX!xw%AyFZHe00*``%!lDjn zKU-*2w7k9Pj+Fn5_|TAmh+Cat1+*}A~Z&!%df*W~dy%#g2q@~Lk226)_WI>W>qDjc82*-G6xJfM!nw>w- z$-=?{jjqQdhK#2~jW1miy?y)k1#9az?d>a3r#N7578OBHFErd|=Se2nl2RT?Rq*TX zy43iEaT{pEv_?uRj6w)JsWBjVuCT6{@Zdv>T%;bHXKu|T96o%w5fbahV`=`zJE zE3qjlDQ@3Cvv`tuY1>qSfq@UDgS#o=^m!NNj#m=Kh-yzG{kH{PifsC)M8 z?az-+X@ljHU0T{+kmF*7s6>}kIN5Q|5!AL4iLr?Wac*XYF5w|FGqbjnlheSZAM^7M zySq({murB9B#|UqNO0el!N`Il%?LU$ML3Vz+1Z(CO@)Gsrf=VpZw^&o1hvR>=FD)T zf^20&ZdTUWzW)A+rSS%Mh4ZMXsm&dLMd zlB}E@ubiBPNr`2FBG|LVg{4d)W*IRF7cN{#FvAN#ZETY4^49idSqA0I&aa;xJw5!O zG)>aMD0}HTey-fG%y;b%Q^}FBeGT{bTMExjLlsWe)C62fiPRj5jd}X%M7YOVpOre5 z29$_Ovr4N#LTt@+!criTNi+_k7X`MX1_BH?Cy!)Asm;=CkVmEurZ&Ys?jV6bO*K8$ J5*3?}{{u?E0mS*4F&)CO)8N}yGx|qA(;!3ca*6i2)s!o zl?oX0{nMXjLaG0lNKq*P6LhAcsbIRmf=i1Fyg?GsEJMK+_(2IKDP0Omc^B}Z&SVlH zD&#jtxsFmyA%iPrO3>WdsCSu79iq^wj_LZC?# z$)%H^6NV@&C6#ieQeFu`rKS9@os~LEDq+y(q{DPB`d{u=+H{DcnSVB1$Yfx`j8Kr7 zrkJQPVl-ro|7?^G<=7~Y(%&-s&wG~!b7Cg+Pirv5M+0CXrPd4(4Es;BqSPYO0qF;$ zG?Sx~;OFRn2pCTh#i%uBNZ2Eo(k{`-@UVDVdbib+NBd=oHGldARL4JQ3MJ((lLWJqSkvkPe&<`I?70CQ5Ph$M$#U( z(b)h&sIAtJ%IZTP)Czu&!r_1}r|<&lWXZ55P9@}00axi2@ub?|CqT2*Ny@zXsMJEE za!m*&M1LY;4Kp!&G-{w@xq`-$p`FH<1$Uv@xFDe&1y@4hPFr=UbS5Tn_JB>Kps<%H z;(sSY?Sg!v=RkVY7z`o5lm%VyHLj(gbn_CZpq72`NQU6v0&*Wh8-0^Xa@K zsBzhnPQN?=u`+86mCF(tjo0E%7NTYYSY$8`_7Z|sP*Q>*u^?zMi=aiO2Un;!i?BYK z%4;}2aLlCS%-%>rr3m_R_FzbKz{WVvtN4@+Gb-hAmpU3&Ifax@lhns7MooaD z98M$YH&~>=dN7|V3+ATsdNvcY2)y94$t*=qp@S`PHxwmhemNl?RJ@n*;PToqc_4>Qt8)er9|l*(_A6zq_Vu(YWIpsms0BWnQcZ@A(hYjwb6hG znY7AKTFvUHLXmcW2~#ZYBn9uc|3V43_5Gm zq~Ah=+u&->VAN&<+DOz-FmVcEToJFtKn3k_JL`rtmYB}#is2cgi0c4C2ESnKogk{$AAUP z0|j$Pn=gb>YuYD;ttPKr%m+OB5LUF15ff7ISdGez+zv(rMIjz`Y195l22vx8osk%Q zd?XS^Njc5PfPcesI6^R~5T}4Nu-25>6xSyd zYQIVjo06hOFIRhLL%BMDF<(!`Ml0lW# z0IT&m3yUapiikvN3rHB&B?m^Nh{z0_jVgdyG#RZQ^ID9sA&(>etU8(WC52p6})R)xc zaW4^z83~me(pwEtt<(~>NYw^iC`U`P79^HO^D+qq_N*cNCc%291a;rGdnd-)8_ij~0|Z z5p0JpX5oMqBSSt}9!#o7N~UVp$D_7nD3H}?UFrg^F{&cqH#K94lWIlQ4XI>BA+C+5 zVtTF2lrZ{5yWa0Z3=X~BgchS-b-rL%vA|bBSw8Cvcu>w0PX!f18gu#Gc|t9~CYH^z zQc0{}kC-IN02hD?DHlZry(9yvc~sD3p@6z*r7(*@6Lsk*NG&n>ErA$;hYC?zEzR0l zpEP7HYLaHb&dUq7RE(36NS=2y$xxO9ep}6|5Jw=N)+vfvot2e?6ELH89YR?J0cbL6 zm%yAUt>K5RP!Ymn`?Sy3saWT-;UNf4qyI>0?bX?ZHG_m{+Lbja8O#43|I zsF;qE`Dj#akeDLC1)?%FOQ(ZYHSqJ0a%fRBT2o;O9>h!osNVv zpbWcQ7BCA+(hx2)hck>Zq6h{V26BN&hh>5coq_2j9W2BMjghuQag-IkqARA3C}ADw z!IaQd%EqJ8q@pA|3N3{saG@@g5Ju?*pceL@=;XhFD%qk^@Wta6#b6hug=lLyCE))Z zR57GVh^~ZsU|+%?P#OxD8TcqH=0&7=qYB&_iy~Z5Dos&v7J}2Piy+lmT_mgFN?scD zRC_JzbkM2Hx#^U-sIXge;i6V1iM$udvLQWA9E9CGyvt@QWt^YjtrKQ z=v2jolp_pUtq&yt-a<*75hV;)NC)t|!G*@+c*1D*cylUVkDF~J9klJn7SrwtP~ZH)IrQ4!8?Oq9(~=*eGaHF@sdWNwaR=rv_65*}N~5bH^lFKO0HW zv7}mJV3cYGOYl)a2Qai~*I4+X0O`^pTuTvNg;cbOJmW-prJu5=*)+k)OVU;soSI0; zt>ZB|AJB)HJfhY3JVmX=6;R*~xhq*hPNiKZba*UhNh zSnZ}9DJR9a0o+BkI=2Q=G6mG40LcK9Q){rSx1eEd5-*`AOFn?`D=ds5805T;kSlLQ z*lZ4s7}-LIG#FB5%;t*gXfczLB#nu52=n8*gjd38hx(KWntu_IuIvQ2RD997a zTC!P&WlV0u!N=oykH~9HQDwmBPeiR2qhBL|OAtCP4P`85omB9tX* z|HzRm^@7Y!qFnd5P1Frmq;QuN*oG8jnE&6LGoK04+}|lJaOH03f90IHtj*xnO4+P5 z2+|rU0In`S6;K8tJZffax`;ap@iMs<cRP!1#Y+E|`O8yTShl(U%` zBH)Z5F~OuqZMK5c3LKC=OsII)E7+nwi%RK$%&ZQDaS_EcGO1`P#{47`1X*86djy+L z=71gHqE%EHfpVj?&TH_pY+Q86brQXY&+8;+2_KYEmXr^L%_Vy)F%6ldymSJT~`f~c&hf%4{XSagD6dIz3i9ok|X((qvuNSQ4KDW11^oF1DD)rmd{$V{~=Aw%W! z8fgU8IBk|Jh){W1BvFc?NJLdsnZrC4$j2-Jl}{Oq%G@fs8^nDqMWsnkOqqg3k0qVW z%RQur3OKxapB1-Roi;EUyrjI~)CI!43eID^s}w}Nr6g95Yy2!6(Z_)SVi>PgDTCh9 z2)PmhKnp7Xn?PmO3=+0^Vtj-xbt)Q)8Luy3Hif)-0^s79jPVwN;OJ42%4Oxzk{at> zut!5sNZMj@N8v;|0k8#Tz{99a=EO3vU+**^Ksq|snAXS4dJ!)qV5{Gd4lAOusF*QX zbnb*Boh-Qzbx5Z3q{%GnEXmpfqc#VxaBr~?5(P)pqD3XZPZj8h2PA5w24vxwN=3K= zQJ)(GZHm{#^dMSlL1L-P2~3f373B;}F|I`E95fLZ8shu`7Sk|734`Gt8&0_$1t>>h zXux6$gfS=)N=BttpP$NxECJETs(k9KJEg_&fJH9}(=vvIp;Sf-TeazUQU~yN(Ui_G zI!dPX308xi48>4wA()JWji%BGro05uWz1orREcENXH08?Jfy<2O0CWh)`aHO1x*5z z)4-X;qyYW%b}BDM0EUJ2G~-9%yxFe839B2h6DhSau12jkB@+vJVQ?4$IjMC=)j^lY zq}5(lh~+5@5oLgrNA(sFjq?cOB~4LE9|$Njj4GQ;T5vCnDsxgFle2jeDy^1e(j_E> z-OmFP5AQb@YwbPxyp zhF6Tb9ZD>!$!qCMHmsnExr`R*LJ*TC&3csa8MOM4GG`8Pu%Z;C&>RU?j@m`1gBDX( zQR;;w+K@p+^|~NH!j^~z(nC3Ck%akF5%WSxBgi#^q{i$kkWp_45t)3KilFof0aAELKci!bWX_`2Dr7cZS|ZP&k{8F6 zGQC`hNlm6`78ejVEv6Y#&4x21>9$!hSRNTUKclk;YC2{D2xidv&vEE*GT zw_T4}$W+FI(QML0%8O2K0nrpiYdQ@}{5Y+rBzcW0DwRbYzq z@q4KR;Hv^A7s&HPlqc;bKPqQYs^DQQ@&I0f>~1lgU;~8U5%OAsh}+~Er!4QlJbW_e zj@zXfzNiez$duRZmYI_@Vq`O6xlVy+gJG9P>lZ}>&Y@D1M2DnUnK7%y$$ZMj1d1xJ zIWNzfN_>Sw3_B4-uSD!xnelJm?gYFEN+fKyEahY6DKRZ&G^9nV72`ffpoC_8F#tJH zCaHIYU3{jbli(G06@lxImrg9|r-Mpf&-1aIFY5Lb3#1!pj~56Sq=G0Bi7GgfNit?r z&VWc2Y*tC9{RTB+b2_4;(H#sLIj$HF3RVf~h@>6%B31IyjtrFaC8XYX>1GAL)Z2BXUu$U7_{59L(53%PtGlg|?R zM8Xa;jN9TerVwQ?MLObgi8|^7vwIMGKtZaKsEM%XB#@6mOj-iUTX?W~iOU?0Ab_e1 z<`W5}6%XbFN6{(qG7M?-(s@Y~rrCH7k?X7_8EJ?R6o|4;AR0_!hvagR(OEgaB%@ba zlsX9lu(~0GryM?&+rY|$0u6Wur!QhQTEdLZqAZA{7AqJ^^a`ViIyp#U^khRiC7O-I zwH%G0s#ugy#aPHM<>dkdv37IBPXtT>i4BnSCXJC{5y%x3qW+{OhsI2$ zI2R4UER4dU$w?(_mS`xaPvk7127uC1za>wENGzTVE5$s7YgBD4cEA2rB{z*#b&l(Ue z;N}z}i-HsxP1&PJgi-@uOB&MIjrkJQjq*VhcbQANMSBfkAXYH{pYj!hp;*8nLX zKuPl6urnC5{C6-{$Ac;sh({&HLgvo=!&rdQijB)f3@if{!X%+DUb!b zCh5ZzoJFI7Ll(O_Z&K@GAl#zrQlW!k6-C0DGZS_*FSi+xU_@E)6G;tc!gUOT$O%-T zo|3$|8^oRG(rdFYHnTp?IE= z;DNB7Ps{RQw+G6A?Z6QvZ1C`&fYhe~Bgi11k#LO2If9bBEfJ5qwMm^XELW>lA_62Q z>O%~Uc_JCQXt6nUC<>8QK5oJj8H34y8+CR-ws{kA6DE%#7$*goCIKi3P&$yA;&~Hl z))bX75fGuIr$|6jPY~2oXul-vayqPf!f24@OqfSZqH0edmIW-6Gr}5at3zQd77CFh z`8U2plxjOu@B%)N0K92R=AqzVFpy&Sh{mGxWLbq3&;l8kE5K)T=7iY?&=zXehYL}Q zTw;#KlEsoHWAO+cP&;G>f)SGDQc!1H(u@Ys<#Cr5x8}nn9?yFNUcH)RI8YvpC{$4w zsrC|TEW$)+jX%XJ1B^Gr$T?cB;%J#OO`H9mhz$+!gw>U>r>TVB=A#M$Ipl~)d_}3N zlsMxkssQ9;Org)yA!|fh^yVEtryfg$QaPi-sFo)67#GUJ*=#Tvm+Q20XC&&2p}0>iMLV|iF(ODKa@kH-%MXm==Kbb?k-(UncX0$lJ16^@V%m+G+qVvaz1 zd6@Qwav4=RkL&DFl`mj(;!G?;$RQ(>Lh`;CNS5Ugl%*6DrKhCftlNPhkTF{H;;~3B z5rec^n=zU7CSkK^#&J8i7Z)TbIuKP50%fw4auJh)R^~jGoPndflr@t~Icz3W$?Tn3IJBK5XEeCO{k8TzW1h6lGBnP?NG~3?w&LCLVT#*%gc&@*~x7=Y?TNuoyFtJE0tSdcYAhfXbc~RC|m(7;aUYQr3)5U}5mZ8PZ`YKAM#4B1qg> zuwsls5+%(dX2EI~bI(S%7Ca3*|2(I#P{UZdYk z#Fs3DR}7JX5B+-L|;HYA9l>YxG(1%*7rF?utIqe%@S$jE><$C9!X zZN_4mR9Y%#)tE6^#J#kc_7tg9hW4fbMOHMq3W6mPDiyeLDU-4o#_^&OD)}vq#b~so z18EOPj=)z#HW3ZW2~E+M48;uvw-rlCjFKFtDaK7wn9RsBq%NjL2nA~t!$Q%|XL%0F zNZmeZsSG~G%$r>#M34oPED$DJj1ZD(rza38r0hB-q2N?$hetHf zA=+d$<)kW)Szj_tHDKrRv5dx=^A}VJr@~Evh{wfzR%x2k`dx$s1(p1OH)2fL5j>H0 z=RLVBo~CmS-Va;&V8R9~Qo*Q9>hL5jh?++H7RZrKFib`jOsZ+zpjAZ}ROGxg80YrN zXe16J#c)BNr;I^wOhnbZm-i`zgcH|A{frPHi$Gzq5Db!fP$rH>7`I8KEfHEpkRo!q zVx+*z@G@`i9hrjb|;VT%G| zk}6vXo*@Ow!IvOqC{Y?E>RrW<%4G2QJI~ER0vjiI6hgbS2stbSt}fq9$TY&BT3;dCggg!mHN zA+;`F2;zPIEJDeHG^(_#Ee^2|l*>w3A#BIIE)^-VF|C^gy?wS|L9H|L9yZ43wH_-c z@v^B%G;7g7&S1fX=Cq)i^Tm{Yo(z`Xv#lZTN=BI&`^!9YAJu^@R=6KW(gRDNzbE&W=p|ET9x{`7xAhi?cY|a=+1DO<&NduRvwuBN?!eUZz z3Xmq?GGEw@>sfOknqcidsg@4pvL+ct2UC_zMh??Oz|sTHhQVs5KkhA9RDQK7jKuIz zlFvC=6n5#&Qb2z}nTXqBv6>26I^>MeK~Vk!B}xsa0GX3Tmj_SyL;+WeImmQ~hBE;3 zU|EyYSPDZ14&D|ifyh$mIB-{Q%0&Tu4> zEEWlMrqsi(p=}5g^r4DCOa~!w+^vWG%98M`CaGEGPg$~}N0lb+Q9B&W3z1MUZ*%Jf zhb?Lllr|x0w6Z#f!d7%y{pkQB@!5E{HJvdF9!tOrW#mzxoGRw%lQIw$p-A{IMI z`3qRl$2jy+omG_vam*_Cbh2nlZt!t%Lg7tnEJ_4X=u0|UqC)>SB_z=LAJ2`-beU9s zU0GTCGJ{s_5(ZUos>d}uw(iA?U{kffyg{9x)b@`nZS!0k*IYbI4E>|SPv5NH`mfpD zPfX1;CTfh%Y^hzNT)p)m+oapUvXN^R?m2ekyl;R{r~P4e)rX^+kEmORnE!73fsa=( zYlp6vefe-Wb7_Wn=A`V5cW+0-gNx$kp(8Jy9D1PoWQ#T6ugTo&``|P4Yu0Xf@X5_B z)^@{gl@Gu3V<+yfd(oalAN*^^J0oX4zdd>6!L^(3cmL_R@2*Sm8Wi=-gLFoJCEz+ zum3V}nmqa`H}9)ng-QI4-wh-GIx;J=cWU?ZwGOQq{7y^Bkh0;Idz~??AJ(L-;_#eN z?ke`B9zA+2Jhh>4WVZUfE4O#ITlnP0h69CDr-cg*d}~u}mJQl8Z9R7tef;=whw~TS ztp^_qW3KfHBr`&DYoU*xay=Qm$GPy1H-$Nan5gf_jVwjFlsht((F z{cz5x*D7i>=+$GjdAf4qq&B^<3%e&b-+pEGfZh}T{m#g~Ym&cB4gdV_H<~@js7JT& z*2r^Wp>>v}UbBDA_O1%s)oS$+#emh3#^x`jV|Gn!g(qZ{og29-YSiwvV)^9O$fsb1 z-G^L0c5n9JjnfWPjl6dVU!6E9U3$9qrXM=Q2G1VyV%Cet?VxreFMY}E=7{Jhpy|4({tlqjAms znq$XVNB7&hfAXPNEVg46+hgXGg&V$ng!Jk0wle;UsrT~j6&3H!?)NMGV#SNUdaS=R zEgm_xm{cF!?rc@-mA0nA!){kR1HxIc@Zwxa=d;-8)!X*Z9$Yw;Kd<|;YS6|9w@xy% z${$rJtFRFZ8t`q`!;ypSKWlvI_vfw8^%%T)!W)~gA@3hLx_ayWkFw)lY4`QSR`6K6 z(>SZ`h)49bgL7&&`?JH5^FOfii&b|otXW|E;_%EqL(!G5Giwdvq2=u5{qoq+&b_Cu z>elkGxVRrdUv3`0vHp7H`97C>zB7pZt;SQ&q=!Fkx&KRl;r6a&6B`$jlyfUHr%V<3olepz1u(eS&ydrI@M2m&)Cx8 zwLeb9zq#@1#{QGGjD4?p%CT%1cl~Y~{`oC!HVd`sElAdP-F@rnq+T~>fBNaG!^&#* zd9!2PM-87mdw8ZtTSdjy?XPvQ|AKYg*nCtw-DY4&O2?aZn&>U%gXzly6RnS(8S&)L zKbF?d-sp96qf=WLcBFF0#MX_D4;wS%^0lWEzvD*8D%KYRY* zajjk>Z#;f-=0#tUqOPy_^gvtiaMY2(FaDy2ef=vlW8R>R>8iW3;OTjrh1=&B#lJfE z0t)OJzv-rMW2UX^TY9wo%#h2kd4fc#^$a2 zZ*IMO@#3LR-o&4N+l#ySUHZ(-u3fv{+CS`yPpNA7xW<#;*RkI$UR+lr)c*5l&Ev1W zYCTPro%`MZecg)cZfEON54+K_FzBnP{w;3^x|zq}N5hZ-wym#J3>&@4J`eLZ?OVUy z&U;H_CD{7xPE5KJGW=@;{7X!G_7Agv{7VR zz5R=ITj)-`&cl{ZJ0(@UGV;a5EhBeNUiZh&+V~yAQj7B1tvzGzcD(aL^yJ7#+uL0! zYUdqD;m{*r zo3H-y)p8@5YWPnw^p4`55L|Y9kc}5&~j6Yr2{wc$3D2z`hJTCD+9ahE)pm0 zv(G$`T>D{l*TjI+py`^qarL&-YvR;d=*_La+|zhM&!f~cd5=3^-oLy4 z2m2rn%+4>_lbYFW$=N%<|I+otM z{&`R72hC3|d+OTIw!=_PZ5nfV=Jph`e|g{aj?261D{$w`yLWH#=eCVOYfk#~_N8im z$QQSMx?fiL#hVkR-HWencz|B(n+U(dz$^Z}WXaKMG9j;+`Oc<|g`0!+A{*MAIHs>0 z_xs{D*Y=HC_{y-`b7!?ayd?fgqTY+%%>LG&So%UkejC@I71n=kswq4HoSD~TU+TWF z?6hKQY}kJ;e#HJ8pTEWr4rcq$dVk=IRU5kRP4?~06qdBUbJD(*J+Uu+@FcXY>%{jD zbgjFgyKK(}w{U;90^xX4wshV|a6Tj!nzb(G&?FG|zY@6;pYgFu4Xc{tgAJyo!S$%nFW0eAY z43Pbi`Fd23steb@-QRMwv-I&lJGHv`cc)f2|FhGoI;zIIMrh7zUw`6zW5LjhVehqJ zHl0j2`RaanaJTu~ic#sR3r(me6W?_X_%lA{vl~rsHQ<$XF0bm8di^V~us7%5!b)EI z&sjTn?o>%SSo+`oNZzqy$D^wl@MwIK1^q_9UiVSmUdP23&mMlHdF88Ni;=F&b`HJw z`2P9hgNAnRTDkpzyzALs)la{D8Gra*?N`1&v~P%e`0h4^@rx$al)QJcFTLug!ikH& zZvtoFve_CbpAC4jz1`Lm>)1{W-_I;-FYQUT?^tygJ~8svd+i#H)Tr@xs)69)#* zzY3!3vx_}OHa_#^?urV>oPNX*27k1!*Y^Fj5$&@gz-krMcUGOSAFug*AvXH6ANJqK za4$|C81eQb)rZ%1;(<-Kw$&I7Y06^xNhi; zb>mJKuXoQDL6G>EsBqNn)oa(}X^-9_pN|SodE4x`8uwj4|Loe+1-|FK75fKU<4)~& zcRt&`pJ?8+=?9OW08I4en@_jD^3K05U0twX!6&y{OsZuZ4Y0ziw>nLKeDB}n5_g5M zal57G(tB?|PCgwzbbzh>z`FAr@ch5e%-8~ezz*>Sy-9%XtUAzl``vs0fRLtqou`W9 z177>-%jl<3(4L7tteEjIq@ppgURu$R(QFdeV5=eV}{kSjN?i*I` zrRvljcW%pH$5veVl9_qv&dyeY zhMs+|jX1ey+ZAKJYTe*ey(ZO5+iekKxj*#T_oeN|&ELM^-qYnzzRzCR0UZDUc6&Wp z%Xb@9OsQFWLz5Y2S}`Xcx4zr{=F|(P;=`Kt+CHgpYTl>`oBP&k#!vmMu=l@U%~y`r zmIzSx`P0Wozf1O?1_f&IE3WSC7yQ>N^6GD!KC1b8z2=qkS1|_;10?&w<@;CH3w<~H zch+71*R>_l>Juv;-O{daS>t|BcfWck7El{~2R<6Ip>VTV`s{7@p%PGDdBh^SRX8Qa zE4P#%Utny$QW&4!g^-P}9$5y!wQ=Pm*|FXePFK-2pIvD8V)p4xLtmTKWB1_gx6dPe z-syCC#h#~Ett01l@BiK3`Ng&4D`x#08&(47h3RufbUsUzcc-a77mp2{^r#nKJsWuS z52i%^XBJ^udTH>`KiBwA%m6-i>%~?(N^WfRS>TR$EV+tLZoA;&>7kQPiG%KGbZ2AL!{<+K9;w}KSif1r?$nvlceroVzEQF( z^?Sc}03Ow>yYJxraYflsZOfJ^w0!HNzGW31=9Uea ztk-NegKmdv&+eyfQdZqK8u`9XMOm-E%9@NHUt`X=O-q+fc-uPDbobJ}d57lVQ-%%X zfBdwgoZj}*v_3heDqwpx^KHfv4GV=EDu#)lUy~ZO}^DZ=2(0lkxSdW8mAv8yLR;@Z~zgB=&& zYx;Qa;*G)>V~+}<@uyp=_SQDuXx%gOSZ{PSi#M^2v64!?ix*hjwa5_J~HooA0& z-&wG%|Jo0CPXLDed{^Jf&h48vs*+t9*0-qBReVzx?>Is9x)%?J0^s%`%&t5!$r%&IP{?ptRGy>isR?HKEq z4k^rae}AOLgUs3$w_7a#ctf3s37`SV@$=bNwfv0!2m1e3zF}>#)^hpQw%@;Pn64hx zCwX|`*Z!?DTh7QY+Nr31O8!z_v(~`}fBts;5yD-u`2f^aq<%l)e6emb0N01_T|M&6 z@Fx#uPVHXrLXZ8ETFA!MYS2sMz z%T0!uH_XgV)NEDX7)|fITu=*ZkdU&Z%=H~>${noPM$oO$Iz9B z4Xs=+rnCsP|F(96b@xtQ=u&-Y&;F_jEfpV5tsF>v``X&ru@A?-(ryr=-+%V@&Uxjv z#`W0jz14u;F}`t))Yy){NCs{C;nvGT4$n8p0UWVUnl^54>bLK@pW=>~=e8B!`y@~3 z#n;cw(bT3Vw_cZ-Hl>sGm+5n>CN7~?G~04H{_E=Ky&bPvkFKQts>FLQt_*MSKfcLd zt8wB;ZR%jm(vrXX)r>c%PPkV82=FfT`@Qx0(?YGiy^t)L#*1^?y|Q=cgX$KA(UvyE-Gj5vNzNqZH@HM^5g+aQ zWJV9<*~gEUe%3{T__nKB;YPG0m_w27^*#_s%ZPQQ7PJ|X-eq&kd zw$m@)Tp9fA>d)JUDmI;}=&5LP#`Z^}{u8S&P4BmKPwI1c5H()$Duh=HpPahhso|(T z8*lZz|FiSNg?%THU-ybPtLW`JzFC~pw~p_xY`$k|kHM9f4zBF?F`JzkSiL+}ZG8OYme#wBLw~l`JbJZ;wcDdh z+Xsh$T34FCQXLZZFJHcEcgt$m*8%2$hOIlXdUaH=xtX(y9*`m!C%lYBI z?Voya)TybaPxLRH(478xRG&W@RB!FG^+vycwV6_bZ_|HYyXoZ{-dSJkYuDDc|NdIP z;f+y!{xqLmQ9kO_;NkhMZK|#x^;IS+sw=hiqRqCpJv{dFRQZFC;i{Ss%Qn8H@NU*cR9&DA5c{uj$F#e|E*t#A6)syWXv6Zh^kz?6! zRUd#lIJrDX>WiG!cd)qS+1)0(p4hppP5J=UUX)r|h%CEl2M z`On|iO#$A&Mylt}vTh$wnW8zhK0ogb&DbGVCf%@GNB6A4)$MwJ_#xVDJKn7nv?@wL zYgC^O4I036%7)ks}HAb}=URGDDE#KPq zld)r`+d#y8<-bPE_uD@B_FL(+-r~0^1%L0#piyagB7&*JFiv^lXq*>;>58llNL2>G)&2=44PcL zeM;!_>yIlxf0Wu7_z|5|-f7$W-+z$pU>e`*_?Wor`o1xd^}!#!>Gi8!vFaUNmVa{y z>AvP{ljE!Rv^_y&`wks4eOIgPna*S3o@3`U+1hrjd%}g9LtYVU_R73c)vJ+l_xw=< zcf0TI4sX3NdHLurO{;2u-Q{rVE?zv`az5eAJ>K#I-RaA{z zO)u#G|F7#H^Bx>;11Qzxnau-L$LHa%_%`s%9&L+nyuRm?H|4|s;y~o~{=WL#ry$DM zc>cR(y+?eLI3C_|ZLPC%$l7@h`C*~%hL^GjXRB)nn_s_oYzfurrPGzFuGPS(Ct=+> zp6fWoif;TkbiWB-i$A)^zM8x0h@IKI>Eoa3cUpKA@GNaqnXTjh`pPn?)>5p-(}@oO zA$9Pl&$~sh9Gt_Q-%&@3KiEF*m5-(qfR2d%@NUK2ghl4x@v{B+G(~(utAl_jTx9&B za$DcZ^zHLI&z~89FL5u6Ts!*B`O9C*m=C3oKsWcMGt<+yL7!g_wX0b@Xz@1%@62t> z(RD)~rlj~F*`xXgf1J{(BGGR6J^RmZtecj4@%&j0SLNU~yJXdO9+pDl**oUZc(bQ) z<$Es%4jh>L{bRt`Cd>Nr)t=kw%_rI}AD3=&{rHOJ;v=j>x-MAeyiPL(bpGegS1jA% zl^6GZF=gqjbnDblpTk6t_05JnM0aLBJJ+S!@v36m?VE2sdOEaDn*-;L?b%c1*?00{ zgZCHK8g|zwMhgZJA40-54@0R0hZCHNSCkPpbKY!0t)MRvt=pn%w^9 zDr5gYPbdE9{PrR9j>Q9dG;dqJ;q<6tbkoAB{>wgN7k6MyNUNbpUvC8Qpi_ zvlF?w&C)pvHtCc9RKcWb&G~4{=C{`j0@P@vicy< zY;E{^&FY3b4ntjr9AA0t>B<&WPv*sk5Ea#mg|0*l#jQp3dGGl;xPn)_G(pWqmzkB!YH(!4}7I3xbxh7w=|7q{u zdEtH2?4pSLF{%byUf%1)d!sL>cQ$R(#I|D4rbVH>Q$NnFbr)w|t0eR=;37fD`Zk99sBugK+civT?#5AJDH|J0^t@JknujqdZ( z^S8M2$#Y*N-hb&05@c4Z>2uARNV1RrwVdfj^U-aPz!M)p%(5Qsn(q4BJ$UuUapo}c1-y!yn_rT@yNo&xLK zdB8kP{z0zYsGE)L?eA5wy_z*|{!wxkU|prt*3jF>`g^4f27`85%M>>7@4RZp+L41c z3Wp*$v574|NNyZ|&5pP4`5gZzshVu5J#OI(cYA5ol0$9mZC=*eNAKBMIj`4>{dceR zx^&H6edEvr#8Jg^?Lc{8nQu*9_I~8y6MeB=mlJUMw5gQH18Vc|d$06;{l{A4jvOMv zOtLG(|GGCPdgSXv6I#e3z`>ODUH`1_r!&DV>#Tq2_owVz{o7h_3y??KdWo`j>o&I) z$7vc2?J)bbXMOH$s#)WGV)Vgnspi2ASJ7kFGH-uc_x)G-g=M|W?S7nDW8oSKWWgIM zjwk#6Ikc?x_z5-UyxYe+WXisFUk<8?uW_}PR}HOLOkIqeY&C>i)b!OnQH<;6KS z)EP^wiq+#z^^iR4N==_xuF)(U^-I;02J_Ec9Jd_)VNSnpv%6P+Qv)LJzqI~~t>4=^ zgM!~TwIs*xkNF?Gy?0#GTi5MNks?(DL_mUoB7%T|^r|4BH0cP^1Zhf<5_%IUDpf$F zgd!jvLKi}bAVrW+gQ0{X(nIh4uIS#+v)^*hd+z6+d;imrgpjPPHRqV$F@7IyzPv_W z&tStX5DA)Wla{n2FFP>yQtY@9C$1b+EkC^}eU8GG*yo`<iF`E`&&`*JG{CV zR7i-zLVp_ zCGjS3oGgOj$K5;Ndvy;?O>;nhcSVhl9#lGE`lY7oU;*a5roYw?MwHLdt@~i|cXuFH zGZ%c*wA|gR)>mh{Q+^b(BS#(2Ur`GpvI~aY@tn^Lo8N6Zm616;+PwX=lYv;Av>@R0 zq|$ePITO*<@`mSsEi}0#*4Bd<-%Xf`tzT(zJw{$Pq#(V?>I{c zHf+87oWCXlrhG*eASW{awfx^K01@<2SpC9RqZ!R> zYgD48e0gGA$TaV@eyyxk__alhK0L)>S}(jOT~2Uz@W>D)Z4;e{a>CR&j9RPlUjz-Q z3=dt}7g>*$)SJpB*T1r`eG7TGNn|4_$-Ag#3RGszGmfeNJ9 z;Iq5au&wuD-};-oBL;q_{=-%WS9G`tt;F#|CT=>cpA*Xj-x>)taHR;VeYT!LN;A<@ zv6+c>m=I9`9pJB;gA==Xm|WIF7Q!oXHm+WgSVrC)H#uC0>2k%aHl6w(Owk6|O2-Y| zd6j|bh(0+1Q=EP<0iAw(ACM02rYhP$)I8@=OSFsAs_sDoTwE4hud7oV_<^|stWdt)eF&YADBSQfhZI+aUMJbPOz31| zWAw4a+8>Nz@4GMb-?NHKF@Lh`t*R?3ubCZF(L}rhL>z|6hR_BuglqHJ*kJQ^_ehH? zIok`%dn(9pu1SykMkHvq{LAH+s_1N@^I&oIY@(BA&Le;GyV$x;so`I)mLd;m*(3)s z+JyqT>#Lfn;vA;(Q>u*-&8N`A8!Q>4!9VPHk!ea8EK#YWVr-umsI{Jm)IR%B@?_>i zfS^Y~l_RzeMadx)(ByyoHSFeKap5)1G=_(GR$zMrC@7ttg=(LsOXt_%*u^CYM4i;}$r>Ilbxth`}Nf0Sh zQt}?OW!Tg}nal7|5?TE#A`@qDN>KOoI%a4gKYaF}7^l@$w#g4V{ zrkgvhU%dnZ2HyAOykF`pNXSjhGJ(^{V#MQ1I&wVUM(;B#)~c$m1j{*32Cg5C9@W~o zDn@O8AFF4XsI=2r1UuV$l`$fgEyIVn469AxLts%uT#qHCv6l=?J9tlsBMg!GjwIe1 z3`U6%?GUs;lqLziz2(Vp>+ZYDSkK&UwhQvjKf?xgC?9w$?gT1B?b22<<{bkb2CBEw zAWP2TBxx52y@kTP6Pe)8&LEeW|}CCoTULfYQA)`8KZKobRwI{_rahq8bv zhY+f6K`XRIfTg_MAPA&KDxY&fWb@++i+ZmEO6yY^7W0z%hKLkw!}MERp0l%I!kZ6gB#X0G|Wr4lr_BcK@jaZlVWU+o!#tojGxvB z0;k<;%~t>e`Q6SB`{3JoGqOhC{qnuq`*GYW6ts^@dcUl2Hxs)x__zaHg5RhzT)?Ex zO1vL#p}-3i4uDKFz&3ji9yYI>@eEwCaC)GlbqVY0;xZ48y-<=!7Lkty1-y#xIqG*Q z5p3YIN}k`!G!m)fDln$JWRKDNd$SVN#r)aC+BfGmWw$ID>=X#`_flqn@=X%fQG4H3 zYwm*?%z16Ixo#g&Up(j#FnO;4mA&W!4vO%3mgdwBtEd(HR1OTHEJ_?X^nqMJ=l_== z>Am)ajD8!|dwe{<;IU9l>(SSq&YnX#;mas_+Pv~`ny=&|Yxzi@i5N5o%J1lbbIdlk zasPM_ivAQ_xZt@>SGPYBrr>u)|Y(ZL2iW1cCBR$ zS1CyP+U_yB8{U%-^JK#3@ z+z?ndu_Hb^e;{h1*5yUhG~Fx7GHMyize<4MPufzy{cPZ&_g0$Lfh0lKH1Aq}imKg% z^n_|%B3!jqzZjkQkD6tiAq{3akD*H0NwV4hD41S%Z|N?JknhcHugd7Y%DdaQs!a|z05nf3&Xl~Ph?H}y3x(-x$v6WeQt%Y(xyh0F4e?7E@H^l?cE^m;m{X> zZ188ahi^!_7Dm-mdaHg^WgNXc@`el7U#b$Thu=AJ=x#&1b+Og3G(8J2_Tlxado?7} z6y+^D7F_Kx=9mqW44`0>b^98=BK^+OYgzU7N84;@9|TUk^AIWfWQ^RX(Y*HJJJ;L# zTvDfpgEqM&@Ktu-XlurvPvsNu`$QfY7}HG8LEdfUbIs=|aYNLJ9`kfvq1Vt=jJi`pnVJ0Y(Hp%dsFOId(+bq%$4dK%l_f=!I* z!6*<*38HR&=(!<~t1ni`88vRI2sN!T(=OLlqb)D5sJzrnymLnQy0katS6$%}x_a|A zN;l~U1B0LYWy41^n`b_J`#y~BLl&l-YJT5#H_24CQnsSi189->`ORJ!6Xqhc5bYUi zcyfX?CW}COqOt^f?_<2a!q;03D*b0^FocL9c&uWmFTRcLr-Vte$GP$5009uTCLCB=u#%g9b;O&-hpnS?N>p!k7vCqO|6dWhb+HJ;jFiV5_Uoae|ta zt?|@1oum?)rW1{>Ae(z5sI*p?($g8)izmrThMtm0*-X=&F{>xhSDKY6U8ZaDDYw0H z{A6!Z(%5vSL_E|;J$E*mX*fW5U2JP`EO&lr)G71L+>f(T`;m>BvPX)(3<@JRCgu!k zhB{+AhK0>~kzuF%4IXG^Fy0|Vt}x@qZlMiyuRi9rwU4hlkc>d<>k5Q@Nz)d3^xXOu zZ5H~6g`CX3T|)LGcK7N^;i#RS zas7zV+Yazn2E)WMI!aqRJcg8`*zdb?qeP&vd{^D=D&0-Kf<^to(Z&>GGV|Ku*2hdu z>^*c7U_n@jHC@c2fprJwo3x~&1aOPpcm2Z58e?-E2VavRn98W&#Lymdg9$dV7J;zl zav=!e2PyBO;yfw@1qHaJrd(QLYbL$ed@fp}qhaNUkW!@S`?FB&2ZEEW5{+sxYcj#7e@e!PKLzOz;3OPQfh@rtfH?PPMM zHUU0G9jM7dc|;`c8?wZ{Rg5ofwX4Um_VpIn0(?lNlvPb_tLtB@$A>$hEEzglFNpb-09}AWyQKP67{XA{L9QU`lTx0!vdE!z^CQQc5G$UAXQ- zrx}T}zil8#b=_dP+h+*PQF3qzi*kjM+8l+SZC+iV{M6^O+9+7v(wRc*%#>vgMjK+nd_r6uMfn4aiW1A4o#^f|3&DXpANWQ?1sE(EURglSnMoe16$B`DA8e5(}PDz z!-I2C0geS_u7pr2-jK`G!~yjO19sM$TBmk6a-(ygBMGkPr$8& z2tK#1t~2=U;77Ev!3AO{xX~mt%Z&T?5Bcmik z`7?4lj~+3rr%5M)_F6ehIhyI9Qg^MGCvl`5eCN*A}OW|F$UYnKz|46Sd0CRuGS^M@!Hn3x8@;AOr)M^))% zC^f70ojZgH@$vH20oQ@b#aL+&nB}9PL1O|0qqQ7>I0C^eB(J1W!2CyJVGE(YeB?^_ z;*cK^JU9U;Bw#w>juc=(W+gp@J1m@0_ApJD)ARg}UQ&J40U2*(m*^4y#~_~Hh#js> z{u&Qn;IUsRj}?Zu2A{XI1DQAw?n_DlUC9KjhLk7-F7;lmhYAdrDuG6^E?!_zYC2f{ zR8@xUH5{Gpe{kIaTc;;&jqA^$Oh`$U6S{Kc%Ia5bRfrR((MYyn>Msw6;Du(xk0e8v&->JTeqzP@M6vJ;VzRC`rF%yW}_y5nJT9V*%GOv zoT0yl_4J?IvnWT~o(dXQtNGp<>U!(I4u&dtBdagJs6P6bMf;M?{2zxT+(J>v@g8) zt1m3UPruJdT@3IEk}rO~q8r{PZTD%OX_a-cnwjqr1$1mMo-MeP-@WkN{n5RhTGzS$ zudnGt9QpK%&T-{~_0kK(O#C!PY5%C$XQ;}o$sfS}p^^vs1_rF|U>`n$BAdB)YFqfLNNol#3&%}F#p&vmx(S9jPcf7tqY zp>3ss0zE#$XGPxK1Lrh6Hh$f|l|9}R&_oc{Whpnv3Q=fy_Cp|cB`aE1=(#!ONsdm~ z{JObK`rrZco-)KskpNGRPEX8Q)IWMw9Vxj9o{w1Z84WwFb6IKbKB@&qTWk&;X0*1n{Jn%4X)3OnlYONJVQ8w(8oYd-c)&dEU%h z$|ys=6?+CzT4B9!-OfJL2-r2Ebxx_#f+&_J_n>JHzCK8#!04%?S+9hyzaa47i|Xbi zhJEk0ua~^`zAt2MVpdt9tbaXHKJtlavtwFC;Z710YOwaRq>X_^BBhm!V=>LN9;SQY zDAWYj-(g2Ji=)wU6~etRbh{jf@IpD7F3)mE)5gxMngtxYmwmQ2jZ9oPiooe>Qd%|4 zlHM$B+Z3BQ+*vkW{YE6mKgk$Sdmxxg+#`Ef6pq_C`zl!j*3)jB;VKl7s41P@2=15_ zL`+6eb2Gvt$Y9XIgM+#Jj3FWTdI+M=eCBAl*?r$;?W1gbtPu(RTd(Obnq4mnzQ;3d zna$aZ;F}&OV^Vdk-nE@Y~DKCJB&#%U|l(^un&eem`I z|9SQvHzLU{5)9X%ou^9AW<40qYU}Cgy^^L4E0mCs7%VmxV-d0nU(Q4 zYG1aegln*XvqOv0j<^&+Zdk=YnKdjEsU)BQh@lFEZlu@d=Myi0O_LDuKb*qziD$t> zkR|LjB{xWM;AlqNRc=!IeMBFBc7J*cU-e@dCBO9O{-=3PbK`#;=LD~+P~7;+>URAc zv)*1V66`nOnz|0X8HDR)oxY*I`ugw1U+jPl?dKe~dh(u4pwd-hXe0~eCnLUxk00Nt z_A{+>`=-(h1cowLO?LK~@?%v%@s(sW5dDn}P@A!c*k7q$=PWoyco8CYOxS4PM0h-| zW`#bGt?1R=-_ijwG?M_*{pzKI>NWAdVL4MXPQ{(Io#PI#w!Q{1tJ#`KG<#Cw*mn>p zb64e(%&|bj|Ef+JENNYif)U}Ot_}#d{5R4-|3ECc@$t5pS)Yvvdp}t&&BGMj4yfDi zL=6()qJH%Y-wHn2-?y(rbQ60^5)>|7hp+Ax#wR2#lY1f|8&O{sc8e317TRlOLhzmc z?w|6oX_-R?Oc~i9oz7C&ze@rEDibXD^L+gE;_m#|KJQ{ckFzm~7{3TpY^QdJ7X3%3 zKV&V9zPiOfCvg;|uw?r@`d)QC@$c5ZuSi{Cq0dKYVTs^IbRkmJNg(ICpZnTD`*pxfo<*M3Z zH<$9}T4ZcT+m?Us`l`d^LTK0}pD5lA-JYou>^{^cw*+1Rnnc8VBP(+N_ ziaYJ`@9OwIv$<{6r*hD`_Qn0^S1b}}AaBV_KIv?>zr{5r?Xh~>ujsffE!RA3-CTNw z-AwGs!Z*PYud-+G|>TSm-r^;-GTwGYoIiSKgjA>^bk-{S4x!NK#W+>mk<&aRe zV}zdU=J#lTvsG>{jgGo@z?k}v$TG{3$CA_CGG=ojku{65MCWdY*F{p&2a&iV4|mL^ zE{&bA%_J_Vxx|)dXQxbd-G!9S2{k07m-Sy|Y3uU-?3jNoxC?pu>&q!apzH9)gf+FE zF-DM2hHjW{cv=aXM!Y&+mNM>b*);#Er_}K3EY3c6+AA+&V~hjgw)*ZIR3f0Mw9D_w zZF3LLQX&ZD&UAp3#v=9I20FuIeh6;Xoy2|qIjP$6gIPBalIe6|u~Ko|Y8i~OiowFy zBu8A5bh+(ixywofB^?`0{pdY2wAS3VM2BW|nQD6G?k6v5PCA@RJZG+eK4k{jXRp1&epnLtE&ddU zrMj^WOC0cDf5iKV?9uR}_k2gZZuKrsV&&~dQ=+B*V7#Tl1Ytk&gryh(ijZ`~!Ag@9 zTE$l=X@QE8@R1=IjJ&B|IJ!~B+{5KXBAq0G@IBM|w7zct^ht?tAw0kj*j-8oWIWz@ z)nO&1axM3~rlP{uUvnbrSe!yXba^|r@>-O#4AbXSNJV&1N{M}v#I>hlNhj^k-{?jA z#a}hZsZ|id=@+is$IGn^5n76*ZRSzBo!?RHNkS($n_BoE%^lnQh{8TOp43b^?J>-V zTljno;J`&!*TN2gu*TV`8sF!6veX|M%~=|DR}OzR5H8Rjep@TlBp-CEznEXr-{rlx zKw{>*8B6J=Vg9=h50oh(TEP6YpQ~+Xu~yi)NMR2CRK!dw*6GQwJb79B2eayuO%Bwm z`{2FICE0-!WXG}pKE7b#>dpGUcc=3N3-OGf0R>p!Uf* znmnTVt@edP`6vC}^Z%ds{;)|KUOv7o0CEk~du`eR*6@mjS-I6&^$$0Ltb5YbLqbBn zcw8a5@RPcZAv}WjNM{m^>IZ?Z&mI&HPpz%{LG#1I$M;s?@n`u&L9+{TVs`ys<%n!r86o+qcZOOoA+pz^)n&kjr!E zgdq~#h=;p4k|Gb#AlN!h0x0}E1<4>DJj8?$dETa{sOE=F&Z7!9>M5dYz5QOF8*Ulh z<(gww-uEfMdKbCf;py5PN1J7)_diYMz7iKY~5oK~R1v+aoC7({qD zwYPx={mU}aUFOob5WMjOP>#SO= zCQ+NSbCU0Usl5qY*KhwLt@K*phgDZuG>t1{A$l-qAjL^dy8^VRuR|27=e}J_XV}4a zxz^u5+|iWTX2ANaHaz*7V;=)A3+E9NOMIZJ>HwyG2sS+tjZKVY^lKDyvmPS9bNg== zK+)i12Z}AF6kv)JaAvp0i)y6rPEjp`e>L~56Th06pPU>5`1~uiB>)e9awB`!BVTp_ z^L0XC#Im^8hE;>x;!V?+JewWqz=F>kXoJ*~I@n#+#0v-kI$fvpSe4!4R8Dl(Net#u!@ zGMTBx>mITFDb&Cm?p)uHeU#%)r#;Fs>hoAqt#sO`FoSi+XElLbz_o18?k~;Ovq4~!U%P#`CXUbU( z`Sr`AK_EabXr%gq-&(V@euLu0*V&Lt3D?=LkK=WimcB!WU*kB9Y^)wSI20F~zUgpO z<@Tco9U@Smc|`5{uiPq~r6Z>G>Za2_-v5;1SU}&<9V;`=5{T^(7)YAyn(YwaDr7G3 zj5Ud(!c2HF9lFo=a)5;!A3iTwzeZ%@j@J8WYM|w1>?^n*V`a*~NCzQNJxxj0`vG{@m{8#Y%>` zuM>tn!(NO@bCZi>`cQKSsjI9hPh8LZ%!8V`}$^b`+j+{GxrXbor*#V$dYhiUIqHA( zt_Peic0a$qb{}Vb$mMdQ3H`(Psg;38tpv8ux`rPwTGSL4d|CkFCPJW~^wWcI@lxM8 z6D(Vsa~`YdV9nOxa^_-hqQ~HRtJ6U1h=VocT^F0Ri$RK>zke-v-%TLV%tVhdwnLMS zt6!QpPE{R_6q_8Q-S9dGLd!5qT0=6}q~`nPs3&6h`_r}&EcZat#EY7WQ8hmg8B_o9 zRiHK1>J8Nws{6Hy4M|TNwOul=8Lg1km{XqH#VBgN-E1-2#=1w@u8V&D5H^UrMC;Uz z82t_(9d_WJFqq@7aS_7;r{0n;^6vXC1^4kVCno4N%qPhP@7wVAt(XYMr9q9IC^oY; zeJqpYa`vX2K6W^cPjbo`T5N};cpkRUFN^9h>g;B=zsZK`PtV*Or+|)Qf;(0;<+gKl zemQ8fks2Uq@SG1Wk_hza|_o~%JClaYy z9K^j-mvLHoPBUTIadExNtd_UC@VoStIW}v3_M8|o(tWJR34}F(BVl0UYLiI&X;c*p z`?H#)x-NB^X|FBwG|7&mjos3wlRC^nXN!wz0`N=&s!o}u?5OSLxccgrM6?-f!luH6 zDV-vKemU5~!51k^`o-zm@>}#?phuonw`)H$ZYW0};sr#cV1!?x-R;iSDA1UpY(6mJ z6tL#WS~>0H8Gfr%mm_BrnZajdCYtg1^!H8JCMdb$H?aCIQ-#t+{kbW&^5818pLuJO z=7QAkrGN4hEPXACO~gLbcW}X10xwxFS2q4FlG{m|pVk11Cqm}&`t^DEHAy!utTxMP zE3-Rm(Ls2`M9ZAeuN?!anN~?Pp>UH{y#9T;IwMRJY7Z{s3QpKa(WZG{5Eb9RHFB`dV}hbK`U#>)5{6O7K#6 zyZ=gWKZG?Ys7Zw@TEBdR^qH&~ipr;cqsS4mc>VT5?=@2x(9!O^6|bcyEq;N;O#kwQ zip^Y0xkiUujMXU@*woiUle&6YV~RV4m0e6YrBF6xIClm-_yNo`z&!Z0{PDp%IS6hs z^R4vPxyWlSrp1t|B1g-F^tbQKlBcBgU7@aCi}67oYk&Z|I$N{qOV@la^PgfIYm4W9 z6yrFZqrL{4_)~{|ndTc;zKV8$FWO6|$D-uAN)aRbDpyO}jM=!EudM%728GklzW$}{J3+U>9Btr=bU_GFK7f^Sjb03rk@RO1 zm}|zZ{!ysQqKO1IBO+h@ubFcRSY zS5GKEZxOIJ6}FIIV49hJvX#5F(Ipr+#f}B zx#KOJgXq&e+RVH&CRpa})02tQtoQuJpEOG55%8=3b}pqIM1`^pl*;3+O8y{gsUHmc=+FZbyXJS^Fy;{-;=4s-_LYy(a&ixt z8uxiyKV{TeG1~rPIExn@zg-AB;?O|``VD+RyZz_6?|1YXV)MTd9j824AS3!9P3T`V z(sG2##pfhDYyk=7LKTF*@RaL0Lr;&E2fvK`r90+SKGB_R`nzGZR9S5rG#ZR4b6njR z;ZBlp)7dFDx=6*f%;)?MD9N8Yo2r}9_7ETx;dapLV!qLB+Yn^gaj&)ho3e2FE|p%)BTSwbti30 zOGl`p&0#@Qf9g+(+rDGu_QM5NyVE5>KoO3kZgX7f^`@LjUBtn05qo61L|RFGxt4tL zw+7}wkVawAl`n!D<}c58YxTuTh4&ERAr0N#V$93?+dr7>ycUGKt&mySC#JikWVpJT z43C{>l>g_6Bp!oqd~u>s+3`FDIUrO(GO1c#AWCvpt) z{Ku(jJIn{)vb9gBx#i{)AhEvgTI#FGtyb{dVTCWf{CEnrr~Mz{BU)MI4@NI?TB&X&}i!*~@T(@YkUO|!g$P=6JnN`|)ccfwD zob)0Q>=jIziq*{b-jdA<@OB2e@tUY&bgsf-b36IvtqwAHyU$b?8HRsES1I5mZp8`E zs%wBd;sPX&g!%@cHCcE`tij0_o{Hin@R3B*>SF_C440>BMFO#|_pA8N!Jmz~?NE{7 zcHG|FEy%W*Q|GL|9%5#afat-Iw?|iz%1VcOD!gIpDVxcv0qW|lf*RxM$L?ZH5m^Tu zW@F3}j%U=_#e$#!`}Cpkio+!FT?8Bsdh$J>tVB+e8o)pGh`fw4Es=41tB2x zW)8&N<7&O2SLk*=!d1kqe@M=;utq&$b8|?~|7;rt)E(5Eb2dv6@`Fs)PaHC0*}qNl zpr9)Oo6C}ibH(Ojaw!JK+BL(S9VloAo0mh+F|-_X#E{plUb}vwJ<(TTb%~P6cUYei(?V8k z94#HxVAcPaH%(ZpUQR&naH~tJ={$SrWaM=h_RlQay61{Ma!75xoeFM^5`7dZ;a#Zk z%n!m}H%(0<#gw6&Mg)oUOO#?R4e}ZsW8a6nt2fm9eCgwLKH%9dn_pAt z0SY8Uz&vifjUMCWc>@4Vg&m9b00%5oaNo9!t!Fo(=|Vdc@Zx5R3td9whR&Il40TEF zUnh_Y=s9ei-Wo@&wjZY^NESilvcmV~`dYIhcF&$KZfifB&q3SH^hzbP=}=Hj$1MzX zJj;>qhbs)31Ih`4+qs|P9w?JwpPMOwOe5_hHo9s~Yun=a6u2WF+&}IDjMG7lg&M8% zn`eLgv+3C1{@H!pZ~yG~z0v&ODr3GM1JO=hs_Kz>SD#WG{b5}-myO2K$|be5oEbav zii?Y}AQai}4>2q6%pdYJ>YrMut0f4mxomF3d~t6Ytvo;bOse0#+cBH3^fSex?I&QW zmMh$kkrj6j9I>h)n@_GvpO|HVyWUgQY*Kad`}|h+h>ejzoj=?2{Oz_T`s20+y!DJ1BgA!^2fAx}c+J8DhwTeoREZjF_pPYj#kgd>uam?^1^|d+`vQo z^o&Z-*w|xUe*V@NS$T(d8ajUhN75$NrD+X5GfZwXnTC0-w=%WNT&#bQBd?^Pp|K3W zg`3JASIywU>z5jV6&A#BE|{}YENOp~C#6eIx~vh{%y^f?nMaA76`i9Rh|O`Xvmyp7 zJN^_(1U(hect#y4Q@lY|;DUtY&904uoR5Z2b??bB?hX{N;cHIWiP1GdrmTa_)c&xUR!OS;>$bq^IiQXnR!3NM@n z{E{trf%wQt5PV4jvMj4jAtx?35`}@`3>exfw8nvW`L*O`;S%18<}mhIE56Gtr>ai; zbP-)>2Ta$40M3!G5i_TC+sq#P45~tiaE$M*uUSfwA3>C(Hefj%UVjmz0=r#^i)od= z6eAJf3^~+$8OSf;j%0rOy@4k#55$MGHAx7$W&L84C+o!N>ER5DG+R?E~*!WC!YLSp)D=egv@5n*dj=?=W-b9+uPV zyAVInBja!NrhMTN6dksNk3IsqbQdYz7hhV|)7>jbhQM+JR3;1AccnrjtIBimFr2hRCQ|Ko!Xly0d? zN|vT7s@5n|U}m5D7IYknR2E=gQD*8u zO)bqrd!`xeE|2~|6R`;v<@fw5)}P*&KwNrF#V-3;jSHkf3LG$ou4}dP8J^^_?U;X~ zlYMqGg4QghZkrsA(9?+X4K#@heGrrsC_}=TTS0+L)7TEy14~EW$I}szZjZGcKnB-{ zC`_h>5FrEm7()S&zXYJ&v0{RJ0>MnS@{HzY!>tP0fb|J{c!-vXv>YCqG$u&yf3hap=j($lJ}~ zW3*Ut&b04NWheXRPGM1}@yEu0c$^?%8q%w|@_*1qZ4gcy$46ePkSR~fj!H{U*Zgbp zL6JLoM(Yn6iRW=R$QaI1kYo1QK}<)Jz`tWUIAX0S)-L%0tnTaK$$l0afk_4F*6?Fu zXo(FNw|xDZ$VuqY%knH`>;Q8lVEF2b;ZV5gwrezYE*_jD=l0@yNu=LA;GsMJN*A0V z{h=Yo50OP6p(FkOMMB5lN6cMX;L!OGoa}xb?mvRE5h|`N-8_7t@$G?0Df_ZK`wNlX zYrJeAn5gmza#L)#2*s)M&pC8V54RK4(llTS6ByU|Ddz*B0h#HYNh^o6WDo_ ze8lVrRi01Z(~XuS>RXpP4=6gRkKS&Q;?l=8M6p38cuZFQ@*4_8QYbUlOE1k}>Xt$D z6OZWXp4gYLtlv?UVA}BYvCIfCMvwmp`Y&#r`*+-+b?b}SKk z9X9d8mMwC*jOU)n$K=a=F}F4o%znsv_vBq3B_DnFa56_Mu|HmxFOG-sQ45fMXjN6) z)`-DZD2VMd8HO!9$5IPq;ct1Z--ASR75Oa^q@1ww6CaQQgx;qfdZbGcXYfh`ClZ}n>hO?he zo?$$xiwUJ-SM!4`TV6D5%u6k4T0f9%swg*A&pkO@Zg3hvhLLF)z6BU0L~!aC$@78Juj#a;kWil^PW!|JK=KIh1&-b3`8H;j{h(- zQzJ(dWDaZ$6Cl&z%rVGMMDO9QSN5R;+-}S6{AV8eCRxm-rwf>HpS01v;h059gLZ4$ zL&$zz@YgEYiOXd_Q@^%wU8<#b?{aR}dFnQFFlVx;|G0sVO>F1B%b5(>V`TW06jny7vq53{#LC$3W>#XpQTf|K)*vb zt<<|g(iIt=4}GvwIkx`P=9k53{JU>N1%@r2sFt-;yrHG7xXZ;GTwIA=Odht3 z^`(N3^XP}W7l7mG!T@QbuGCdSknSbw!ZsV8OuhpMD6UT=(%EyY?4wg>pqr5ji|8yT z&FN1Sj%Z2Cj?$5qMt(sPrD!V8%5hy%xN_i=6oIx^u(@!A2TnA!N+|hTR1s=I4+%QK z%lQi48UbdBhl|}_-8)?>+%GPBl@|Nn@1?fprJkJ9_4AxDHw171JbJEZk;YZ1@B{d* ztiCttom)nt*!J*%6w-`3d!v<)KWy#1uEeFe>KFwy7=|^M2-JPE3uWfU11AT*3X`fK zVp>*nTlJT(DRY7gf4eIbO71_Mh|>u^UHoA%7C5*NrS=P`nQ^=_=bpJYFXpwVBd!Uy`*hJ!RaIrefsmoL3++9|ApK8@5Cwq z4E9Fk+>p+=G?=&$l->VqO9?$2`q)?7iNNK&ZVVs!j>zJch|db#D1 zGGpY<$(P-Tgcn+;gZpli#l%lIQ1vW=P7i?>$*ZGu+&5eB=*s0)rsx4+l5z48@jr^- z?6RoY?@NV9SSkF3&MuLI(}*c=aly6bJoBE`&<`&^?%&H&LPuwxYvFV zAVIi_WCGxI?D?5Mh91+$klU2zw012IYJfNPf2ct~vkHn3Ib!EGg#jarhC(PC5c|U9 zm{RjM3-Ej-VsqGmf-%;LIY7!C4*kojN%ulR((&Zq?JI;WcgjxfPil)8+hg_g^wLj= zQE7twyC0E_)1}(_)}q_B)9LJUUr9*L;BFBA7rV|Kwr++=iGzQDqM+Q^*&M}}8}t9k zr8?t*<(aS~VKIBbh>bx#@;z)`F`cWn+A1I;{VHZ%>NB@j@AnCnhYlhe1ST){{z{v9s0L7M=?8p%6bs5 zw*Sjc{JZ}6gY0B!$iF&@K7*SDj1D9d3|**6IEjHyPlvuE&%hY|J05dUy0p=<1k$1U!>e@OZ8! zd$OnlOZSIc!J-Z$XC|{oLBH#D#XK=X71=GPTs|}9_6wi!S%xHCi(OiZ^$;I~Un7$2 zo8X#|x-6f^K+cbY-l3KuV{(=IdN$9=tnO zXqxOqO0@vUBU{kJR|cH=zo4J={T+9fCjR1X1o=e_z_*xBXWh>GpU9Z`MpS@Mmd)fY z2S6r$j_s&Fass($LK{lvj%)<0_XF;6+~ZQ9xhPF9i%JzaPl#P=gW7R zdyMvV_oW7N>#{!CmIY5t z5z+M^tRvZ+N`qxP%`L_EiFM9xO*&aM66K>I*vF)&M*xay1HKeE;x+C=%e7IHSUF}A z-!QDeJnog(t*C%@`AtsNo{+-ALTb#+OP1UhEW5P;$yB(?Zx=NfsxLSft2OEYDgVrJy%aSB|F;aAANL6VApAbc_Da|o1kb2wh ze0P$ta=l5Oz=zKEq}jeCw54t?3y0qZKH0xl%5me}zRulV_qeyYI6okswZ2uee`S!a zgd45Vlur8<8)zVA5TF~apP$y^4?@caXan{XZh5rMs1Xj~q63b&8a7cs%=aJdXR#lLn}Uqz?9Om+>mCbQ?^hJ| z!Alt_UL_@spRIBVeI+{IcB}bT#E8K%sx5k#H!eY;hG9{x*`a;+1PenXYwy3_{#C>1 zHIFL2-j$B7VTv2BCC9|AmNnvIS*Dk*TnElhJ9NHaZEz!mjSku~j@t*J>OB`)iP+3( zZ{qF{jB8?~fQU3_;_0pvg;n;J3`+AgP%SxwOiT4o9j)mQPE@Ps(EYb zHkPVgnxs!nR$l1@2s)ix6xFYSZ0i~8`Cl6#$`wQYN_lj8p1^0r;lp{%GLcgneTp1o zjz5NTeA8H>226ZP-8&hr{H3p0OjJ9hlnJI~)!y(~8LPeh;-_NSazZ*^d-4TCKQ}J@ z0RlG<*abLZK)pLb2p^i_zxjZLHyv9r5uyV?KIzAaEj}k+v)_~4WmP!jL>MWd5+pJ1 z8^5Do)HP-IvoBV+zr=o9W6MCS!tpatA)5yvhsamjxo8&S65I(|@5k4K+TY+7NoicI z5}kbW-z9U^>RHtshF+A{EU6&c`L#7Yc0EjnZf!9YMmXnn06aQNe(QQ6Y9Yr*`mS;F|ofQ2%(@P!5lV?ZW5vryx+mR>7*GHRkq^*h>)=lCj)^WHPH|EW15 zL&aX#yM2NEe(Fe>rKYLr$3x=F9|Q`D1L@q6$&4ycf?P1LVi2@qmD=iB5e04Vba4B> z$hlHsRM6Z5a0xpD4lj4q!PR7g7Kt@Ap#qDhe@#v7xq{U={g9IPu?8`VzyCLWP7H>n zl%UGGlvf)edZRcH0j4KugzW8USkKbgZ89pf7#_IDtOS)fVy)#QMMDAL1DBcYSuxYJ zF%U4hBRE6@&}|3$*D38fJGcG%avZeKyY*qvR^h0 zTjiwi<9NHUe#G<@tkk@$!(EHB@%B^wy6H_iv$Gk`6yA^?)rA=^k@q=SLbTtL0Vl9g zQPOCX-L5?{^9*81xHW;WM%w}t@hndKGtKd;e6iT3YO~~LhqvMaDB^*c8d>h zW>APNUi@~ALbF#H2koHW&Mi~V)wb3>3xD^^;+?%QLV8q~DsnvkQax`fTj{Sr`QdlS zarw?_{GZRH7}zmUU&6bmLOyZ~zJ~+a=UlG+b+(9MF$i6_-^X>q#I5&{E8=rPx9kw7 z(z1eOka-p6A#bH+pEx!9MC7jxTPA?RMcP!E`#F1-%Q|LeWgcYjUW=Xx-z76Qt7Q1? zf-m_#((q+>)4Gzl_r`|4_cqOGiu4|O`2BUXca3TqN%1ue#q`EDTz$)4O`_T%qKf$e z*P*gMBSId_VG=xns(pIJCVnCXffU~vAzZ}0$T)fT$@?(-D@XP2QpK9`79NZj7b@rt zbF%l=Yv&pv{RGAA`}M~2NA?+2$mB`}i?~t& z{pTYpD=qKL6Sfx2x61A1x@gi7gMvn|kzUT|AE>}&W4 z^$Wu*zlE*V{lptdvZ`<)mIvppy3cj|=FMgibIze0nJXD(^qFZc%nE`2;Kk1L$Ag2N zm6f}{9u_Cq({Q1^HP(AxoH#i|L&+IdLf+i>0!-B}=Q6tNlT}}5DfUV&XSwWY5;JpI zV~$Xvib>pcFs>+%#L^<@N8~sZKZEo9`wNySKA#_$>2|)k`r%i51I%wgYRmwC`e|Zp ztn2p28G>8p>*+ph)FT5-l+k~1tbL`${NMY`e-(MqdSml4gMzlvR8(pQ{;daW3usr< zg&dyYGf?C_k)#X)(4m`em}cMIUWzlubU|6_Gw8!p5K^rmiixckmNU;JKHoU5l*ux` zfL>l7sl)AFxdhnuh4uAEW4!3|Lfzcih)<@UhTQWnNo2?F)}0)z>_B3S&K7p%Hsk-t zycS&N&$qfaikBJBWuHIa=zVtJtXvosnzZkDP{7Lkuut{oTMB*dU*&D#-6mz$J<*w7 zbHAJdB{+J+K{vuIcwg+zdb&VHE5+c`0wfEt3UB>+=IczLl6f|B#25Ir!{zz=eRP8F zFTb;ZONKNYD4bTX?A3as7XL>9NSP|NZ&;FKH92oT{rvZnx&B{08T?rXUYD5)J#eVF z6qR(vckJe$!4(&JuxqVIYv!a_DDxVmG4=ELkKUJ=)Bo|ywEvnfNZul9byuCc|IGA1 zHsHAh7b`GX|0Vd9EW#`H;(cmOVm5_Ir@+U@AI#U~vj#s_YciQv!f#lL%e(<-6x)xu`UzQ6f!e((k=$j-XeVqKtU+k@E>F z>t~|F1`iY|LZbXuJ3i$$x3#vmiObg+eA5M^aL-?AilmMKGPD{*xhw{;<&J3 zFmbZF=@T_)I$vMw-GixfTJv%HuHiAuqzK~;#lkvawo--RbDSBeAU@{hHwiDiq@gGa z4;g~bncHBTV@d%~D}}3Lc=*@h>60=HP+Kc}E7mO(Vx`BAFl|KA+0$rGgz#;Al1;RA6|967UuqND8B9QAZ; zRO3gGj)00L@W?8_D;3#C{E*@h@;8=Xy{D9qO3mlakviFb!o|lYJQ~CyLA9Qa+$k7=*avmL=ia#6@!~6Z`UbJcU;M_9OL+`yjX5$n_+S!f3{q-}sjF2(#Q2GR zN$KvOUviYMb(oPasxFtWN2vU;NakFmEgQ~BSfr#w{cEQO*~BQyYg}FCFbCYqHL_K7r}p35X3+9 zLbewhB(HIK@dt0|210=20OSrmg;iI}*f{0ByyB1|plPHBFy+ks__4YDUTUu@mzuV= z9CXCE>(9dyaSOtjB}X3_7(nB0`0{!TXD{G5dHMNwq9^!kUl%;c*ERCUj5~B2>uEKQ z#g#Z|nYq!p|CJA&chUO7JwF{_XmkNf;x3EiJ8w_vFFyMq$LY^b@y&CSRj<*avXZ+y z_DuDvfLT-nu80t)PnSyBm?2Wu3v!Ee%j@p4$9H(1H4l9K*`{D!** zx1#d;vY{5g-0=rhaz~;q+EZk7LlVyaLgV2;%E=X);=1GAU)6%<&bkJd9>stsZXbhv z-KCCZbB#_e0}dE&x4#b@SU3_rmJ6W?J~H#EzF$fXm#W9$K@ppWfgH$TdNR4!c9y@_ zY@E61p+q*ToD0kgus*4w(a$&EUS>BC4MI1K<;#$}F3G^)vO{j?cK3C*(>K)ILAv1% z0x6dsXPaC887?v=PlG0{((2__=WlS##l`ha<~xZ?^6GfUIgQ^;+o%R*2m90>!^n_@ zMD|CaV^OTMO9QZ?GiWHW(?F*)`|N=ikm)pIH2-M0??m%`f24^Lg zJ9U<;A&143LOcI)4Z>B%NYU?_3E$7y?Oh`6K#N`!k$Fa}T2Hd10kVgWa$-+qR~N1U zPvQqzFnW_cN3aX;cHvJ#K4mmpCAu&NHy86ghu39eOJla2_V z2Kdb~*+g_%*ku{lduj_F*ZYTC`!f0r#h#DV{CvKSkJvu?kt^P21KOVv8BLeRuH@dkR)x=2Gf~v%QSDOie7;hfa#o z3!BQyF0vL4Ia}PumE9MNa82*h ztyxFbm&+H9Ay7P(f+m$?O^7^8CUk&BWeK~lP91)4cMwEDP+Hu}jCjzT{3b2l92a#< zK=Jk0n>4O2EpHR|Tep7CWzZz2wsMcT|89q>At>B?x*7x4(5aB&FaTZo*M1#QK10K> zysWOqSnk8pu_m@p;W)d+9V2^*k;PuwWqFz&Ll$*4wlUeCIxOm5C3SITXLXq8FSpQ& zwyI1JqW<7DWzy>*YOQbZp_jQN;p-7#Tr%X9wYNn%V%SpcZW#J1DgT{4Eqz#>5o!o? zV1$~hbD`edTIi{K2pLR>5FX--B(>H!YpcSJBYCu1(#2lGb6`jDh-v4>dDpePs>eRN zsgX=Rt}>?ixbiLC-_&BG^E##H*5<6d)lhRX%xl?g;$7>^o^@KcR{oT?im@J`P2ZQT zi9Rt^?W9`HqI^0>XDJ0ngtxjLkQ95Nv&oM(Qk+Guu)PUE>~buR>|8gg>`Yc2Bq%np zo5C4ta}G5@eBf2xadC0M z`egB3l6V$?Td@CpH$I-e#%quFmZ0E6bxy69IeB?+uyWU(ot+3g;60xCP+A|WqU1u3({W#DP#}|P;P`>q#wejy+Gg@BUB{fkFB(@d1(7M z*e9=;PC_;u&!egctQizE;@3nCU19zq2z9=Gwc}Ng9CuPWrN{Gfn@FMoYfJ}3L=D;n zY`)bO!rRWPV{zEsD4a!_=5!SlyPZM4|RrHTeJE=BgfR=`DTQ;yj*Y- z!p#;X!W+_yR?}*04K1++h7<&`!BS6quxxi&A6?PL>`W8K@$O>Y;lYSsgaK_%-p>g63UQfEwaM%$|_6ZW!c325-qVg zNO@UWOjP0p;nIbXiY}^!G8>zCcjDJ~Zcg|0z1G61CDXaCLD*zh?T4quCxr6IT||{U z!3M7KlrFShCM3P6R;q~Yb76mZBRJjQF1mts|3BK_Xz0-3It72-zSZ$sfPDX|0qQD^ zs~rQdiCU1sK&@QEWRc09;w2E1sX>@vZ0tmVl zXqC4i4|>gcstEy+e=HCmlLTRN9LbHYf9QFP>OQT2=AQ)2W;-xr_|WQrK8sx0IjQZmlyKVv-5rWsOq_Fo#MrP zAfyI+5t7lrJB+*Z7*$G?v1TidFt^77bkQS8yY-5T1bQ&+y_{soN-@cOa0XKS3D#p|qudVUDp9c29KsGjwpjUXy0O2*y-kXKf z-MZ>lP%T75^6*>}v)YXi`(b8R(S)#PO<|qU_U=23MI19%3mk6~pBmaFUwYw&*_<15 z)ISmDGyemXX2>BRpYrx~8}fG1!H<(xZF%yzY?+>Wj-) zkcPUQ8OFS9CVRX}@0Bg88~+$Soj2^^O&GskFh-Ys4n4863&y}9&V!j1NJ$?Bxv)O! z8|1EykxA+02O2?arJXL@&_mB$3fTVZejliastJ?OPPA{(j#J^n?LUS=OSvS@;rLb+ zF=Mij*XgpkY*lC5-&v4jE}amYw7GgyVz~kA5N|H?Dy(8oW#wlOUfyAW@A`FNq&yJ& zrI7KajAg83I_#qg>ODwHL@h%8UTzRl^6JO34uWFK%sOApG?nhL?RkS>AW_(A=trLG zwybP}Z-%(i&jR92~;?sc6 zn)&+m>vyGcLQ34w!d>ky%P%TY730pZ4+8QxFE?IKe#`#37I1lh{F~}a+A=pYamN&- zeUC)2?B-9qc#G>~+I~Pz?t~tKa&L>Cfgv|Hm*^f{*8kXBUytyHPJc#9hLVjv%exG1Z)#D8JhNKJt zE8gKNxT>*2_!`uDY{ncBr2uT0H%Bs2wf|op4qA9&Ta*koDyG6_7@HLNl~SW_*YbaE zx!l~xk$hB&DzH5_x~(y9beBPm$3CGEUzr9YA^}PFbtJR2@AZ>$==TTDD9B?^;8S2y zK$5V1^21#Wr0FDf1AI!^=`s9CFZ%s1_C4hxFF6sVqbPzU+&xAXDw-?o?%YFhaS_N`LdNkZ-$?!FFo9KXT8EfPj9CKao@&h|b z$fHE6j*mx}#$Z8)GlsaU$8IqMG81a7Jn$y!&!KRncxdlP)o_^HLT4g*ciar$zH*fD z6QL@macyKhtmh*yi6o$E*FbQaQV>7yJuDNvxcM5_l)9LFw|MHc5AUaScXHy40;G1a z0>04l)>8%wjI19k@k2bXN2%Z5KRCxWWyBHj8ds-@Svb`pJNEUZNJ1)(OyoxKHGB(= zr5OIRC*=518ckNHXafGF?Pz|k{s3GI)eV~6a+&+wELGR26!j5orm7507DTHxaiGcwcvp_1pW|dKh2ef{DkQP0dDqHBE2lD}(F9Tey!(}# zU*<>^+w35N$56M}nJ0F9_06c9x{M9Vh49|qrkn$*giQ+2HtdKMv)&Cz4ayLaH3HCnZ18L(I?i-$+8^f9E zo41Lr5Vg;cC>@rmCxN(et#;fOKmY6`uXHP;iEFVFKlgdKN5$+%fr~|PE$&P19YI=z z+r4BWbRl9&-)FqJ?NfXfd2N2!nst3wOY>@f7IEzg`I_hPA9^Avje=Xr+q&0qdgbhI*j_hGD{lQ5Qv0_1AQ6J)AkB8=&Jo>ppb02dSDQ_8wc2E%c=H zRGitbhFt`zwS*jam731AyO_rThPr{bzDCt7x2Y%cjU?)(*9^v_A3}WsNYG+pIp1IR ztMqu|xs2UinB4k$>>PH04YpgI#9~4!hp-0B%WtWC4kj}XC#|&$d+M)VMJ~1!Z%-vP ziIa3BSP7&F(%z?FbZ0XB{nD*LA;-v6do!X)WSWc>YR37ChEEeXj|mbpS~x%C(al{j z*J60ZBlN?IM$aAVcO|PMF&zBzFTTLIbsGK!L29#tJ{-`o(`AUZ4o}Y zk!o_ytot9qymtTqsjrKI#*VMzU+7%RU2hDje{^rju7Nv^K#BX@*mDoL{A9I45>21l@XK0jr-Ff+x2Tcs@~!}t{#@U-z}<)QA0m*RLidK z*8lwVZaz1$l%y%;MWIpsJs3q?7`RnmoL@}fmt=5JLO1cWsQWOcsZ{7F4bx2F8*wN; zEZcp(bC`#SU#MxRjLa9)Y1|JP+vj3gL}I%E#Qv&0lG!PYW>lAddr=mPCiVW^!U zAVkj9h1jA*eeHInArF#XvRaQfp?9o2MxdTpZuhbJt@~yRv1j?{IR!s{`E_~Y0%oY@ zpu}I9obhuZR>d z(C)tS^*$XDqtDn^lHwH+0=Q_z8G#{$ivPG)5?+-CdnN8Jvb2>FkC7^f0% z7w7SJgWnOC?rv?Ib>6w8@yY;*ts7GxE(LI}U)+AH+vA-Jw(In*vTQ-w62we1eI;64 z$ohA;ubz-AgtD`4hh!N?WFx%JRrH<-l`Uwzg6MtnzRc_~vOeSPi5+t0V1UR!vDx{J z;~qc@R$!P^?)pbRUdqSQj$j;I&!0kNP!8;{c*x9rcfI_DP_Od{YXxHcWboyK6X!Rc z!{Da$-I>X=tsiQKLE76fMU;SMeNN`r^^ZI*QCSU!TnQf07whD0h zHZ=B+=CMI)Sy}8W>0-Jf4k*M?^aHZq0Ybz19C^3cG*9bdy!}QIVVNFs=We~wRbIIr zEmOjEPo|>?9>3=l2D}`GWY)H}RQ|eEKQxepm$?7;P{AocRkE}*Q3a3nQ?*LIrHV?Zh+Ukt z0;pQB%AZyprXKT*ChWLme`97^fGtH=&DfalUKAY!2fJU8g?KnDiX8`?2(=P%s6N)!s9(xRUwGWzpofR_?rkF^*Dn#tc zgsh~7v>_^{tyN+2-RpjpblW1PjgE7~K%bQV@lCS`8vX%Tq@OPJXJS*!z*e9C&qRF! zz&m%bj&88s_QQ3!qxl8XQEm^Y!eN}-yDm3uM0D&6a6r4gVAJ6*-;#{K{@I^d7!5mW zIsok0&`RRc)D{|HbO4Sn2_8ztL*@ANS>6Du;wOIZz)Qo>2L4iMh|#P5DhxzR%DyDo zSr?QyBtI(MebIm|9#VXE>9E6!Pt{=Dj@*}A!*ur~Nq9s7j)7e&(}gG8@07D%^scD5 zG*Ao7Uf$Bqa;(jMnPm?R1`Sh<44%$exjQ^;rz$bP3oG~lK#V#-9C9}EJHy63#|bNr z>r=Ay!gh&@Q461(e5!6;HV_-@pW<)a`Du{G>rgK7HWaO~pCNl+%qMB0z`@7T@){4- z$X4^}vv2u5(9;+qvv0Rc^XZo_5-kzmn!$X_)y#flAz3L1wa}#+QfwCAb67s#&|H5g z1LG}PzHqGf8FUDDnUBu@ZrqTxwrMs{@CBBaz;xypzDQ_0&mu*oUr!#|^WsUjKHco` zhMa_IIZ@1-x7^Zb&Sg3ZuP7DISebC~Qm;caf4mWpOU+UY@dMf7ZSCOmj-T&IQN_+u zNMrz`C_&u1-Qg_misneme|0Zle6920pYu1+TtAM4cP1wUhmQ8Km5~|*m|1;~x(XDv zFKLFC8t0;ShwLuhk08E6{o4>v(hik=*VWZ`q!rS- zu5vwhI));GC%!YW2ZUpCG}dmiU7GcQFH(xUQX4*rEN?YpsyHhWntB||QVh-?Jr)5+ zHmifSkyn+(yCQ6LA*m|_wYKv4&y^Hkwit1h(jL+`b-7oNuy)Rb{+wtp+^w(2^P7lK zZm`1>KJ|FvR~5hhvzeK2z3^q>1@y$p4TWBa;Ek~TMi`Jp*f1FL8qMb9q<1^ll@H30 zVJy&s0Awf>f` z;;_2r~kjAl-)bhc|EM-`|wkqF7W=>LQqC)VYANObLTZKYC=K(zbzHV}9Pz4xEj@-U{l zA|;Uz2_}}Q(4|U^@H4>zz%qLx*G+^Yrf}q3$z8o4bD^0aXik)1f*3_6sILLjc_q$# zg&L$Gg}9YEaZ_Oc-FfaaCaU-Kx6Tuw=SQw924gq0>y5P8Riid0JgN>VckJ#KA8~53$Hvw+BP%PbpJIx>bKXTYB%UfVf;cA{Ejfs0C4RRNWbEj|5AVc9rr!VIT3* zp9t_S2Y|!IJj{%ECM_~ry&tV*xQ%y>t#-ujO@G_Rf5{FGSIqCz|4nvy>!+s1aV{1> z4&JMgEergi`C+_>%D&;t7Wa zYeZdG7tXbYL%T=%mzg+HD{vn)70SB}(FZN-AF>nEmcjp%`2YfGLn|ph@cIwkfuQ;? zxx3bN;y9*r(myxhO%XbTJ#L2>=Tg3SR`%N(C+9Zf*6c9AXjtL#Uvh0@ocI zT0;+Jnp%I>C8%!P1FnQ+uLo`ytb|ViuY8320`Vh_CDim`EWL{#JcY+0o>Yuq!pj)-{NpH0lPIS!f8 z@%WLHRO`7&>f$ystFa|aIli4gZZMaL1X{^2POBzZ|3dH`zstlI$-Mey*ps9rE)Zwr zB1^zp`LRAG~3P~9Maz~6yPMkNuv{&E8Zo5?WQjq#2rl_6=a4xFiypb^Qmsh)Nu&3KZ6tKV8E zu2vJ=HhI;JD5W+X7lO zeqBGP@R-j2TCptrRjar8!^92$jPCLhyOhO{*aeg!UQ@+Ed;n5BQ-#S@muYgyv(`Tf z{K2SQhnXgJ4pzeb$FJTe+vN!Jo$H{chol&Y5mJBn1SHnwPY2koA z1g*|=2;>mlRj3!{)41=5JR21p#YQH=6y^vJQ4oV*$tuvt<^tp*2>CJp415gBi6H~> z4xC0hMA{4h6!Fywn(Q90NhsjHlZeNf1HGoCoHuRx{K%$alPLcA07>$|2B!t`o9-#z zo59ErzjgT5I+4bt-VoPqAoGJ(7{m9didDvZN+Fc~>WPq5Z|YbNz!#CoQ;^D3(-KK@ zCu}UQ&4pyZ`z^QXOY41bAyDe0K%0LzXT(LcgScbE;vf8!g0?+}?U-VLUQC)`BNe3K zj^KJXsJdR*w}-qDTXJkM(F<+9qamU1cl1QPxTEf6yQIV|6D?FFZg5j_IbMDr5JTP2 zsL1?nAgVhR!)VfId#7H-kq^Du@VL0M@Z}FhSNt^ciK_*%_V!JoI^5^P(da4&=}869 zl2DALKB9v$7Zar(`(i%p7*HX(K}i@eg#@jHqJ2$cd62-!o{it1Xz%8E&C#{{IGL)_ zPREOfi}s%1LsQij(|Ui0(%fzpD*}UOMw5*%jO(aGqB<>re`7v*0wjj3hv+dM#pw{4 z^9KQdwixFyZW8R?#lW%*r}qR78ua9U1AZHoGU-ShOH>DDHRIK}4;4oPExR=a*} z>nhC5Shsl9b15+m>`r+bYYfIjkLoMe+ValRlAzhebDX6rdXg*HK77j76(1>x8fRH+ zEc-c{dBoOgSMy}~thjjUQq8@fhm+VeP;gz&1@DS-lV)7~3hVbD1ey&mjl@r@rZFxJ z#l(+xI1+VaEYlOY8Zh#6I;3aWgfxsLN<&>1@dUi9(?T-j-Pe%$jAuhvwk)*7QJdaZ zP*}$I!Ngv}HTka&SJQE94m*ucqNG4bXU4B6GBiJL5$T_ZzLKzItraT=_SwcVvtnmO zUHbvJLn({8ubYVZ95|zwmJ>~`pq>Rw)X=xH`_%imi1vK!WldrvRk3D$XUw`Omyv%w z!>bE_vTX2;$98br7B{J)U0Cg!bjs!=ooCpA#527U@!SB#L@5)BrH?gY7A4Jw=K(9>i|Y&)`;dlKK(zE31RK7v{WH2=(Ua%`kcT%oBqC32}}Q!3rPd zdX|G68}P+^GeYk`;`S7?;LMW^zZ~-Xuu(?=4`3uce#&huaZenknthF$+4-BB+AdwS zZgDp6=JF@J-Q#Q6&jX9EHF*zHG@~%<<;)&1aNXg~LVQ z!t|LJn#LA+{_ZC9dZ%Y3yAwPj@!%RE>cWi|YJob3=w*xOvA29wBig7f9;Z3$jh|Yk zF-3V#I|~Y?_Zg|QV$a;4agIVtUfLpbuwApNd&H`Ky;Ql0gvUu+IEl2zdq|vq5@c`( zSorGKlF)rKiZq4W><&_TP06VwP0gp*d7Tw|zvEsZL*WHc&+7~`jqe-;Zp39IBd|4S zMko1czcODRSmHb$N#_l?+!hs(zY```cji0-O%xQ*r!>qsS#gjxD<4^kKu6A!>=tw5 zRB7~>{OmcgYf1(OV8Z6zgG@AUWa+Q}$%yFTaTu@j5a>!0kJTxBq*P|n_2ymRDusek z4|B!K&$y;G^=YHx`3vx6xwcymV!jHI$?$8>T~^2Re!TJi7hWmlGUCEmkk=kDnh&Hh z$*6vH!?WbKpO64j2pe>N9DBCVL|Z|BR}KmEO-pgRNSfkbkRd!wi}(+qatXjpWfc{b zp9(I8#enhSU>|qZfF>jg+8wm?FK^4IhRI1;53 z`nP7ZV{hWKYIZ!O3Hu%ckTo_97O3?P&3>fN zdGvfaIPg@*1sLLH%ddYKnwQM??z$>*Vi}rsYyx=pXCPx4UU$s7sGtB`hj_2fxhV>> z{W~R`Zz{xF|NOFh^kh9yn(A15b>VlZGJ^TV@7U^_k&-J?bzP}tpTX*05H?s!ALm*T z+KS&&-hje(`AdeJwHIG}y#B3OQ-x=?#^gP!;hWrUIa?hG04Rqg!t}d>m+QDw7yQS) zObAn)+I~4y!bD4e|0tRJIkadrzrq%{i&G5!(wT8I?&mxX49n}maApgqcq>F=8|sOLL79ek`*kl}R(@9W)(i%>m7Z*x+u5d! zb3cECgh83fD8H{v3onx*bKLu)hZF6_ix~z|iFa;;S=sEh?lRzt#3NG&zhmh;7Xlsk zAy`u&xf6BEc$O!-RA zqiy_olj^d^!#8=_H^&DDqCfddhOyV@r{;ILOZzCMDD5vWK?iBAUCfGO2^J_Nxh zz*ExlBi7dMuYIpKHEHz5IEK&!ywVH(z*ueWmU#}%pVt}tG9~tMwsy{sug*HP7bj-g zGk3@IIh+@B_HqQdO~Y~PI^m+%KZFomEk7MBsWP@$;K$|y6zU5Ey(0Dmq2a3gm^UfyyvB^nRe^)O z3?p+PG2s{BGe;-q@ZGafm?3d-ImSirHN34I47MyH@1>>>wInnPeAo9d?5EdZX@H3? z;k&`;=f}xo3oRRH-SwMgx zxz6U=zTB*&XccfRQNe9G3a(1>oDs^$k`66`9Zll?-QsDV!m6A~LPEdMzBK$yKdXGl z_wtsPV^JMg+)jAmGV2+2w~Esj3FVXA3Ll~g5)2WRZcN`u{0SyxclpOuOib$Wkk%=N z(+^y6*E*wf#S9a`*4kWv5iL2E{VmJfw< ztTY59dR6{CW?-PR9fAANU4icvnr6z?obVfr7`Ek&viEhtlZ-`b%y#ALBTv}j zQsb{KFrpn()2gfW1T@Wz8Jm*p$)c_!OjI=tTl)#nuj#IvI3T=anr$1#g-|42c25`% z^foLK3Sgv46RO4%YZA^HT@sG#`b35HMYBqPVbTq@YbWd8?xMK?3#ct(;bdjsm7hGz zSkJSuBT%LGVtv3OvnqVNz^ht z;e5fTFyr6SZPPPnCBY{?C%NsOYyI=r)4;FzK7XHEZgI9bvCBYE`Q}>z7D)Asf1Qnw zGN4yu+Mj7$e6A=@MT>`4A1p)bHQB|bdJ!oF~*XK zJ>guFXk8{kk#Ot&hfPwv zIW5{n1!T>%2T5Y;K0cBr!#{-LXaoHgB*!hg6O~$Dlcj^x_m9q3xMwtxhl_3DEZLz9 z!f#qHL+ZyTQB+?MV-Py?{WQDezkHJ1ZM>>G-1wk`gk-;$pd`pGE#=o0YASpmr}m+o z>iI?{1!`cEcQ*Y!M5J*$UD3Qq8=Ckw$|8F?jfJ%|;ZGTdk0MlOiofrB{*Yr!FiR=# z`0J7XKVnRN(Ev;d%Pq~QnXFGWV+|8UqWIa#u9@1~*$I7<;ozVOf}}p?*eEPeQ;1_S zJSM}z{D0!U6;l>b$19MB@xjO!V=m^t&iWny9M;LuZNek)uQ4Y%(;H>g3_SdDZQ$Y9 zPt+;(NNl~mfjnbqxUs#_#-a&~qR#}kn^R>TfqX`sWT%CMuNP8d_Fh@Q3_9Cw(npw= z2a9^?Bd&qYrPiA4u1kT>g@6z}_cbH9$+DG|AxI<)E_!}iF+KZ zR6(-;$YVT7ll`x})oj9AXG-slIc=XDuCe7YEaY)K*TUCt@`dmAXtmR|TS7t_nwpw} z<=B$y-TU|Ia&q|Ey1JSGO?FhXiH}paHygp19D2e`=!pA^O8hCJ@G^{cy8gys zuO@W{mjzy&gT~ycq?k^ZC1V6_xad7&a{f!{e3bPJURCJ$qf)=7yD674W6)EX-;fetmd3|bN z&m>2wlpk8QaM;$s*fCZ#3RgMHlbjR39iI-y-*NyKd!?6zf?G8A@r*8 zg26gPMk+vA&xT%G6C56%LfUP)^ODA2Ob0KlRbH*z8qhw3)M0qF$>jz}&IY)c8stKe z+A!#|K7{}ym^-u5CQUfTJ!U=^OnOFf4`z#a&=B0oMNHL5h2!;90T-Ql%W;l8-6S^B z1!Nmo((P!;lfVy$^)F6OX!;-{eQ#~jzE9&}gSY5L$X$8YiR#zG>s|xD1>IFdjK}h( zba0KW&5Xg{6R5clkBqYN6J~H+$FD~jdc1u#ZZBXYbO5%A$su<*4)mDXQ!CAQY{ooD9NIUMN^?a^)`q9 z=i-HxvV1%inhbfD&-6Il`4U&a|%8AQ%H83{uMSMR5h=)y| zqQ($uC>&y@%bahzKuaK8Fc*^k&`dXBpK+wfu$Dbpv*>pEhFCa+RHLW*d9c)P#X2mf zH5E9mPV+w~DXY~|lHjkqFls~PJ#WavL{&Yy^*2MD zqL}bp=NFK41nVeg{Xk068CED!7u!5}^MeEzB_J$YijRZ-zHFnhj2ypW6Trc3LUAcR zGaScNnT$Ih|8HI_0>}k%?%XEAeb(RK(PdY$r{~k;0`ZdPN2%Ns;tb zQF%}@1a)kJjg1YAQk2<;@yvVD|JfbGKwtNff+|(VTf_?j!pG~qV(IDWS%a?@W^lM{rC9;UdQ= z@1)0r#>t{Gj>T!Rz z`mRk#E<^Y_5Uk@zEA3U?R>wYq)^7mFM2qk-O;0k3ITug#=CEQ15JDS}Z}+8{2oz@> zdUdd@Ov}6lLPZnAJYM))5+Nn?8+bUP>A>^XVSMG6v-&C}J?icYsg*ALtJvVV)t6t@ z6^i~DJGdaH(%>fV;i`mKPx{(oe(mC_-S7x@S5bxNJl8*?K%V&JyJq&M!2ekKbW3^( zMh)AwlgDAcr-zdR*kp`@?E%##Ag!ez?yU_hq`Y_lL22*yN%sQyy#27TR0kcp4Y!St zmvxsICie+;{``t<*h*T1u%(>xapH>wyMJb!vR zI@}=tVn_Fdobf?_>=_iPh<|sJ!2S_#mCFjvanI=yg<-wtd*8!flUQ03>xr~gFDv92 zpY?%L%LcRCkw5r3Nf(GO5*@xc-Fq>BUB@8w4R@@gVk{Y$kX+ni&Y+hMeS;8tweUIEdu?jZKLW=4b*Xah! zsVsE)=~!+b96L8FOa89+BekY0_-~QNuoZ&mu4f-QS;B+=c)v}$`~J*}lZ6*q0FsB; zHN)Ya?yvujdyh|d2gs#XWa1R%JitT*NvFK@@sg^XfPQR9EhQupiS3|AqJe+TPO$r2 z7Li2VOS20YM}LjWiq+RQ)Q`z)3u$|*LE}LQosJY!%DwfQPxwwZ`O>6M<`eAS$le&>WtQ-U43?n7ozr!S zQxp9Sb)!z|UV`1xQT>g2Z*V`^2K5I$_aTHo<<`{bzx_EpG(=}WK{Y0YUye+YPKWhC z*IPV%M%?44#q`>?#0M1A1{>Anv{b#aem_i4Ya0*652k4wIp*_!xo$`tNuO+lZ`+^l z+JDw2+qtO*;}Xl>#-lmDkYN7LMiRU05W$DzZa`+MR?qLBl(1UIml#SpZu25+y>5~z zew!fD)Kp!-FNtu5*SO(6P>@R1`j52fp@iF69cS=&?SA;E@l6)F_zR<7Fwg)%s{2i| zNF)24Y%KzhpcjTH>w4WqR#kjD_!F@qL^l?$FWZ5M7R+{#y;_i znzAQAhgBPe^}p!H2Gy`#`|(N#wZ%#ye{!@Soo#%2Fzj$O*f|x+hp*wEv=HhfofP|~ z#&@It(Q4xp-uji~2)koVza-rv2Q5pK%7>NYaw2zL$=2>Zru?}m9fl=kd=0;(#_TO# zez77Wa`x6O2NEf;ML2F^;QB=eR~6VfK*qs;VQ zyuWG9=m!j{8J9k#NVxOhym%wwb5Nf0%YlL_C_^T#c#BIYZ21&^ThzG`LefXVFSdj) z*E~@bPbm1LFn&HD>2P`MZkJ<^h@=_sBVwb&ZbPQ+ahJ+>m^o!q*NIgOcIpWp5D7&Z zEw>g&E4b?+Mi7-HW}0NEDs>ZuVc;)PpDceGy+R-R=@ev2Uq;=$-S{}E?SfKe9v5!~ zU$0B!3H2Fg8#E44@G$l?qHDX>H}w)%i4%yp5`+yPfhzt>1>o zq=Zc=Li4;dtW<>5XMUjCdTmbgP2&#w~~h+_(&54nte{-;^E?qI+Un z@$sY7;PnB%;+FqCGb+)~hyH6^^RiM6fw9vb+}U;HUEFC=U+1vc`|&Cv z=B55yh1u#O5tGX~j#ZQ4xFvsC$Co_0&Jsv9?6T0!CiZH5~U${B=g75N!5{^Y=Mx;4!}HFlZ|?bRIW%KP=a zV>3I+`*Hkoq&eSx1uffEY^0o2c1PwWXG3KEl;sy=$6w9}ky4tKvaQb71Ay|#qr3L8 z-PnZh;j{Zmp9Rk%bt1 zni~Sf5?i5e-+#L-kYJr7FpE&UYG>ER)Hw=fd?=Fzi_k zP}G??^dh>2*WTNaTbgOoQ%S00NY_?OtKZ#GJJl|^HppaWMwi|l*XFr<#gOS~8@aeL zy?J(gapX83Iy0u39~}@=me=L(B5KQM_bSPHT8;8)2C%8(}0k zt)S7f_|7aZ>{-{^_7{e2U+|M$^_iKu5xvSiQ*7_es3T9GD?B55XZ*pdK04RLvv`UF zYOIm%yoXI9D_to>4nGs5lb-7e;-CLt0q+A4{DU2*xcWB?PI2|G748hLKw_|Sk#IhH zX~W=r_R<>Rj(8ME6n6e*J#XH;SPzVdr`r0Y!V_uMtXV_f|Ni&&DHKX#r2>h<&WgSG z;)~+YgCHlZTB&rNO7W*Wo?d+V^l4YBjCy9MK;p3TWD$<;AAa~@hSk(F>u-MZnm zbpWQGwM40OQ6O>HW#7G`qJn15oT*E_GcO14U*Fi+hyx)qw}d+dNCkF2D*3zL{VwsT zscG&fud5k(N1EQfd(*Ff{cCYdG%hHRh61U;&K2SH;tcz~ef!d=m)3c_`s%9!cGd(J z6i7>f)L`cdadiLDkA5VMICAykqp^Pe^Ph{TjtdH;sX(f*^PKr_fBW0SYu@8N3ocF3 z!sf+$%zfuO-=W|9<~L%u9b8Z#O$Abgoh!zlnzn4&BF=+L^N6T4Ma`ENuUF@D-1u}^ zoWGv6HQdZUb=XCP2N__MZABSYZTza1CK4;Dx;_a!oZrzFrGX{d- zLXowDU5d{0#u;|rH(uw}a=dzN(V|5HcFc8m0U2}as4eU)DX*4WvSf)kq2;GP{i#+P zVDMn#>#x5qj)PjZY#COsnahAPCD$5uX$9T@gHL1m?6c2k^5n_H{rapf?vL}CZ(sPr z7l==g#l{m^SpxY6Rlo??WucTE7g$C-kg) diff --git a/scriptApl/chart.js/dist/docs/assets/img/update_flowchart.0556691d.png b/scriptApl/chart.js/dist/docs/assets/img/update_flowchart.0556691d.png new file mode 100644 index 0000000000000000000000000000000000000000..f3270c2e33df77ab4d77bd2eb902bcb8ba8eb208 GIT binary patch literal 97217 zcmeFYby(C}`!`CAfC>m(F;THwr^95ryT@X>y9YrKySDAd#I9`ziUlSrDvF8)VmBCs zipW{Bf3n2`uHC?3qDiP)?Ga3XlN z7|mMnL)EIy_HYx8OX(kJw1es}C2`Dv^zt`#0y4*$}q`yS=@6h4K zo}fefcd16}GpfNn!le!%7x&-Ah;Rvl41}*SD)la<6}&e7BVVeG5i)XJbPL}=LGz(x zgqO+ty91jNEa|Vohz6w#hzIJ@+B90%-<@G3A&mx2M^bn=mzLp2q3}F%07Lb#{a|St zj05BG!;v~WRA3<>^(?p6g~bWnP^Xw6cCy4~El;WDxd|M+mjOloGo|WN|8>L8BXLwo2SG1r#nv&|ogHJLm|w3|g_nXwx}l6dscTI>)lT-{vNukmZgN4L_USJ|F9=xR?aa8c52PHPNLKiZH|L_XKi|43tYBH3|Oek@R#Y}}A7zIJA#f7kH zsz-<=^D%O!$$%&EQ9Kh_8J&ZtLhZt6|Af$6E3>Gg&Y{yace7Tv% z)2e|JAwWG0I-aPb!?ubPyH&qxE zI($4&SPB8PU*++!NhXPo$3ychN+D24tx8YSheC2X%n;Dy5O^w9hr@EEUc3&^^x}C| zL=e~r0U30wup|;+t034J;jRo8s2YZ`kpnV|E=0it-$yY9|ml{N(sfwQA(T& z1J6QG>fm;Q!K;=T={}sz>SMw9T0dOqm)V#w5>gH`(U3+MjuRr0F&>-~M^P#iGChk# zR`G!zdiY2a#|!o2fhVERyjG}QgLElrUanTA(901ldjJC^S|wpaXR$&ovYU#MyJb49 znIuDj5akHpKor2~zlLIc9*k=fE$e>ROPQs_lphA?AB2))CRB?a< zO3i!%lY*3>ZAt+KM|bcvSiciy*7&8smM9vk$)*9n5(bS+H`_5_Y#ffM@zFgZm)WUt zJ4x7}T`j>$UAUk{XbGYPesh2!<8s*yx{MrPB1L4UM8I|FIB-0jO`>>IDxO@9aVtDH zie2l#84*FK04)gl4OS^q&qh$)2r`Ni5OK9?IuYko<8&mwhyvxRkVJ`{LSV^!WCICq z6sZtqX~1CtR!D&goCXd%yzjh#T+3nT>EZ2h1(Be{CAFEIB7S(*2suViW8y(OnEq1`N?cQOD=aagIJOotHPr!7>2`7M+KeWrCAV!>VkX$R0vfAzsGdb5OfZf z3-?G+c1u7@#c_oigp8^ed%Ugyok{>6mtv7fuUyz zktc8>=~lIyDCSGpR=N^O;^W|C7*)!~5vWui)hfdJX?Q9@ufSnNz)caahVR49Ay}3?7t%71Co6Fu#q(MR9P{U_fEPg33q)T0!w>F>)x$AJVHla65~q zzqEk4Mb2jS0f21JRBYZNiey@GEKm1 z#5rXKC|pPrb4@S{JYY3@&>AJeNHxXZX2!Dv6@L!Db{{UE=A#^}tHgix@MN$$>$<^5cAhH6rf&SkC3*8ombz$s- zQCL)JG~G`LTM)%0$HBc!uoVQD#ix>Kd=8~cC)LTQMgrMF;hTAWoY#zy6YzGk#3fUD z5nfX`h?`ODu+Oqla6uzc3gcN|YO!MM~GJ%$>WXq{UHZ7zgu~}T4MZpsh zsa!D!L0|;29=V3C^l=eTri`r9BLr|d%4RW2v~0g5Actf8Dk;gRRXfcbv&U(Z64ZGN0Y* zVY%!cmtKHy6J1g=$wbrwTtR>$u^!-L2{N|?!&mTF0lHBo4p@0^yi==?Qr%<%8p-g( z$QFs&rSy-BbpQK=FcU|M28OXt~T8WuvJMLRW4svZFLFcy#p z^irAGDs_rsCbt8Wd4(zq*@1CsO&S)N%O&DXEH_^b$BDg8jfL+6HE%Y`ooiTOyE8FdX7`b=8L&1mW;qhlJsmSj;B%!3<5Y$Kw_}18jOIWl=*o&DU9N< zlhrCR*Duxa#Vmu}f;Y;X9x3RI;`8f-MyuL^CR!anHzhnk03*dhZ9+ZCi*O*q8|9?H zU3!?)ZDv|D(xBRiF%yZL052$H@=b7#fr9r7wIQuOz~Ot?dNE$6mD7zLwVyyxTG@CN z1xHm2{)%$J@Q5Ngkw$Y$*)%iS=u>)~e!11f##p#SMu;F0!>ClJm4amu9aIW{D1Nq! zYOyOQTt6Oc0L5w7Nl7?cz(tZUI54gc?Uiw1CxzQUVGQ6nd>el1QfK zQ*a(Ui=<=)0DQojEKrrt?$I!{W}e-oWZFY?DoiL=p%@GcR^%6`r7F9h?G}KztCZU0 zI4li=VmS3yI4g|Vg*FNnP6TdJB3I~np`Z*HECIo$awG@^NyuQx;5szRY$gx`B9ch| z7kVTav2X(u=Kz6;qSb{VHO>_RI|EQ0#Y7hqF+qONDdyrx2shV5gSuov1IEd5V0m~Q zsNuo$U~+5Nc3dK0X!i%Not~8t;4hZ zG!6#F4Nn8ZV7dYrpOK{25-b=NHlX965l$b|1tr5lo<{+3fMU^kwR~JK7!-@u94!lE zD+CFh3)2bcW-&&B(oiWFv<=P@lMy&AumPD(CiRg*A_|BzGz-dO^J~Net_OHhN>E|4 zDQHdy4apSP%|ZrOWeMu^HX@k?buw`@s@Y9t1;dcqghq!jC?U)eZlwpQ=l?tBj-~|w z#wK`1n0Z0+RFsV>;sU4he|GL(heqiE3DjTiT>{f+|H?*@FqzBABa;ajxJJQMAk-L} z#^&&txEgQJAh7ajM!wUelwq)hFjTbADGWbT!1aZ2WIC6?26+z_fg*9?cqJT%qGCxX z41o(bYkUGQ5JefpBjp;IM$MLm|0L@|Fib$Gm)S^k4vpaxh}}#Q7HOBe)mpn*$~CcR zYJ*>+w}eaq9*xS=3E*6z9ZS~x={~GNz;mMf_125K{^~2Mi90j4!9T! zSRNq+gh$aJ4QLURC-MqKQgKM~a;R+yS@CWo_B@WH7BXf$|ZL7;uWr&6#4 z0|+94u#OolSeZ$}(HLE3fy_q1(8FFCr#Fz?AkD&%c?gA9tTo8=L6%0KO zbC4ptS;^3$$OdLm&TQQRA5~-kRxFm}T>nG|6 zOcUGAvxT@evzNvYYp^o1Ov)B0XMvfoLLs5BQv*-IM zJ~f@hRMHW09NVV~i%!e+g(JTo@AE+AI++fR1R$Tna>=apbQEF2}fZ-^==}H z%rg480vJWal-S^CuMjI?>Ov$&&?&_#adICN^lL_A_%I&XftFFcAVDQFWCV@Tjg!Oa zUIiaVBGHHnwN!(L(TzAJm5q_v8Bk;prnlg{A_UQIr%SyUGnwRO5xjm2oa7P{1VNk8 zA9PZsRw-U2wE5&xhuCYBhmFbL)+5nk83^LSux}EeJ9 zZNi7pcBX=%H|eb^yND%b@Pa^E1}PbA7Yi>$P>}?gonlbv*#WB_Ycbl$N-AEd(8KgF zp_fPz>M1ZE3MEvcC_#rpDE25R6fIc^rf+4V*$kDDfFN6JR*H{8msy+$g2-j}X+2&w zk$?~L6JT95meoR_Yy1qABme>n3qcHM)E=l>7<7f?6d6hBGdfKazS1N02Pk3_pKgVR zb(gL}W1t4Lg%T8!$oMeUcUXmDG?5C@G&f#gFx%{Oq}`@)>q1C7{x1MZ6r&VQ4jBgJ zGjIeEj%&e7coKz2=YU$(WJlQYhz6qzua?M_T9^gw1xJhU;59;yF%)9jbzm5yIYbH> zNM=8Yt0W2eT(1s|({t4llf-0Knk59O#Tc?OkpZP3U;tJ{puvnpGcYTHUM;7FSSB}@ zOOQ=z99>L7Gmp%du_Ve+Fk~>IK}-Rm z7=<&z0n*{4Ss|iW7FH=M&lAE>!kfT$p;20mIADM=P#B7Ujh6&fSd#!FG-_0Mg_7Vh zyCnpDh)v^>a1~y+3qFE%?5TET;aCCs3 z;G$7(i-g1QTATuvRB0unm;o|dhf?blc9vNsN0QMLnqDD6d(c7^RTHAJgjAm0C+3i$ zW(gTD0h}xa#$dX+Apj9vXobkDMthk^v0Ww)C^>K>%0|KSkSrk?N_<14zI!M_2IN^u}y+^N+e1YkH^Jx zT|!MLgjR4vv``o^27$IxpjeZE;G~nSc8aFd7>g<)qOZ z1eY*i4+s=uwtxnsC=o762&L3;g&eAqN@Gjl0i@ojcBx=KV?e6J`uskr8+1<#XB#lN znkKR9C?b!OPgF{Mdb>*L&;uGyq(Zy+TDzPKOdKwe6Ql@**koeZQ5Lp6;D9M)1OdTg z_Ap^ACR$GLTa_#|6pD45TucIrtPY7WaEnvQ@OaQrcu)ltfr^leUZ+`t6j~U3oLu5Gdn{TwS_t<$l`@Im9*~E$6srOrQn}b7kvHIA zVSyF95pE7&0)8n_snaGSu?Zm~5@}&GtsWT~Aye_RM2AnLxBL7Ap@t;^)H@R$6cD{6 zHB`bu2#{d5ZYNDnCYYgarw-xZVub{i2?R4A4i6)QEIw$^9uz46G#7J(CLkpOTm_`J&W{Db1w)kToUo8nfv3~pNFtp9%E&Gl(ic*DoL(c#7i7v196ZV9S94$z zy9@8u2{j}#M=RyniB=57W1^~Da5dkh3^2`R(6`xvCTlfb4-YM6IV5}^hwNj}s5(EN zETjbJW{H=BQ~)mu6ABFyCfAC#g*kM*MT{VLP|h&#EkMbfJU>hom>_U)EH}BU1+8Dyd24VYpB>DEI3B>kzo5e;g|T(vMoMD5}2^5%>5q7Omx5&#g>;4bi26*|;VHkpJJ&!4hh)9c| zlklRzlns>zMLn%(@dOI&0MWN5r7Z6}Xc@~I@YcWGwb=|S%+_pd%`uDr?|b-L5f zLVsQL?H%0SxR&~gZ4(P^&b92Uq@3cZacPNhZQ|0?I!En4`>W_NX!oT!x&tIS>uh$* zi#tN@%H`bgaz&wSvcCstwNk$!NZAm2HzfGs;N>X1v-ZU6t8KbWN~5MaNmUKPNJ!cz zROE%oTM?0QcgX1oNc%1$SELM+l-88wy*%~x#`5Ky(YyAI-tze8hr>6oE*rqqe13NE z_8#e|ZlgVhCH$Hh5s-I-a9~G`*z(?taBO@%d5@?VX+c8?HYP z`o*kuSpKEOJ%^bPT_9<^o{<;u-cy4Uawq*(Uf6-Muxp>#o*rIWV!buGa#YqM{Kb-! zb!UcseRci$$C%2Vv$HtK>8aS4i3@XcG9kYzTYpR~3C(z9KRZrV|N7Ck1q1dUf7b4n zw{7dU-&^0T{eHiFt_W;~poFs}=~G_uap&_HE$wR0G~3=*pFY`}(&eD5;oV)==Zjrp z?TE5JVCNrYXJ8@S$q~--!MBe@N8XHkW1cthn5Avw$hqo`Gmf0x-`xMrvny!pL&*LK zE__7Pwzg@Ba}(pzGrB}gZ}Lwc)LeUV|8T{T!EVp&_-=iBPyc!FC(zTIlb*auf;{V+ zgPpsee?xj&KZvO7hqJA}N-k04r#&ApG}oQ|J-u{y-dkxEBq`S0Z);SXW=;-gz!A#> z`0{Rf2Ua8V4yZ3DZtr@iPozK(xJ1v3mF6<>s8(hxOM^lAmyC2X^jF@g5&3`0(KHj)keXWtFL0 z2wNtN1Y&YM)s1eOdmG}(+tQJP#Y^@oUN*d+fAoiJs{6yOEpx`U{`_iLAsR-iy_O1k zel>|P2W(&N*u}GX^Ck|gi)cQ&AJ3p>NkgkaNBnK za92^Pp)sc-b@_I7%f623smE*ke8@{DKs*!jfDJu(TanW7UFeFb0eKl1(d?EE-4ix6 zuIrbBb=(-x6_Wd+?bsi0w!pK027=#Tu3m00JKTBkxJFt2_^hJ(x+hN%*I-?uJ_CKa zaCzC9w3>umAqO`g;N{-zUSr~<-&|HM9kVg}hp{|8tq|Z}q3QGG-n}&)>N`KI7qzaMlIY#7^eV?b`@)ajGYG*{JK-OgU?deCYbU3Dfa^LxYo=_A61k1FJMj>=EV z!IsYK@fHHvoLuhzR%m(9x3D^7KGMTA>D}%<`<4MkJWz*UtWLW*nVS0IL38~$KLj|l zoi!IO0;e#{z-D_WUj{8QBaMtX2a-e&ZIJx{|j&$FoZl`t?i+e_9sW<6w zZYc3pOiC(k5Bi!imOa7E&ZvKL>rm^j=4N&t-5h@9Zpz1y)`R;T&8bCp&O`Z zf3T3-)~*S;@8aI9y3+coLu=ZT)?ZC~PA^!jB;5yLM|*yD z!mP@!3lgpl?bUhIl+;s|Pj-v&l>w@#8BGcSouV zR$oay)%ehikHPOBz+6SE+&B5=B(uJVoHGkI*(S$`4>%Esa>qlSNu`&B$1osvM z@))SL<9r8MWG<;~*v|!|tv#N6qdX|frN4ai41YLrbo%>|!M1TDx19ixYrjp~EpkASS}0~UHIrE65~i#XDi)cfs!0O&D~ z@S{q$t$pVmto**q2eO9_Pa8fc@xze$p^Le?SWorTQHbNcU8Q}lABsMPHJD884yE`X zJE@VoIb;4Pn{#E!ePIXRgpcG!n#5%bm?qz9u$swFGP*%j{gSlTbH|mxe?0BrpsbUu zZDsgQ&ZK?ZF{gk|W@J=aa`Pq7{OD%;OL**1+lMmhi8B1b?1wdSchbbJf~8borM+rUEm??Cge1@MMv)>(=zi<_r~ zL&Ag1`-!=8A)7zAld`uIPq}EX%gs2u7plLJ8Uz?<{=V=yA6U8hQ3pOAxR}S$zuC4R z^?Ikg(>{Xr)^zUr(Wt@t>Ycnt;gBEv`T25m?&or1hc?227po&2mKBbRrXIt}(^T&JJ&i$R1K<*yFz04^xHe^O}za7wmGZ0c7|y8nAcVG=-r z>;0XUHt*jLd&gN=bh3XJ$QM$CbIBlkMdhT9*oHg8yq4%NATuZ4_58X;?VV8V2)x_1 zWA}+ghmt;R06U-A<#uEosoy_tS`EGLB=;*&?IzAibbUNpNjaG-NGgp3qf%1om^9wJ z;`XCXrM=!bJ^MhH2q`kEDDqBLQ&pGLUKiWsjt#rEE05|?P2ngqSboH?be-om{e+(1 zwisCbupiscJv?e2mh!SLsq}vkz?z&5s^i*gows-H3z^3ma>Q7%{XnyN=ET8Kxn*Je zcxj~v61B4Jsb4?df2pd=#sti{d&Wj)F`rhR{dF|ec_F!AMtW@+eY|#!UgwW0T6yTq zK}R@t_9S2V^;hi75QFG@v^>x zd(*wMyeSpngctX}d&ZrGaBwd>eZM^Y=jECggnh3d^<7O>wjXbIY>Y{OxR^l76Dun| zkL_5#;)Jfll$EpWEY*PO|4qe*)fV|VDr9dh2#%69j^LkCrzH!*^FP4Wv?1@(y z{_Gp;a9_$0HxJy)nOiyz2)C9P5fL14KzF_S_xERinS(&`F975(8#bG8_DN>lINX=g zelNpFX)6fCCtgS9Obbu)QEUD9*AUN>=#*IIs^M2~ZI^z%F=kX!?A4j=qk5iGPyt4(d#1?%xd4|DmVMf@-%ZXK-+Tx{)~!yu`XxB3CFp%gGzz^ZOv?| zJ+b9rsKNC1AJDdL(~>cD6;A~~PcOuP4Cqu5=5H*x?TD>vG=_A{RyA~7X5)&b{iref zePLWX6=*_I+oYWI^o+;Hoh3i=KHMk@6G=C_m!9iOo;+=*o(}YG_O6-3+YHU3&jc2q{HLg0t|h6QJU=x5 zd6oak#|HD_A4ShDcA1*G?ojEo^Og$(Pt#U`it;me5+m!{zA-OeJteg3F-ZKT*j8*c z584O3%Jwr=b(rIx$yj((Gtk8^MDqKCbaw*|3f zB>+#-SJ&5Gj-mFt+5|wSW)WZ!1G0%jjwj@7{*zLg(bzVTUld0 zt_;ivQXFz_hcWIOEuHILH#T_a)c03wT@81ou?v1qI^p^JVnpHNzU#;MR}B$vcNA?N zwzwp*4j9ZScefZ~aYEGZ&eXq$wb)%izw8?G;E5XW`8MN@{VdvVQYyoblfY?F$grXRphwJyCMx zQZh9)w?kS)ZdZ^tsbOaO@A3S{GG1jV4Q%6#JdRL@^SXVN=!-SuoYOHfw z8Xt}NBPJXJV?rsN9v!o`-#%pgx0>i%g$eiePaOrUX(iaVA>ZtE)u*>{H;%{8E&#}+ z24wudfqaV=H~cOEsB=fzQPavdgiB9;H5Puk)Wcp{m)$hx`=|3AqWb{vGb^_pB&FTZ zuKzoQFh(Z3zlGXi3FsjKbY@60tjUdlFghA;ZJzbv@rjP4q@0|7KroB3QHZo9|2m74 zKuv2lOAoY-!huAjH2?hDeP2PP8z;ZuB0rD)}I`Qp_ z%b-%PF&!%UEJ*>C{tPV3*31I>Ic&q$-btVS0FGY$S{WJ$BnN*h8QmuGEYN_TU%K4W zZ3LB?$8VpL9Y^jj%U;^`N@9OGX5k(uD{}T21H33%L`26?czYf=i15 z8+ZrwEAU6gr00}H!T>LEJiMG$6Ar{gX%go~0_MXDmT+fsPGnM=J3StZVFM23_{$D| z=0@a4t0Mk;gwoWcXduUlU?|)7XmeWntDLTY0}=rDN2_YnH6jxJ|4-rnTT)0bg6M8; z7*RRdzy9&Guh(5KS4!t6#}-!k)=qL?N4YB4m@98?ZK*&lyVqxl8YrCW!?dEr+#_+} zOcLOeK_ey}Td{rnzz3&-hmTkvNsif{j2z?p5cjJJ6bC%uPzW-!d=oMD`?Ce3+I_4$ zc)8ah=X1)Tm|cOHls^9<=(bXdZ}eJ%qFqk_^x0%!hjHzIHK3w=jX8hfO|}9hC<+@$ z@rbB3wf%Yk3X-B0*d~XyzGgr;++?@>*k(z%PK=0R06TO7JKRc1pH-3*8Lj#9;)?5h0;cr#HfD0% zu3+Bm|C%D9I4(K`($d`2rKPDjHyXSTy_=S;iGiRTi5z~ja z0u&dAix~wgpy_GII|;~`+(W=xA#sqja%j}bnUPVOl=}+${IjyOtSJ7h$f!P9QIy>I{a@0b?Ivd&=4`;*Aze_LMZ zXb3N%e;rei^N%0exi)w?_=4YYhQjdA_omZ*-j@R%lFPt3n#Uf>p| zfZ5J{Qg|ospV{(Ik(FU-n7X*4|DDD($fWSnzfEJY|LtsP+v6kSlj4?6rsMzhr$5?$ z>kEn+n%8vy*8vXw?GqaeIkad+)V~dncKj5UnW+iq|92KE`q!KUOGzsXRm8atHI{}*)AF~<9Y6! z;D314bamXH6AL*p3ElgLm8|{9;|1k!!d!E8X5C6^uOKO$jU0y!lkQt_aY2`Bdkd?F z?o}M!U36MedlvA#FDtkcRz5hazXnuq+tjn!;=*eQNu{F!db&4`)tbhenUfp~2+!$h zF=1O>1M7-)6fEpDPNBQ8?m?36Xnbu$_wCOL+^=sO0?ZYpg`9SWxuW?nh^b4+`)?15 z6QvbAtNHPM|7yT}(ROgwZw1l5Bz>2BCKz_yx4OoUk6wnEu`#vB`|Y$|oS%ZnwXhKJ z0Nr-#`Ph2^6?H!Tln;IGi1*pNL05P3w}j!itF@(xxq9T}8O#zsAwLSXvT>DY+<4?Zc zkl8Lu`TEBC68-9_*}?1b_!)^&asVDmmto$vhxGjo8r`^Ji15X2=BSk~udR+1wjF){ zo$zR4?dbCN+oJzWe0F|LhYm3fclStRH=4Wkv@}dfi3fc664r*X@{uQAEXzp8tiB>x z=e~i%PkyyQm3K0^CtwJkoXIL*Rc*d7@80AO+0AbCe(Qo?Rh^-xN8R-6`qI1xy+oAh>a9BEL-g%Y`b{ebDMP1Ad8+V`6F2_HTnNK0fj zrpMB+C;c&eMq+g+-y8L#zUrWw`W+k=46ZuqUwyK+h$(X1e;<2fFUTCOK0e`&zLnA8 z=UTLN_a8W@wyX$}IkfLO+#66gt^c|F*tH8sB(f%l*|C&S2wmBd9UDTsm$aS7S+Ojs z6aWnTv7dB%TGG6n#QUo!`{bYQ?B84yW~Br_uB{qj9++6~ZWh1_&MD8$Y+KSPSNEG| z^fQpjbzYAyZ$8hhqRcH@iy0+*#M_H4XU%%pjhx!)+SnD>Qt!*-k4|ph97Q}FXBq}_ zYX(@h^kzlfq>klY2*{{b0?M9yV@%zta}RTgiMakbCmFVvoH++5lqcKZu@|rQ?~{10eP3^%SKwqpb7k3pl1Hh4yBh`;GiBVy zl5BI4Z2E`m&#)g=2iv&1eF%vs!|elRZd|f*<;YhRAJPNYbLAN5^j|+SK4JEcSwmhp z+F{P$CEQW_!HVMq7hH_Ydr<`%19`4;%>k`wZPwZ8{holaKZFb7kOeCAFBrT z-OX*-aI#~s$4Rj#Dd$1rJDrVtf9!aNv7gcpIBG$5V>=f7 z{j};=X}{n9EDXM`n-D(uyEtPs%`K*;=eIPUZ9RDk9Eypnc2;z56fsZiS}jN^1c-k( zdh&>$r|Yst1-8t()*Arj>C;xynGKh3e&9&$u~ugRckPcGr>Bgb#p9&Te7*Jk(eoFZ z4`=@&5R|=tx;;PY@Q@WFci*X;aD4{*@Oa8cw7GZLnhsxo?5w4A%l_JLSN6ck_H|Fb zZnbXvwLct4XNuZh_`W51!-B+7W3PQZGGp|K4Y?!lrqOqO#s=Qj&lqXD!`yMQY;CWB zTQc+qJQHHS2D|Gy{paCs)CHIM1WlDd6eQwq$g`if;uhq&_SAhno_4TvZbscg*)^f% z@q*+nF?(8KX0-T7cbcCk#cbc}nDkH{Euwyjc`05g>Mhte9$@(& z-<$fUBmcAdtW#0 zW<}qrnJ4Gw0g6l?51P)6R3(T>JtIDr<=$Akc6sW@<=sCX?o#$zw^my<3jezNdV14C z^Zt~^PQ1g{J041$`vaXfrD%*2dsscex;AtE`tC-~{3C_Vk^UQmu9HPT7#$Www-jz* zZ)&}JEp_O&ITP}y@9498_gmpn?e`5*=J1v;bMxx6mYCaryG6U%!jCz309$^f37i15 zA2WE(mgNn@qcVF{4L?)yap`sQ!XK?4qyIQJX23fNsqtWWqix=HTW0y45o;UTZS3A{ zN=A2Y!J>0pI@?n+nVasN4$lhU{TTgeIlUJ_o>F!e-OlOS zIkvIJHfqh`i@8;n6S=r)MVn98&Fsdzys%rvhZK>pP|g*6xI@ddk^+M+3ur@~b90vU z)y91q*EDJ@;1a(N7k2)-W$BqQ*Af<9+@4aVqdZM%xF~2)Pw(eN*%TK{K|#c z^1aL05373BpWoloZGL0toBSOelVYx1PJ8n8MYqdUQP0wBo9{?dBD0aZ&#ja_6+~-L z&x*5mV+M_Wr`IX)l|Al1$aTC*fBp3Qvw}&l3LfuT`p~wbGScOXr~i8wAUS50WQ03CItKec&79tafu$`O!VUF-P2K zKi$S1BD$KI7T>*xf7;C+*TyWqmlW&dZC$*k?WZk#M9~FX*^lDIsD_8q*!BS+Ut*Bw>*_b ze1q5gQ0Ct^pKj{& z5B<@5(TC%QZ$*2zJi4}cNB1Wk&%9owpJHDyH!sxIHGOi}`Ly5Y#$ZgvHqn?Hk&SoK zfUt4@BkX*azC3?xZ0*+fH#bmk*CjvsTA#(++h%T_X&!&PBh_&G{nujbtAH(B1&~$? z*wm7<0Dy!WXG^1wwu8*Xqc^t&iq<1-i)+TcDc_Vg4cva1bq3r#`6r*P&Mcf3yE#0- zv8YHez=ZGs!#j3<^dS0BOuobTf+PAZE-tTh@aZ9Qv7au9+YtY^3gY$9C?z;czP*3y z*>k7k@^(W*!miGmMSFmZP7KZLY;H_{GNrt*qs+WyT&v_AUzU~@KQ#GkQ(bsk)K|q5 zHfk@auJ?-X1}AkMp}3&PD+?SgTHG}kYP{V)AFiEm7})1V&y+ofXWym+QmH=~eIk?` zd*$G^SM4C4j6YE3Re+wJ9ogsdt<6p-xO>uVjBmJe$t`R;khCl;>1#7D4xBYM_(ij! zE8;1CbR@X&0A@yxeFjDj+MNMg{s~>(WJYWn575KKXCv^SA!7fCkpmz}aZ^sFJO}4_ zrLuTH!@c6IJ}IO}h<=>BmUSK-m!4ysHT)uA7MRtZYozjnS%tsS}@u<3oGSi`<` z0hSNMzW(Cf#BX<3H6_Ny5YzPGk#VVEe{t&2@q4*v?lqs9k#{huv@PJi2ZbJ>J9nYd+F;XCvV^)^3rMsM_%t0zKd|?+p`5T zW`Roub1aXKFa0xj%lLlonq2iXDC}e8=#PzApOVppH1^*F%$f~5&sgEHcM;DMlbzZO z-^IikfbG1$GH3m`G;@t~W|&c3-SJ)#It}>0j+}FGaacn7;n*LIGtR6pRzy?R{Zd`o1P-PxQe(zT`1UrDMQE{-dnXzs~?hv-I$7^xcNY``+f;jlDmfq-V6uIlJ`r z6Zy!xtRqv7wZ27Q7G2oA45IjWY<24WMhEU`O|>gO<=XV`{3wfdkxld#f&{{^KKQ?dhiKjIYc0>?>l#bm%o469;ET<>QTJDY7Y85uK;vg6Bza=l*GmfQS1&+^?y7cxiS*j|+1b2>Nes?1x)+ z2e5l>%R;Ud^|&8n?{(Ecv7Ur;hoq}Z|2X45RonAfvAJo0dKxO)bPyFACIX;__u6~$ zARi59;w8wL`D+HFM{H{95qWDHbM<6+hnF-_#YW9s!7#|0j>nyEU%EKIFU`0zI5$>$ zedWC9GgloyLVXgaHB2J-q+^zJzLwgx;zOHRFE5n*DL*`8;?Q|{u8QAQIz*55Ga5eo z4f z?!v3rX3UKqRWOf7?4ljfw>Dj#@ay24NA0#%`*vR1*ic`%#y7ZqZuo%m!QuqK1hlMOP<;Z;TjOna zImWqnz?tf8C|qN+@0#DQFt|1`sB>B?*|v%uvBN=F$1fc%=u=$$Eyai3`dju1dnf0TkKxnlM`!at_Ka4!E6?>i zys6f5864CU4eWeADfVE-)@796GSY@~dW>AOknoU@su>dl&U(H}U+?oaoZ2_7vZcAf zbSDaPnb!$*xiIp;9~0P@%Wf>xVJPD^ZmPb98Q;*jy1Am?l4DpIR=?@gfp_HmgEgHW z=$~XoCD~7ZJ~sRh+|+@rjl6GvcI|WW@#WrGg5&y|lD#ih(F;qXCj`^8v9_7zCL!-Q-C=++Yh7j%&VCOnLNzkoo(##y{e_LJQty z#os=1dIgqOf&pO;utrQ$p_aah>9hrzK`1)f*neTVI`vn6v;3Jx3VR zc;)iOQftNQt1F*VSEY2}pDVbB2VrUReG$9c1w86VchS9GSkJZUwjBqS-q|J0W6j7) zEFRbNxZ|mzh2fh-XSw6QYciDEmjCL0XOV0z>|71Fqtn6H@6I0bg3kEa+KTP$&1*aE zl^-5>e`>L2a@nqV;F?ll**YBJ+uC-2K0QAtR+}(k@3rhl#bd9$?-dh*Z^3mn0_J{} zu-jUYSg@DOU%zkX%Z1~9+?#Q4^6-wD+Lo82rVjzxea^HmR|bWtyx3oewZmt<$Dr4N zdp3Z~-&q5pRjr^uC$!kBm!+p&=$ZUz$0tn1rTN-nFWx<^glz2gd2`d+n@4^<@ZVTv z_x_M9*>%6@r7-yO$;KtaC{z0s-aK>qL6)&i?`LTvzN9?78>s~+>G)lM4S@{$`Jh{y z6i7eH!nl|{K+C%%wzTct?}MRfH~iX-uBqU@a!K)?=*@80Ia+L1OJUaSO^LNXLYv0j zKLbuqBQFE5x)++IzA)?bS0!LeNf;b_VZ+<%S9bfltz}}zn_?SBbEn^i>sJ;iodxR) zZ(5*)^hd}Cn;a8ZEg}0i&E?qM)1Zclqna}YK?q_c<>}D2Kx>fJ{grjq-zP)cWatwY z#$mt4M(0IN-dH*z&`Lbhx9eVuY{lPe}Bc*=BuID?h9yoaZs2b-ky^J`wvMsT(h?gVomDH_<(1)A z=E}AQz!i;lb&sVV>eI7+e5^j5`ILTFlTg2F^sq|j<(`A|>%Ee+ne|t2(++JqO*x-k zRM;lxN)fnXhwFOe{L2sVx%usmzu$KZtKB)@mUq!eg|1VL1I7J)t)yrh3b1t zR{R#LtLT4ne9G9yH60s{R<#Od++v9bA8!45vvmcyxHfv&)AR|ceQM@o-`w3HUDEdW zv)!8xaZhF~Nc{1CvG<-)QEXkeFi9E|nkEX^KoeAwNY0^~Y#@V*s^9)WblJgO03t=vMjv>i6uU%c#PWc!ytS+a=crrY+t)8M6i?P z@~Z;2b~(c*+x1~A-&wK~wPu2dWnz#221~Nw03Jy8v(L(r= znwi7jImS1qLt68?=*~~*oL@5baE`Il#5be(nHhMjWcEDgF}cyEZ70@REK2Uj-mC_= zmS&kcN|+?#n`yy`2w}Wzll_aS!-io~8kThrdqKj_?ZM|3Znx|wC`x3aq`S1QBW**T z-&t&ZX*1Zi2T|FaM*w*A--TTos19o`U0?H$B?lZkty#ioY|!s=MrybjzP( zHddS;w;|S2m(+N2uuJG>YC~k-gDe!+{P1e^aaq21htAoq2iAfFl3if5`@es^Z`MS> z=lb#IQ7JBH=T5BeqcmYVZS+UpLLuC>S6yyBD2;+!>ynH)t_5f8#7FBtv@O%;*CD#gw~|U2C&3>uU2djOPOm+xKIQ-i`|yVUhM%Cv zH_af7q*>~-TSio{v!A8gYBt82$J;yZj)D;mI^xvzJtWI@%uH*TkO5NJ!w^;O0pR{> z+SD+=jgwH_n~c?Wi{Tf$T6`Nnmv9E6XGsryw`yTB&8OLVENj1rR#JXdL)+g>SUpR! zA!A0Aa&UtaKJtb_j@=x+BZEQ~k)AvOlYAH@SvZcrq)gsa5mDh-<*5CD>GhC;9!h)0qms_C{8>X*sgk zg}z(eaz+OlKi>}>>#z1>{Y|R;I64_HjU|Z7YAg06_=_JSEJAK5v_~r+%cGp!21!(c zW|VCepOsc(#a+9o$FykiiQ5-zXSMY9G{uPt^v}aCeRus)&Z@U@kDhRPxESIfJX#?i z9HjvfnEp{DLjw-~2Ty1_s|9xLn)hoyxU`#sxiuS{O5vGdR~W8re9_;u-|r;uAW_Tx zB0wmw2OSGrHebDtDfg z&!llyJ*Q>B**9JLT?j_J z!nSCiYZ3y4mJv^)>k`D`o(EFG7SgSWH9sq9MGJ_|qaLI_AIEC;E&nF9cCd6;tX@yE1)J;% zi|l5%^oR3OM<3G4ZC$i2ZP*}Lhll)RrG_VO4b!ia$NQA6juZPWf*U08p?TuLH~H&3`M`L@s( z-Ggf$@KuSn%VJ|IsJIW(s3HM{-_~gaT3#w+EQhyyEu0Z=NvR19Ncw zUaG}jr?R_s@U^4RF3eu{YTwnCM%NvzQ4%E#FqIv=D&6mZm8qk7^-A*EGJqh219e`! zBC?i|xW13{&ww(YNT=ixs>`RDk5w7pQvv@aj_F&mB;$5osX135i1e0^5T-<6 z=&ZHV!vHTpl{iD#l+j*zSxy}YaloHuv`JXVovzCBZr_rBCB~tfmh7#W{4&o{w8sY64iDo=x;Uw172O-cqYZ!R^}ZV-KjZ;z16UG5mqf@s4iYxv#Ueu zwFIaIetJZPOb?B!in(iPLeR>j<%lV{w`}mkU-~O_4G=o1u>x<$BN0~yuST*0TQW{O z4DT^p1C^^48YK1RL<9&t zVhI=-t$*E(6fwF{sq#_37O^aT8UhALjPbth6lO~3s)BD;O)t?Rp9G`T!FqM*E_@1b z*|=2^`d2M95k6`|bTga|Q3b+)u3m|foK?B9bdl&u2wEMihKKIbr$2CT%fq&OoM~DU z4^coZoemZ{f2Oa~D@r_2HiuX!wEI8DETVe=@x*+FrOn|EQ2IOp$<^MH>M682JztJS z)B9{_OX8g}M~=^sKu54@2YmHQKvSlZf0NZBhP3P>DG3d94Oa!hE&0tWL|2SX<~MtE z6EM9;N)m+#!=fPV6oh9{L3q|F#GZ2Rayk~RMeyML(K)hHcrU)|(AKgy-Gdlx3Qsx# z9>*TFRdpeZ&_pKmGa^j=;eR0Q%IZuSHSS6eH|he{A;7KTrhb34a{kmc8&qqhys|l{ z7gMV2Pmp(F%Q8BgLAAVfS6Y(i_H{P6;SWXiwOJMRf~bPYI=0r`DLHR;Xo}|ZE~>Df zGR{r!va$;RxG;>}e~oy)_4a!+F`{hhSwH6V1fGkOuu>nk0H;O0A_*EPJ6O*&%um2BRIi1pbe-w-|P`1OIME3@`%&N|h zS2KOx%00i|vKuW;2Pz9~P@Ay?Qo4`TP6p%6{tc^Ruh{pzff8qES5f`Sf4vkNV`Slt zf1+};&;NnS?Y?(lfDn5!iMUd977;#x;)9j>KqyEd>G2I^^5BP3o5H^^IZUrWU$k;B zJj<6v_#xiRFJg35-DATroGV0%>etd$@jSF0#*a2&oh1ba$`J1r6cU?1*Ua z!SX}4(n}Fnj$7auos`M=SRztz41}}1o)|Ukblp99ch7etXZ!V$M&`v~j!&1AvOYQc z^z8Sqa~ULRIR_)UWZzI;bb!GCzm7n z3DGKVV-%PaPfm(x3HYE{5i6EG{&9Yr!g%`k9?x#y46}bgr4;7^Io724erB3mKdPXB z9+Z)eXEoOx~K5zwY)wn17M(A0->lDH zVpIXM>&u)@>f5GuZK)uIQC(}!Rwz%L}d{a9R;-gV*=JN)Ag-WuS}f$xEr9IPiVUemj2((;`J zpOJz?aNvo|aZ|!b3Dq0!cVZ@(v;0ZW(4In;%LnK%Uz`~H$8GC;#t;my?;aAg1-sMr z0+eQOwSs?IL-trPKPr>E;|)9sWc!Izg3ELgAV*%aRU$DriYrN<+Z*EsqD94Eh2N zyyKtegb>pJwgL$9&M@!w5Vp;%`}(|ka4?p0Hq%q0KH}!d2M_(9S8sgX5<2LmrjXO; zlv+-F{BxrC``K|qrd5{uT?~V)vtos#d~Kw`;tX%o{#LA8M`>b$Mp-lq1y9j6A34|ZqRksjf5gY57t@gMFd$<_*Q z#>)ghKN)!+xchE{z%6@-wnibhkj6Inl!=ly(AvmtR2-apkO zi}jW)kF)hcMfGD-E)CiRSFcSb`V-0<*;4H9y9kwNsx6|=JWju+$|Ky3%vH+pV#UMH zr#+0sU+Tp6kbQFq+d1?v0Wvtpj;qW^(WWJOyIoiQZ~;IZNxv!r-+n1E*cEHdt#Htu ziu-8-&)_^f`q6riMDZfn7`eH;dnLHw9t zs%hH4CmhOePWdaxthnyNb2$0=gl_6!>^)1FUtn;pd{95ekfR7jfGA7=oW@)CmOm%e zi`(js=Bz%`jJ}f4sUqV!>V9=Ti~0T(c!Zr8APa$Yy%~Ax>t_1;TzFMRIu%dd88^+x znm<~8vjKCzn|NI)|CAFB+hv*+&$#7Z$|Tf^@Ust7(kg;q*vb%(0(m3Mwl9j2E&lk8?)i+(XL8orO7T~l+g z`d%F=SooITW?(_3Lx0qi9>@s6qZExNFD~r*&eGWU>&NZ&q!yX|!w`|{3X!aveYZE_ zgrXQYpzYCu@#S;c0Ac%wZ>}IVpWw~7zenazUfuv)z@>lW7Qf11cMRkInOjJyg|Uzq ze8#yU!h%6WaED*CG8T=rjo?O1PgJVIC(DXgXBJIIAiD7n;d}?O>6xEVjX&BLB`W>T zF9l9%x)axTb(}CN=3yRX-9Rlq);g6#Mzl48z3bp0iu==bc!>NoKyw$f?QY zBBDvPL))*?w#xy05aH(izyNqH7jL@=VD8FPaBQ@)T>F^kOj3&hTm6NA!Z&9j(3|su z6retst6UF8xJH2!E*WZnKta!rMl}{NSN`W0|2N;O@Ttc*AnaFy*pPZ1VXwiP+D>%0 z+K~&00#s{hUuZsVMP$#7r`(2KC2fnfy$igm_#x$wh4b|5={Xx$8}WfPND|*(u4hU zV}({O@TGz&tN;ShiI0J#1|W})sXxb$M=$`ciG<{zq8}ic_-m|Mly#|;}|I>59!eH0gngl`OjQu8ALknQm_(6x~l zzak(QzYNComv$`mVGq!)xK60iCjk{0E=?kBUA|QWh*ZP@KlW>0k};dZY^r1%6sXdfwTH?c!10LF*dd<4S$b7E$e z#-#sU+O$9$Tyt~`ZC?il(@(`@@34nfZ?F+YF|9h8@Jq{q*X{QY5t;2L56|MFtDR!k zLo*gr7LpCZ|LiC12olOAaNE+nDTx=K0^gK>!D(;TZR+3ufzxgZSWfgEdjrB)3&k>q zm~^Ve9$V?Wf(osa0FY~)R@ZAPscj&wC z@;o@tK_}ZZUzUxL=&lZ|7?kS7&^4;E2&#a0Q6ec8e0W1>6nqGIv%ChA1RM$a@O;H* z@L~1QjSXq=Vs8$+Q4Uz&Wo6?G&jSEj4C8&q5VRe5=#DBNE}lFdkOxdR{Y^IizeV1? zssAyC-p9C_X&(b+6VbbT%%Y0KX+l|ppZ}2nMf`tEfULBd_ogC#ZfdYR)*UG=obclQ zt>b$$lV9zPM$;|0%xcUFpP=s}vY!LK%l|2%Ul(Nx_LOMoLF)eG4%B!CQadM#L0O`3 z1h5R4@OGSWL_`Rhj?cF;tNt@d8Xz9K_pV3@Is8#Q5AeEl**a%fH6i)-c7H7)!DH$| z4me$Z+SQqK1pEN&lr^Db@o04_WAEvXwM9PSd8FP}-z#kkHvybaY}fxRKNR%c*X|B#~%$1{CS# zL%J-@w|=oiU0}WX^8TyA=sXI(gyK*W>g4DBP=;jeznsu+lh17BHkX3K-P01hY6+)0 zIr{;f4yKJK!B;O54h$+>oL<(ewm(xsE}3nR_u&=z)=A*zacCRf$z;-KZ{!!3v&7Z@ zlj}MjciTu{>E_~FVG8H0Dvg;?+pi1ww`Q!-!i2fiMM>eb2PX~^LjkXfo|uDrB{$I} z^%lP5pMy`{)|%b!13Ar=o7m)oloBgua(I*afcID9M9$&Up_M)qCG@D_uH3=LnKFFeuYwSd%`XlJ5^b>Gsf0=d@_;m zwDjRE(~x89)lZ3ngHPn^L|`GIJ2NCm_S{OQD*f*tM2Pb#7H6uZ^f->z(`RTqqbXtg zbw9ABLt%oSABl%8N63pjhNy=jiQ%l8QrNW8sK$a6u z$TVB|C!e!~ubz2q=2rf5Ibi_LHl&S?FZDSmu+$!`9@@#*j$0fJRH1|^^NvePGL04K zd$rQRLP}CnKOA^Wv{@>HLQFpM6Q>=Tb1Arq7T8n@GnlmZSM3-GE|MzJ!uBg2GG2IQ z4HbM57lft0X>r=0GOf>cI;d8fc}OBR@GMXx*{h_#!OGaIzGL08h*$nqKlVt`WZkZD zjO~WhIm&m)AR!tcXz{wGEJOgjK`!MWL~?tOiWimYD#7Odkxiok!KskN=w_M`v@N3O zcib`}0+ZByCK>qSTOg4G?W)*?C*zBD#^?1{u zi(*8&METmQnHT)P#bh3hYYixFy~#!Yfy(*)al`Lt;V@dw`wSTB(%luVFOR%Rk#d5Z z1&`1LDjun`je+zWeMu!GL~nGWk5x9`$b(8Nw;Gpi6EL0#C}~;&C_0a~nWHgDZMlMZ zyg&7WO_e(_wWdPzt!J*9DoB7JX`YY(PNk}YOl}*_o#R=H|AuO|zQhVQ+(qov{VfgW z+9mo(1FH+2!NaozmBf@wD?lMuc#cI(0mT5;VawWjZJzm7S`AYbDC#nY4hV9@Z}IeM zAV(yLdqD*PHB};>1o^DLv>9~)051hMh-DsVryt_Ly91ZJs2qoY3AE?FPy|nqs_l9n zqA(hSoU#F>Gm+x1pB2VJ#etN276rB@ociMr9G#da{6*Z9;Pi^++FV2{AYd$v&ioD_ zZD{1IkZM(2)pR5-C-?n_rJjt2wS_FtWL*mE`;)B{UO&&rPnM+$GVE*56FdfE561S_fgy(ETa!AIjxD9H1E1l5w57c4ddhz!l|k50+5Vg!;P-JqUDi(tT|l1^Xj9j? z`{DlhaRFfGGFd47ldgI5A_6fDf-9dd++@LMFVafe5At5?Qz@U}AB9MKpt4j-2mg5j zeMsD&eS10XJ$NRveiW0eG0+`;A|C5(83Hyfq0(G-#3tn5V=`mrD++>`*UPu>pTUPT zK#lj#zgdJpOPG3o1j6;tJ1`CY^mEZ|{~SIHd>!d=_R>Ns_|oWl!7qd>4jhSG&h!is z8MyXW{}ZME|L8xEHTQp_V!z;go*Xi$0Ncr_-%1DR|A~q{WKszSz*FdL2Tlnb{J;n& zMaU-V0Wi5c!{asM@68}$AAd7bRz|7MmhoTm;UdJ~Dkc=p^flsYGiPPXTV}uRH<1^5 z7<1<-8G~C-C1Zp@W6p>#<%b?YiHHsI6M2D!2E_>=sbP{ai2q+yhYf)~0v-_fH6*tG zV)D->x|CmP0h;Hpqq|#30(Eeve-vQa+3E4|jjcE!=ZN^fEcqNpcmXm0<<|GntH2qY z8N#`Na|Ge3R-T)Tn2a73cUdFxf^#h zd~1Qhkzr`nt_#9vv5Vj(Qv?>DgRTT-W~O97tUg66OoGh@9}@xJn?X&2JV>7X+&N2t zBp$3KC^Q&Q2xTD$kY1C!pCJc8;;C81GIba?_-Ogy?72T`Y^uweC6IJ{or>{~bX+wW zT>=!2vcx((X6ZVK;zin{h+xZqVPN^RRUE6!;~gA)*lR z_b;>Dh+-kp`J3M{iGR*%&K^?<&e^%h&Hd=_U#e!HbHF9A`kH(s_@glYOvHEvjMlT^ z$=N@@jAf5WghsohV;}POFAG!96X2Yh72j(q|BN<(pp*oR_OKa%8GjplydbT;1P-Rx z5Od+r!RFa#UqHiHvS`Q$bLJ*wp9y>>Z7c!(p+{K0$3Sa@q461#(Ar<53_NTkyV5h`mF)2Wj=If)#)S#|qf{y%Z=U&m8hz zW(KMtoaNJtNl|6_)cDP_(}aIAR|HZzO2WeZcYb&QdmsUawb1g#*q{sV})7DuxZ8 zmY5I*kN=~-&%OveNcZbJmOq9USI1R#4ou{bF+1Ol(gS4fA6Ms5XRr05Q81#PY-HUi zUHBp=PG#XP=N$K6r(2O(eS{_?{R+7Y^ulg~v0&$}=?GAV&6{*$`Ui{P1kIG)#o)Hb zM-6l0LS5XVnoLgrh)+p~MN)S|egiZV$Kaq*Euz!jGSD!m8&crtEKvdy+~U-o+&iD+ ztemvo8u5V*vUc{2<7r4j+?D;p8#2u zx5y~q60@H-bj2u87LrGtznTc1a!=K$F%J$#k(eRlr(8V;`49l@{HgN*WC*kx2$;XP zgKheGZBLQwDBBa~#vjUBQj=8<=f|r254`GtS7t77>V5n(;NWRs5}~?`+TChc9p1j0F4tL@pyre7V`T5jSUW?T(;Q~7oK-gYZ|k9*m80k&g7bpyuU-?MMl)0nSAoq)9?D+9}2wiO0$!!)Q9*;E!Z=&5L z_>+f6kUwl4U?~%R$U5BOIs*0t@me{`wDW?zcpa}C=Wi(^1^+EdfZjiP(tt7EWOTUgO5p-(;Qw6;lWYP3Nj#%sP#$wh7hd0P=zRnM#jHcV%$_8V^YQDnzTVgMC5SxBD=T~M!(-?KLtL^XmLN~$s>>$`n;D|N;4g-E=X{c zP3Xj`7cdA|n@^J5j2j;u8@|U)P-!GZZBtWVYAq`hEbd372Rc|WAr*G13s;M4)985zl`QPzHy0s zqCO*n1!Z1x+hZ1jKW5cmsmRZqY}jDZcTkqcPVbw(+en&v0wb->uXeAAHIC(Gq6bP( zb|PI=L)S0&{;()>t`#3t4-#Tm=A>^~-f9Q5Mx*48nqXs}nCdU@-!bb_!Mf&e6y$BW zvpe^Z-jrH*bj$i-$n7AeF zsV1?ss88?vg@dQ5jbjP}YtCPvSlBL_;6)E#?lPZ8^?E#7>n)sG@eK4S!CaIg7xQDx zzk9*34;i#p6FfC;lgVUBvh^|k1h`qyTHa}&Z>7ts3MY(9;Q!8CsUEq(a=aNDY!_56 zPI5JO*bYWpWCo_B*NqbYqLBivK6ZF^Y&MeU9van)zP-|OH_&$A!5+1S^an=-+y>r1 zq&EzbW(&uL=VPgaM}B!fLB5&+VRm ztRVS}g}E><{CbzOp&LyVb0yG1H*2cwFJ{O8?YtM!N>rQzQzNq%1)P3%RD?5qufE+ycQmy11 z)ybC)*kiEX+zYdC;o-deYcV9nT=SKkAWYdOwLko*PT!p$D4$Rxy(JPPEoaQ;JB@E- z2{>u&j%|-G06d~Iyr>K~R7iQH+$!86pW6Va^gK~E*@HQcz`7bZ>voz3h_k9Q?(UUfI6BMuqbdy_P3 z=sv*b!UK%`l!td0@(ugvRU%o8Xo_)7`ijL2q)myu`c#bxrkz%MPG^Lg%z_H5i?;0= zmz(mLE9Ane?OI9@QJ;g1reEF{ghl4686Y;p(9FcGcc<`^$_kYjr0wUPeU;h1SwY{h z;!nuYbKIrxO>^>-+aj&A=o|qvr76mBo!95V0DJH3+}%PjIs7=Fo$iCLHWfh%d+Wo! zgd1~%(v@K2O*s(!TBx9P7$M%Rg&x!+p<$2N#R_a3U8SSeBBp3oJEnrRR^XG}b&sS| z8C6DTX?$SB<(f^#oUk&xvHsUz8;&~!NrdCk)5N`v+cl}C;etN8IxJS7*+2jR%0dr9 zL=dV8Xk+63#;uAG=&!?f#dh;FPJ@Ky1JZM-SsLt1iZuNV6J#5W)n-@@(~4>+n&yNJ z{_zKSiF~Uafj$$uVxp`T#{~im?`OlK;snr;ZPVmzNePT8yC=}8RmU6*H^Gj>FCXPiFvI_(rTIxBz6E|a80jKN=q+2@NDv(n` za&)J>V2wFPa4L*X_tIRR6>y#s2a(+EkD|dl7MEQ61>SZ8eJ=qhNwc{lgnV9r=z(-k zba3Cg%)w0vM43Q1b82E;ni3)-LM09?%at@r3~OD@x)`Byz83JF<0pE+;OhTsXuDe* zTW;QU7D|>N;`2+4>t{2i)gck$`?>pnN25=Ju(xpHn}g$ko+V6LE4x|mY?9hsoadBo zKIppw`5Xevr8_rhr{dVKa3;xaU|55E$x2ljEC^)=J_v*e8_*yjed4 z*vMZgk|(9B6Uu8Kqki_D5Ro=y+dPghOo5+CS}TZZFb{p--020_f2ZllD@s*JQGYas z24zJg8+x&o)yDKJ(SwUIr_|NvebNS21Yk;_xVd@(-N1@e_9xYaCA^R#^YkBlrPh4z-MxTHZg(jrxQL131Lrq=>LE`0PIdPL>PQK^RBQ zA`)wut-D+#GPyp&}iF9&M- zKfjxtOl(A%`tyN>0P2yk%#NRaeGG7@V-gp8iSg6vKCWe_n0JTBRZN}h#3VM|m}$HS zT61Vf|4;-?3%t$Kuh;HQ`{B;qTf7S}kge5mAyIYv-R)76tALAr?wxw!Vm&axgeYoNypBuf93Y@nkLs&ad?xCL;Fi){nd$X%(4 z%)vq*M#}LCjZ!C|zN{YqUhc#Y80s+?RB@95-+$hH6Qr?GOqUV=a_oRo>Hi^nr}m>YZ`-_cBV83y&WDG3&ag zh8|`7=JqD=mslY6xlnC+H0&-d8Ng%W9Lkz*ZS~yB>=nrwEHMy+a__HEQtKp+pM-AIo z5h{OC{vi$-G0s2-s~!Lv!MdsY-%EZ1vv*oSuKm=)36qy;PC8BS-|xX}n7v~^!aRH< z_8<;m@2atUo(fsY1Wpr`k3FwrVA4#QY9lDeLNiqsr32ip<5TcaR+) zZVjY<2FbSu?|E6vPtE{spC+I5m_1W|qmu!bo2g>t2$+2@XX&b>91BwBHJ_S0%6`kj z5eS&=+uOibciI>1Jr?+CQi_6s2Wh9?#cedo3&8zjPqkS=51v1r299Wt@`(NTuk6q` zc49!bg~OLgv*QnBk@nf-(?NKBt`_$J_Tj0dvD$V4C4W-wRY3}qYsf;>;6eXzn3D}i zywAxmJieU4NkYFCc*ihV1XevrniL`Aho}j(I7h?%=ua0SaaGiM8@v5tE7`F!@*54- zKV`T<)=48(xM=foTt4v7@>{{2J8y9Fj(rn0@hV`EqMSQ10#XeCFu4i36$n&03k|#i zjUL(`b#6XVYcQ-j$J-aIH+AgEA0*J@4$4#SnZkaLb0BtSwd@D5Dc?sWT#ejKBXFQ! z0uj!^=le|gAP`**Zj*K8Q#zI{9|1Ezo|`sffyI@JrodTFyH{OG=XnZFZ013Q?FEp6 zhvT#t=ATs79$hGK8a{&$g%)s7rowU%M{B$A6r#j|{T$m!{L=);4iQW*tx4BFmA8aZHjv9wwpXblRP!**%{^6+FQ2A zI+_q9fRcfrM!3eHwQ(xqPR{wH;U!!k-$C#dy9j&}#x|Rk1CgGo3t>}#0RCJJZMYg& zyn#!Wr_%URR($%x^erGG#GE(9>89y?`zD2<=&-r_6H8Xr^7ZKYYiZV;62jSVwLx%Rzcp^M2Tp?cPSDlj9WC&J|&aS?% zBCn8pw4PwPBY&sqzGuY{6@|oC#D~jU6ta8hS;O`d;!b=M|4}eDs6M$6`%uPb ztYIq!Un^Q;r0r_&a@gEw{I!nYt#0!Qqw*tRgB!4Dav+X3H+{)eU1Rtsl<;e2o_)$$AgKOK^oqDnyKLm^VSVyBvd3Hnna^^bCwSH! zr$~a1LBB5@Olp7>vbp0Y88tsnB`+r~CoQUw@K(`1$?}Q7p(jD=V)0VxgR)(NUYMdd zmX6FxjnCZh)s7Uv)p4x@OWS$4ryzl1@C`0E%~f4xgPXQ3fX{*M_fXoaU36t}#Ojm= zhT+Hp?Sw`|Ix%mM*S%k3P}djHe)bgC7t~dF_1-aWtzy)c4s+7X=~Wi9=-f-8dOq*7x0F`~@{`s-)rQGL^SF4I)yFbb(Imoh+|$J7l`dJ32q z>CmikJp!`o-gI+%^{Vev2c3_p&yBqi4k0IYZs_(Zb7R{(6X`}QVJ@(^c-4$AGN z1Sqy1i1b&@fkJ#k=DUXLSyPi|A@7JZ&k=odx_LcGrVqLA`V#yA7)(e5M4u-uP4z8P zTp@F-m{)oS;7#Sc2wxqd+I9-wL>a8F;Wkroo0Dhr<&<^DRrDrxxV7?WSI@+P-XQ?A z-oMgOdJnuAoiHLK2YO;0Q_yKkbsR}~N$(=i2*!}y;todp6VXerd|BH6yf^xf(mTC0 z(&PG*OLH@zMVB5MIK*SqJZ+L;m4|IPr=|BmqkmV^AGUS;_XlPa@d@&l7rvz;b0jd; zr@d__@ma?dV6JTrkvq5Ax1ZXtey+MlYB0`uBAN&##}faz53)fCpj!nPc+X`9## zk8(r3W#*V*{%*+m*7F)>HcenK+f-izNI1}0#$XmyDp$yq|9+Oi=`&$h&;vp=Mn{F0 zNg1|<2dqIFfxJ~3*lC>?&E)y2Vu=Ka za12@o7wW$moxicR+6wmF3&<-kaW5ExstmZ{9yOi7Ygbqbt`A!T_^zP1=iurC+sqet zN}GX=FA!L!tbJXuN@;g#d;u+Jpj*E}^F|w&C2`Vf2?H2q?qpc`Q`UNTulV_A%Ju)L8AK@_rr?)%nKHbc`;Jp?%Dx_Ak{_UF_d)}hifrKkJ>dW)z6 zmth>QVv!DK;8qSx4@KZ!hx|zHM~s@*mpbDUWv9@4fAkYmFra)J7V-&-R*hnJ*Ia#o zw-)efh%zGKiswTu0XI|Pjm-<>U2vrrqVA?}qX}RbYzeaIV6n^B)0^q5DcoXA2X(4+ z!1PhCBeXzm(qd~nF?*G7oF=PjM<{@+>zMwTgRQrlsf0|bz&w|**&5ltonjY!uZ*AW zg5#P9Y-c%Qf7m5o$iqHc7x+x361q25Sj(>}h0b|0?$n2C8z$eHolO11NA|su#q4HU zRyw-X(kxkP*+Z2g=3>l0WT1?(TGD-%ET1sJrY9T(!Vn)YXIawT6r(B5WnGi5pB zR3VK!3ZXcy)9_Y zM$Xnc`vEn`C4vjoA<(FJ3Z5}rPBsdt<7Q86HjJ`LINvpHgp!7vB0AJae>{>@P}VYz zOm)Lv6Bc44u#VghkK$+WprX_aEk>PpL7ktYCqbwhTTyM%9uB9FgmX|EQM;zl3%6yl z&!{xQ1?~wjvZ=%exyY;ySF2ZCZQ5OKYIw0-gC)O^zx`JLBZ zeulSD$3}#RANFZ*{w|4d7#>aqhqlor-?t{pu&1VOMRF*21tV;c_$1o-_J67G*7vm~{W zKJik|%g3(8SQB3S4EJq)i2vb@(*1mF6H|qR=d0mkV(wC->hVTZvCE90Gf8gKdax^~ z8`138@z0DO(AN%MGyF7qQMohr3OHo-VG$F75UQtu8{i0l5i;rO1`g+~lUC-q99ztaYT=KXBng}5t_Ammc zBCqxCh{vg^c= z?W|2l@F&w|Of%M<+_S!ud*EI5N|%Vh^u3NY9kF;m;DKpO$pbOwMs()-7@n?G@g7KV zG*Uo|7|@AFNIz8m2*G&`&mFx4l~}jpJD{*?z5Y92L3V}CA?U$1iR{#P#A^kgA05{r z+A&l6;dyqa9(KSy$r&%T%H@y+<%%6}DPF;A4^Xq*`2E=8Uc~KE(r?pvHktm_?mFl4 z)H#LUihSpa{t<`LQ~fn^YV|}OzECRHUlfcTm3mwf z%G(4+%i#_TKH5w`eQ;^NN} zL-*l{Cb(bndWl|VFz8WcGDcxlU=2s7==XCf3=mv;Euv-K+{HlV%OJv&+w5cRH7I$%3);Gx{a&?^Gcdpae|%!9R-`aO zR1cGN3pf%$2=Ir>Ensk;9GR4o{!&tn3EdRAdPW#E?h>ScH-w6YQ;6NYx8Xh_0H79TnT#+Iczo_kCk5fL7i z4t&W2(p9*Fx!Hdag-2ov|Mr)z0^HDLj4;#}fCVss1TR07=r$xEfH2YhzuL6`ACdbA zazGIogaKT(AKX>Jq=$GAr9&2+1GH;#pG{;|Bm}7F7SyigUuTGs$f7uH*V2lt&4Yb_ z`n&i8$hdH z$(AQU&su<+exKl!DCD=Z`jpS8UKJ1t@_-%uYrkD*sGqH{m{{NO(Lqk2H_*t>xoNQy zp&tHqYZ$1KfeERwhzQh<_)ge7Kp_&`zP#xH?No)HJbA$iHLN+kr_?|^@ol8!+3I9X znPwm`cC`c>wk5fsR?v0UO;Y@R{3d*GW1pOQPsXH>>5^e_&;zCcg*0oTRY<_mZ<%HO z?`JOTm*sNx+axJawBNXp{a3$`PZ@~{t)$>Ypc)+nnj=1{B39>=M<8bPl)*$0WG{Dm zTeeU)D%SmM!!d3#dip&toZAbBK2U%sSx9Dbn24_%N)#OwITI<-)Lld`qG~=4ZSs=7 z^f$|Etam6*^U*bts2_5>H^v%j!vOb`LeJu&r;}!ycIyup*9JZoJGd}Bm~e$gS6#JN2jv`ob|Mf@j7@Pd(NLX>qgFH!&)q5+rwx8J8FVf_A6I zs_MaZJde@2NFOBoX54v}7_5JYVApIipD!uQJ?4C#T>&-GtrPPikJUl7sEzxtsed4X z8iLTl0@1BpS`N*DsOT z-s2T)?;!+x46|;2iotzhzAvPE*(Q_k{z=W! zmBhZ2ANT5(cb6vp;lYD0&UjR{IIBFwj~sAKL)Ot|9BnIjgz34ajWF5 zbGRl9iMhQN(I*FMGizbQdnfnjF4kG}-qhdxeCB7$I~BV0Tl{Y@1@!litjgL&?ygUS zjw-hUF4a0`x;jTP&O==L`ZibsA-7hN;hW&%O;=WnUjOKc{5kbLGx}z03!f2XiNxL{ zCUDgJ3bu#s!CZum>dCKz+rlvGqqg%0fdajvU(M?A-8FxeF^W~k;w@$+;MFk^d_r_b zNQl4mKX^pB_xnwz$|9P)HCIcl$J0VZ`5gJS#p|=z2HLJ>9_88k5;l98ZR(uug}G}E zxSSu&2eTvQl3MR0^cezQ0a!h~7VPK7RMXA-%tJcDQZdSl=o$Mv;(l7fMjz@Nma+bNs8~elQQUtz$S}&AU#`?}k@G@h!LB(S0JJG{$uUJ$ZXypTO*nZ6Vv7-2p zX+Ks-8==Zf@^t|DEv{Mp;sV)nyi3&2vJ`fNQHsT=zR z#ueIf*14L}eKwy@k(Lu1Gl0qAxbfOWKF7SsTP7KIpF00g8{Ew;a*%j|JK;5UsUhp) zSE~ZWe$3iYu#|xc9-!n0Op#+>fF%bQ#veoo!0I*#Qt(@mmLVD8zf{2~R6aSl2!Y>v zO^r)}mu}?87iSV(u$O4kmQI;Gk?8h6-%SQCR%lB%O@-iEKc=Mk$B=B(VA|{2?XHq5 zxhvkrE#FM@ZlAQ=77BDg^~@_eyPYro@MPLaqx679g%a7Q8; zCw-jYnlq40DCU6*PeT+YNff?a4$dRiW7jLWbV;o!j;uWyC;V9FmN6Lg&url}k4I>c z#o3`uS;KXsdinmi`gO@W%eo3qmWR0tztY#KO^JI+l%I)e5zp>!H1d3DkuVlkFdfy4 zlo*_!FSwGrzm@w&M?+3;aavGgYq)E5_^zRSX~H`AOiTUwCq`eG(;} z;*{u;c2B`FpjVBD-o5;2VC_r=O?02*eC{@bd)5%Q{k?t~TuCHTl9T!q^&R7Z(&9f{ zfTtr1`)rG-;u+nQE-2g>L=#*CO=!P;o6Xjkv2bQ&uW)XzaCLp!!`A6d^<;zFHZ#Dd z_hex#+MT>QT|0ORbucLOaG7e`GyO5s|lgj&a1UsGdl%_hKoVH9dL*9R+O>p zn_&{RvsW+cRY9A#0y+yz6q`!uw;A?~Q0?s`i&S2z^7B!X9d6%!vj^oBL!a|+#xd7q zu12JrA;bWaDSY(yJ7jXDpEO(qE*hQ1*Oca?-I=(A zL9TPZW7Esfsa3$7fEtG>Nu6hG zJ3$Zz{tE8;?MpYv+joZQn-*K8=O%w0c8xgLHh36V`;`RivztD_fzL%@EW%8?xwCYXV# z_Ow^{XXcl*l}(HwssBdpRpbxv7xAh$>3cN;Kz15cbNKxBxErugPOdpq*?hdT8%=Br zXg?D#Uv<@uFFeaE@*Vt=w{0=w;9k32eU0+G(YHbtolJFV!yntvU(fYKK5g5Jej9*n z>M|7{8xp%#KvVfZ5Y~3g<=SkPOt^HBtu=;(LjcBFH5yvo8JTcHzyfZl&2I7vtSfn9 zB?HM|U9-Rs*Nv8N)u3kU%>e)PBM(EVfF)IeN-8)%Rzek@O=(yWEQZvg&X3SeM2lrC zmzOf{1tYz>=c;I1jp|r8+f+9C;;xp)k`kug8?t6xfrE@o>Mr6MoaE(km-h15^JmDJ z?XSqn#7os7tqu*wu`+(%y@M6XRr&Pm!DuybE)laYmq><{O(&yF`s%L~FBBIT>Kous zC0rno^ZkL(FlJMjHheTZRhbe}uK;5FC_2ShYJ&g8-kXP0*}m_iEQ_^Ft0nWiltN{m zGB0EZAsVSnksP$*-DOih$T#!$v6Q-%l$$q)%ihTrw5-p~7f-tYeH{nzi< z`#AQ09Z$gGnV3jCl3M6~C`h zUH+Et*tOpI^RlMuphnIH-<4P5=>|7Mxh{zqQ!hpQm4J|u5Y2891%`|q`ia!w79;SX zPivceHF9|p%& zIP$?kkCty#5srM@$pFTgkg4rG*d7)X1^*{WuIHvVFV z$^o>?RMwSN#1?C1c3=Rl@esxfJ`SQ5GD>`z10moB&{E_7lV-Whp-&%Lrw;cL7&Qu* zP#G}J9h^wg`m5z6xrNvOl>@TLAbogc&j0dPY}TXN7Y>JhC9{8%=r1ebOIhDZaE~*a zvy(%o5#T}qL^ek%e}n#43J4 z+cP0v9nLjB@)W?#&-U52`y!{04)iJYra>{UuIPxXBAk8cJ@$Gt01ni+zo{)z7X^imD3-+H&7j*KB;Y%EHH|lQqMpirfuy%kXOB0f%98N| z2mmRvXht#rAlClMjra<|L#>Qq<;#0hR~=OY(JFxYk-D+4x8u;Wqif4EC$E1%#QCiS zORh<&aP%dKTaAO7fAnx+L0^8akB510KSE7F3`-sW=>Tafu>&K!YBk}6`^L0BJ99Tx zc(KoP;Q8)Jyi9aJF#PMlNjrAlysZxGzG-cUn3^p0E1E@bj!R&nc$Z4SEPc0zS%Hj| zn5hq6rYB1GG2WJ*loO&Q?w+|k3}lL8pwZWNKic#K;Q6RFIMF47qV_8&G0}_w57GbV zN@l<3+V~b2iR%Ih2zos-ke$5u_PAOm|R!>)1cn&fLizYEim7j|4D zAwHvLeCM8q9h~!N`)*R$+xg^zL9)1&=CL;jN(w-M?a^4Loy+O-ep*lJSdHi_6(2XRlt zj(`+CF^Y=KvH%aUCz2R>G1f}`kvC=e*b=Udg5*c9x_)}z*~^^-)dmwc6Fy~TbIXHJ zD5PcIVI|gsXJgFtw4dJk@hL;pz}Nb z;cMhdnwj-p`aH638d#{w?}SUZf?KeOY^*Vx>1?aZ)`;3gVR(=Ju&;)ZfBelRPrNo1 zrU{PO2^bO+mY-Wu2f_#1%&3vsp6B8Dc0ZoUMHn#j_c5nZbx_7Pu&7Tng?*VlWv^=K z*ZN{KGSIo0cTK8jl6d3_ZZQ#LjME!06g541!j#*l>gSqY+9bo+cyYj3%*JHz-KE3J zM@)G7R0)od>y%tI;z1h`;yf0#izi2~Yw^h0Zm2$PQ+@17Gg)Doe8q^JvbuE06#di& z2U+>k^EeNhJN=w2D^f=k85xTNuCBw$j9B`JnLO}nE@$c_<8AjKujY+1=2_Jd#km*=?X*!$HZPtTT}VJYE}EHb;;uKIM6xW~3Vg`!eP{-L=9 zeK<*6-yV0$y`vTPX6`iu>`?;L>^oX%4PyOAUIn>YS@D#W~V$T~ml>gcm@#R~6&fO|KwRuwQ6T;vT)?WxpV zdXe{Np#pREk&z(U1i?c+*UvoX^gnwtVinR-q`MfwLysEKQTrQ*9zN>H7bI6edx9p6 zID-}QE{TCw<3f`jzSJf%a4t?3O}0)oeQ|F z0&})*ryr$67=1TNlGFY^W!JZ~JbE%1&k50ZhxzC+42d7z#icl=uro!Hv5llz@geTE zSb+flyFs!+)4elZuS{a(s)RlZ#pbR^Mo4NGKPPd=f(EkP2)LN@A<(^teU8&Y&J|+A zU{8uMZ`530+@V*NeK~iXABwy1qFZ4uI#dwmiWDYRXL1yJn4+jQ&Q^Lcdx`XLlY6T3 zzc*}7tFdjXgDF3=wA8p76Sblr(V(v<)vtT@LR*wvbBnS7U(L5H9sx(*&WrEPH`$lH zi4pjGH}-3Enn|}~S5KL=D|AKcAQzJT>q50@mIZ8)+VKS*}3p&xr3XlA5G6=W>sZiU{-oU_$&-CN%J~qFT~i(OoGA4O1|?*O=oXg z3Ilk%SeI~@IMrPgjl7mh@qXXCO`A=Y^F)nzd?2ve}t2_N#6{J5c;uwo8YbI$Ex| zPL$`!0VHN%M~0xJoh0(QJOAR7o5YN`kM48M&&&RsT0>#cVVpfi zLs~?4NnuRlaiQR08gXKAW@~e`Nrk0N_04UiI~kv~SeHMO-R1o`7nGNmH#PFarady? z#OEc=Z@nQKUc|>jl^Tn0Q3HG|M%CIkL#wAcVhSmsO(Q}o9d1+1_mFnApibjCBf#opGsnoMG1#)Qk zL;SHE`Z{12VfDLM=+#CZEz@Ut{{5&?n`-|Jsy_KPRhJuGnRtk0)eIkdaCXRE^jEj# zo+O}|?bKb+YMhF#bB|8xSFL`z+EDngujT6U?6IuRrUoYx(&^zVmKg$dQful^8EXpUeXY}{T~i-CYhuTWWqpc^B)^t- zNuTNJW8VAn0}F&I+YraD?W@&hfF;p~&_)Pa4st{+yCdG$uyfD=$%puWQ)oayVERi` z*|5)jup4^T@Hw{P>UAYB7NqBvmy+Q1Nmv5jz#aLqE4v3O_e~eZLW|nf*4X)3wh{l% z#4i&!Y6`{paAh!5LtP=ZgwY&1F{)a+$;oRd-x{+rffMS6v*U+0lA$1IoVD@z(m}t? zAD>JwhMk$_Z_4?^`>cY8+`U$`Vg?re!u^N*%K1mTMj6aR&3O};WHGt=`o|a?-OWqg zWya1y6w%pJ2Yd&krBl`$$sCwUKVOcz^SCyz)`mjeZ=*TAUOKmy934%csp!E}i+ScA zzs=}kw@}c?l^`$IDWbkZr&yBiumnc_xGUIo9dh7o<&HUzySdMcd$RVM8BM*jAk3Y* zt1&zJ2E#%p*Gr7e&+$XPCUr8HNtZpjmZI`Kb??u)L-oUC>>g3GO?Sf2&% z#k*tW_wNiW*USQfB@GV+KK4DeD&&Ew1r-!J6?tz1d6bWW9XGN+%~ zA1^s29^jUJ?up}|Os9iKD`F>mlzpvQUvlbdbmO6QWbbLKhZrpK+y(vAwvs6P(9U56VReJGsMEjj1Bv>WTyZGC&QMHn96nCFIJmioR4YGk!hcHB5)jp=lVeVwcS z3y9M=V$x{%;?iovSkDPIak*bRaJC|WPR;G&>$7*+L!hs*CDpk`2q?j!?q3=3=rMR1 zmZ(9DoG6Kfd?CK`j@By;*0cN-r>@_nYSLi5I;`2DaV1t|)4POw2~65s*q(`UGHmVu z*yt=diU;2zjYV|aCjj(}WO*_-@_Zzu;2XCkpjdY_a)EPv+izpW>_W6^O=ZZXhfQ4G z0_^1K1VxmH;~EpsSrar!OhS?OLL)b1Wvy^4LKL|Nu_b?1$nmyH@Se=D8==r${6TWs z@q4YIu|yg+nx4?;RDz)_ynGc|x#oZz3c(MJj38ERgwd4>mwXE7p*4~q^FWt1%#5&7 z1Qn_rPSTt^EA`F-hV)7UpA>c+Nz_Gky7kTAw|++>5Axx~;7qk+T~eZOYgGx+nS6No z##K-Gba8CKk@dbf7GkY0{Qdl%9C8xe3VN?#J1Hm@?q2zxW*Z+=5JDe_IEDlXz>(Wn zjU-UBlWUIdkzzu9L26I;>90@3!$mVHy6v$C5dbuS3r#^@$JIgocZ9Sf7}81{l4<_I zVPVJ-2=qTs^9us~Pxk*Cg&l&J$3=HXHt9DC8z%?1Ke-c6_6LQ%NPXbcBO>B;hOhuQ zovV&slRNdyB@6NP2C}x$$EMgfGTQc6h%q37-28Y|iW_yBq5sK+SZF5JK%Dfr6Q5r-i=D|Xg?jMRgG^(rtC{4RAuAnNeF)$EcpCZKU@hT!znEpvdcQ9 zwcS=yNX;x@M&Ton3BtnM??p@bA~fxRGH0`_O@O;wpmDv0<9s$YQEikF2HOWwgkb-r z2qDQ{z=pyg(T31}rRQ)6VCMf)gpfHDZw7Gj;(aCID?yBKAu-FBSP%iAbf8Z&3?&e1 zgAV~lnI`bx80979bEu1lGyhgXDukNWu>~ZBhF1ExtAuYl=5w_BC*Gblop^a?t+g{f zCjJFZPO(U^%JDmfw_5bM@4V-a_QBNLlYPTb;rcLK8dm!a%3*Q55AE(=K=-g!J-Ku% zZD0oVW|zQ_5n85tZTIJ)to>9Zk+DCOARffT?stJLxoHyfelnwKHHdCjGC?Rj^Z3eh zSBPDtb12Dop4y1Y?Ru;(D_1kqLS8B|a>U26Pq+BOygs{6Z-HM(=CVG#m?d{Algc(sgdczB?F&gueOBPIANMmX@EN&;gs!>KkShT$vF<_w0I0;_KX$8Dskx@C=2>DYbtA^LGiA&-19lZ1bS z5y*)^KJL*T`a%doM)`A9`S1njal;!Ml@fM6N8B1u=f7%p-A#Ms+|LD*AM<@%l?|5~ zybm~-?9EX4;x4h;Rk!%+LZDEra*3u>#m3$rMXcv;Sg`K6HJrb6lXB!N0YN_xygnKD zE#*M9!&SX>rQ?Xa(2YG!qEN7@HdC?ZxZ!t?9dBxEkb6oDlZgH5jy(pEjUl&aVK`A8 zDG>uCapR7PZ^`=C*m*63jVs)}`eRTR&vNLvwe@kL({t-!SyRFxreO_ELHqd?kZLOs$*Zq}^Q8Sm+cwdB$ z36w88XuOALNIneO_P9cJ_vi8UTB=4b3pRHH+Z zZ$h!5?$U=@4Y!X8oF;TWc`>w*-W)3&{!E`={~lj9}zT*}>6#e4I3qCX~Vy#?xmrAofwCHPE--i9~3>1A@bXNDBFpams<1Tk|DmyEjlqVEe z>~pq$Z0M#?NIpxwi>>av{o1fwa@2v9C67tj)=9bGzzbIQxQ}M7Y0})kD(66Ml*UX_ z*L-iOo&asdbJ~@u0?Q^67#$tVmrGvNjLAW(3BlqRFF>LBZ6`B(QW;meeRJDLj<{Jn zGSe0}2i(}?oqmt291mWfRnTImQP`a|!`=#HvTi}}v;F#0BOwtUai8QE4OS|R_!K%! z#@BM3ZbzC{BF!chPIV82A|OURqhxd{RTck^OS8y*#9|DzWjLr=To&6w_rPeC2S ze*%ctNqQ%011OI@L8VYmK-2=j2{rlK05b;ODa-oxd&>ShWq8dgb=x@pPA#P z`>TdnA))nWb>V@)>GD;q7!urA+>epNnvUR2fH|Y8@ea=g+q}z-Qd|80u+&DvFS|yO zU+NoiF#V!w-gKf!4*5qG2%(dJ5FGpaq71=P<}NsPoURfU>PO4Dp0^=r^4@o*{!#J? zZEWN#2_)&HQ({)nlp_6@X=?eAe}?Z0x7)!a)b78-S||thc50{(68NRTeqJqC*jMcI%Kpc+(8)=5^*G0^mZ%-gwaV%fIbZUr z29!CNso=@k>rnlbgb@W-*>MB=133Q|dKUC)1VF*UOcQcbf4wfVI z3 zJ*lv32NIV8O@|p> z1#kI+j!1AjIXo*us6lk!CTl&zB1E0xUASzVwxR|_wIm9R24Bt@1T-@V;MhSf3(><+ z2T71%js$kJ5ZL`6gr;~vkl_y(;Qt^c(e@yTl9r_z)FIBlPLp%{7%dwqj-h20Noa`| zc-59HX}!Msl|D9#hL4OC3!mc@HH^v&YGCPUfjG}DKuHpje*G`+D|6jHz3v(sI`H%R zeC+0XsPcz5X@r5g+AnnJyta93f)L`z&I=?`zDV^QO2c8DNRiYS@}*>kM^7-o z42&m1+x#B_X2)M1H?_i!5x>OMPWqbQ$OYg+=DXFPN84+%z2rW7b>Hook7gFb;|Q z8znI`NSw+Z3vHpCW4m0HlH;vvD|mjh z=MRlD^DUag5ia`h<~7tG`fN`u@dRAdQ00gaqWrdf(ROq(a<-J*kBFAq_C-H4x-`I3 zb@koc`R8_z9jTQ@E?}bO^oOh)$3uQHnw*MHDO!m7&&e!Ng`6-%mO|x-l)?7-XQ)># zk=y7?+4<)-j`5GCiq{g3B_wRi)FD`CkACe*$i#8xI!OyTY_q%H4VX5pP->0EgdkK{Va}_+VbYqqC2t$kN9}f^@9l|`Meelpii`g+yc&yn2j{|w*NEp}EJ$XQ z*aQIHGcOSdP3T1@xW3$%b*btDkcxAoQF42N#BGHXqnO;+qKHqTkeZY@Ax<5|7BZG? zg?C$hMT{5Urr;9!uZnwvtbZ;*)|6*JJTBvm=iB4-4f*2RfMeA+{qi4^sn!5ebrqRC ze<_aiTLVN$RsQo!r8S_sN7rZiiekTvJae^bDK3`4UK(<}Vw)=c1^B{;T&FJ~#q$>f z0^x08b$~eIACySZp)iczpn7AyFj{B*UA%+b9x&o!pJn^c?<>m?N->lfCx+bLI8G4~ z^W>7Cb=4vcyp8Vk22{146j+63mmtuU!59wazU#3^C#r<{@k6fwFMU1 zU+TMmLNh&$L9@w9N0z!ZV7``tX02Qa73XHe*mp#K4yF}}LzMWAZpb&kPLaNUPhe4# z6CLdeMQw)r4u$1=B}7W)#NHh+tEsB3N+`E;>C3JlgBeCKCGJ%v=o7Arclh2=JU&DA zAmrxZz?s0A3(#GDU9KZG5Allqp+;5DhLM!c{9d!zx*zdmZWfy&D>SAu>0Ox{r2XEM z&#b)l z3g66Iqj$J@Z2ve;IyuS4>#&S%g~#oJm0o)P>9?ICj@ zQ5>yYx)bue@xh?H3UrrsdNl93b!KNWx0UV1Qv0McTYeM!&93L)_Gw)fyZQ!M*cA{3 zz8gGw3HB?f0nf+v?pl84mQUNh`SnOJLa$bk;STe=N<-0Soj_;103Od!w zbxh$(MuI8F*=8Bcy%&IzGBV#+Y)z)%&0_&i(cShztE&jJC-%f48qx^{ZHbOVpWrWam)DOf z0)xBZ5d)WxCT%26c|0YWLzB=_%R2HYbI23}?v?2eOv}DxZeYg@rgMiS9zB;erdd0m zG44nSXSHp5cz>mO|F3TbZb};2F-?7VWGw? z&pk*ASzCOl^%;n=hPirJ??Z%n3ajD4k%+=bIa~CE$4o6(&a3z?!ss4S6)x_w8kxjyo?aiQ$j4Y`)G#EAv#h8Bi56Q{^?oIdHll%un_A6 zu@A+_HIvC7SF6RKvgmWNo;F=kK5q%np3~d(*b=wieJz5oLkyKgSCCb5$D%&}48tVB zI+I=y=iWiqe2g4qg;tdxt?@j6e|kG>~ByeeV06M^_1-eYp_*ylGy2QiI&NRaqK z(Hje#V$UqB0ho2#)ClPC0MSP><-hHJPYuPX?q*%IRZR*BAJfm3kigtE&q2bUQ&fCM zkW-Y!!jO04e$6krGd3qtwU*6$_vKC^4D9DCatj8MyTXG`LVSZ4qdM0TEw^A+SU{N+ zLJZAe2ahA-Ln?Bs(c*h8R=eHf(h~Qdw8Wh`8hns|KS;8tM>P`Ca3nZ|?(fm7+7s79 zFsG|ZOtK3j=DgU(Jc5EmAreDhBZ=zljg3cMz``?Ehoj<4iPIj!G z+O=f3g?qo>M?4d`H1^Gb(+56X;|USR>I@iggup3J{l3fK-H$c{x2ow@12=`Ad39zY zLHha(^)@DKiA5t|;>{ddmIHB!04S(&jW=>SA4m!bqh)O!Z;7`CH(QB-_0>ll+@~DG zFeGXncf#my$jV~xCB|HaT?-UqSnUQ&A9_r6sCvy03qvq|b8^yV;CW!+(tHfJLipRM zT9Xhtte#;C1vxKV+wa&zzcx^Xx}KM}_s7DE9ki@GK2uo|AU~F@vdajI)`hWnP;&HdQNK68`m z*3RZ9a!AZEfykm}Y%b+@S}G|AFm!0#GF$7qH9md6$jLP#$qYOLVeOr#*{Om?5#mm| zi@A+!4?tkE3%#%n!9g7f5P@hg$2ZT(%wZT;QJ`K&8Eixt4gEt=TvjSW?W z-(*7kQhfQFO)pz$r@v{5S|4F)Ztx^%6Mpc7s`R;6S_^n=2waq0i|tCMv+mPfXn%2x z#rLBo7;;gFED^+j5rRa1bb~ddb-#%jYOqIR4`B2nDza87YK%e1MD1O3ZI{p_wqH6-~nBH4>inT!6ar+gh$;HZPfx8`_6VVTZsl zqIS(9Y{C!mTFfc-7h?Wv9-kqk=5v4K@!1F=l+oU)x5(0nDl|}Uy@kYCXL~|!6%UX3Wv#iKu%La63 z#(4QjSv#c8w$(v9rs?^^vp%zQI*PuQ(`C=gR1@x-742{Q1WYmK>zy4k)iB9ND^pWb zcke~e_G`7z|B^7a^!Ja(Tf*xv#QNJL3B@zKD+(=iLhPh!j(Ew z>)t0Y2Tu2?>Z<@9E`myJ!*<#X(+;4gR-T*vkFA!%XX35{4b2lu!Z4|yYdd)Gu2Y89LL46M*Y$$qy`ja^~%EVpl&ny|+ZJ;MJ z$BGnLAr;3LAUvcS*OgYAFrQXyb5+XnY4i>^bj^P~R(|fjovRhD&Dht^yo{Bwx8?j) zeTxy$Yj&1WOLXtBCqxQ+l;l(B4bDO*z*$9+%FQFGGR(zn_WEOejqS($NCkI4*8Kbu zRm>*i{4M<xS+_r#qWaQw&)v?Fpf6|c zhCJuKbsA%I?f%1f8@4uRm->40HZ4Gc*kgO+F1Q;WU^IW@np$@mWFk7_pB~;AJob^o z>h9&sgIq~rB>93wAoV{b%Ny2l!0pvfJLO#wQzQpX8quGCyJr8mw2lqK=TRqt*RWmj=UYdv0 z_G$m6x|esgSY~Jf6{r*(x1b%IY4~Qxj7Lgck3*mFv}2g1G0k50Oo!cVgF9WRkOr+& zZG+Ta>=pT;EnP`v%xz1me)i#ZVJQI<<E$f$De%XAJwOgBd$k1V6?c&0d@J3L1)u!J=2~o^%Hu{IB+}lhWEUdOrry@{H z9XtIuNZtTqsn7S*J#HPUwDI?!4`tMkIH&PoVspv#!-cC!6e^y(?XkpKak!)`x{fR7 z4#gyaJ0<}Z!f~X_cLQgBd%fL4D_8%Flyp-WS{WE$cO=m<2gf38@9gp&333x)X*9LW zFt^3sjGUh_*O$3ApO|U=S!wbSzwZU@!Dc1}yRI}UyHb0Rr{C4r#^t>4^5{Vq3ci^S zvb42qKskExDz4%+(k_a?vAVBx@P1tfH?3~^DK^nJ!@UD^>tEA(K7P`k`h3;qmb!1g zmhX#fw+kvs{Yz3>?%oNFxsRu`^7W=S_}mSh>l1dsT?1lI@K62-+11r3gwlyOy1P3; zH(k_l`lq+<$4~qF1r*-R@OTJlFup;kc8li^Dd-P!v4kIqHalPGR`jEZ`yS$D0oa$5Cmt!iwYu4DYxAR%m^T01X|3 z10}J-y(|p|GCe{RXZ;EU*x%)gro^+qg2i)GmK~!&YdD?Lf{;ixSc0W7Z6|1$C{$lC`_?hP*g@`%W3-C6lT@MDw1xQAqvC(6G_^gcc@Bt;CrG?WnmZEB-56gyk`b)cm z&i=V?kU{hWV~>K=-6az!;}wEQx3 z9yNfLz=)?E0X-xD3*=~x{KHtW(33w+4C;z@{Ho6{iTv5ov+9TLdbqMoCz%Ggk zNhnxBcz0?1Gj0X^^Y5aPxu--^Vz+D&W7vNyWCwN8V1=m4-sw^U*2yWYA ze=KAeW`AWE+nk2pe?P7RPR)qH9e*RGgc9`+oU1kKl^6zhRaFpi90w{zD`c_%HOdLn znA^IL8=WE6Um;@QqI?C-DIxz~8@@gD=N_4p^ipMxKq9qUcG&w4B#ZxlZiOH!|CL)I zxa8vB0KqH!Tp!KZ2R46j)B6-ZPTQ2eU%*pEI?2lt7kvFjII-3Yby*sNbleqvdACo1 z=k3XuFCJ+~58!5GQg^e;>XiSFzxC4Htjnk05saQBVA<`^==Hs@*km@2rdL;vx1D2M z73S$=#a{e{ZT1o9P=K_+Dt=xck|JXM&R)mU!e&Ynt!)F0AVwRoI7T7y=#AlgJ{xTR zE3`UbRc((fpO4m9b#tw*IJx=t#XDp+2#fp!gT3|Q0UPHexJrw_UNe0J&TPK9=IXX7 zbn;PS<}mmEkVQ}W`rkc^5(P@t`@}JyALsBxZ9@}vSrT*ULG=j{rI~OJJJ-~iKV+ry z8H=0IJKRT~`k{A_#9(cz@3?-#55ird0TN=zA&UeJUZ|cO0e^D{P$;Rr0RPN*yL;sz z!nWHE-u}mp1Jd*pvHdN-=w{d+5;UUV422{l0VR=8H)wzmOB?wjVcpqoDS(hy2o|^; zvg^Cj09kXw{(Zg`(E(t;kS?;jDf+U& z7e|V=E=A2pCYJtIb7&dW#k@k)0TkCdIJWf~o}cqR3{Bi;d@{OBS^O@MmgK*#w$>#) z8$(nX5S@oQUPZx?XPX(;KT`*-fzxt4(eB;l_x;!1)&}zXxO5$y{1EMkuF9LuJp;xQ z&2P9)dmcTHyQkSmkEDk5^8z9vf_Jp-1+E{s* z!>2dlG_>TawNC|<8ob6TzTK{`L6-T2UVdTP+;{0h>`j%;uNzZ$w?JUx@DP{n38EzV zTKPJ!Xl&t6=!`ue8-1J0U-nW9*XPT6Zv@?4-m&MmlmsTT_y@j!cD>lQPr>c0wK|Q# zY>MNm<(4SV656>h>-#Y1MtokrRh`||*lnOB9Jt&UxJO_``DpLP&k8loY^^suVGn}K zwInIl5|n+X(|IXuyEXHMFF$Fk_@OV9DA%!)QkrzJsj@QAtT|MWQTW^SpS(9a;~V{k zCbwE_Ud}vyLa{eh!fjSNS=q^_Cnn(2a{Oi8Pbboq2=0dED(;j>+8GH`&dhLC9MgBL zT=T@%Xk9(QDV2hosVUICN-sm{$mUu}{2kS=1$Qd7jB&Z(r*SaJj=J)I0#o&ju>m>B@~m^c7DAoo@1 z;-_kXe(eKvUsg;|{=ub~?&JGUFoS4nD#g#MrhU8C{XV|gUugYk285e>1Z_{$ou_Df zhi*6Gf}Z%JleJ0F_Pt#FHjU@ydYFWh%T9@uPaBC3(8SY=F9(1EMzhe?eFItw^D+u| zLVbza#K_@7~YULI@P_ZP&s^c za?aDj!tZH-;?oQ%cSCzu%k}mkx5?Vu^$|s7V%-G$H2F(&T*8k^B$?!`kBYdP-#Ri0 zy{Z!<+S`wYRCL*0hq#hRXIMWa=YQ%gl` z35Ki?wpW-xyxY<1M0U(LSLpru=hv?rU6*ElasS$OOE|1_!cfEGk;G4x^X#(Q`XjJ&paD6;UrUfWbO_*i3he)Wd5i^mNrwQE!{p7^ zT6Q5U8iil@O>0U26Xzpq=rmd4F3H`*Z2=Ido`*ue?{*LT&f<^E2%wZLlcr}>8-ki)*e zR}TN)CeI!oRFX{`6%bV>Q2eAzjIYR;mS%4ITbhx1?;)al^qW>Bb|{Cr`14!d!=G?x ztrzTGROds9{hS&H8Tl4c24xFbm@a(iHg?p1VoJa1F;(4*!Uqm?0pEvb7E{Y)b&CqC zL&T`|QB2mpc&*)x$3_#+wUed`jOpG~*QgHrT}YJ*Tne!5q8hoqa)nEz$wT>YjmuE^ zu)&^wOAB1^e1#Mq^@S0tf-Yw1y;}Xh8Ada-*`eVO{!7tGGea>T7ui_9aQ-_WM_9n5 zz_mYR_+NxE2+(gK2|`fl4$@yuKh6J2EQFFN-t1|Bh?(#~o$!k)%ny?onG_P&lOv2@ z0JcZ1@rRw^?ImhzhPbogaxU6*Y9!)0c=zg0@IX3J^Y;RNTFwIqlmXrPgxaZ${>>-u zg**fFLVzGfi~a|lI6?iE1&(WHh#}Oc;eCIU*!1t)bNJU|K*5LaZp80et^wSKBD07^ zzuta+^hAgCZ*8@4=n)}YoItRasNblD3oOV8H~C+Wd%j&&d!HpF2=S%FT4R(wPQ-6& zL@E0Aqx}r4ttV@C8Gv+s?yJ>ubvVJFOhIB>%&qcwuQDZx3ub9t`(ny8CFDM=5)Az4 zdf3FVre-Fec;U!4#`T+V%`pyb0{8QROFdTZxx^(gn>jMtT;W zfomat6$CMYZo}drl~!A+aH+L>_txo6ztJGS)lU?QpVi;B@~W(9<2It6$32G~e@*zO zire`zr(cAu-yIdrakbxTe!N*6c(0H>Xpyb?87L8TB@%$TJmzikOye&-wQCKT zK7ac7$w+$CNr=dro^_@hw&a&U44h>rI9E>36eebkoPNzole|xL0>28ae?i0WsONP? zp=&xGnxtQaQZt_K$W%>kRGYvD)i%L^FQK8lB8jr63#Vh>1^kV;L8roNa~RoC8{a{5P#nuXqqh8)kRKmjmTE7SPHnH7p%C!HYD-Y*u!q_T zl8g|NlOcNn9W>p+bPiTRSk%7kp>LXEH%G09GZQ)3-yPDISoL{x9Oga-8)38`OPH-fDpidapx=#v=b4fmr9A-oT`Z^rE-`Ro{77Ew9Q#zaN_ z>x+ze#5cMNfYzbtdrcaRFVQ4TIEPfQgeO9h;7~G`t*GJB)@I~0MCL&fX7l0RxVOag zi$9r{QVo^%A!fX- zG<Y(cBc&A<#MpS}%o<4l5m~T{wWQgf99GtL|-F@*29OYuU(m{x$Bz0gq zItFiPWMsWwK(>PJ1Qyjy8`Mheba zC;|wU!Z_5137)lQ0g;0GC704?Ue}il zZa@w}Y(TOdq!=Fq23S5{^OGk00_=JasW5M(h16+#RkR*~&>GeHk|+u5cVt88|9 zkjaER*wiy#2Lla1i)q#8lHD}+xV7)|y!1l|q9m2{eC3@(_Qdp?lD5^rnPZ^=MZD5G zA*YyplOc+96q{@z^s2F!SHqsQd&Vj*MpPltSvkzYOJ~;g(`|}PuwF%{V<{!vl zW=xi_p(s%e*GL>>=|;~$Xd(M4mHf!oc)Woo#eH!MxTrWuku(KD~X^8q_Y8kWK2DaL>4TWgcj0QC$i zjU!Q;&ut`@tO||Y%|#=wiCXr|v>l5`j(n8cL>OOUCE2h7nK{#nNVtM-r4RM8AITJ_ zSOALDjeBy?TP|=OFv_qpyh*B@;02tX=|y$MKw65BxEE$rDc63nC5^m5p-MkpTZa*rK zO8H2`paUfxm*m?HsLO&BuDN|TjY$nh@bXNbmb26u=-Ef0ZNd1=8T68Hxc$fpv7ZO} zyJ;G|ZI#x9WFB@D2!&f-`{*F&_EyO5K|DI?go_bNa4>NVm=hsO4oj6UeHM%J4fJdp z54>DT<>kmHiMhOKpJodO}(z5$iKO1lk^#JZ~!~MjS`om9nLz2H7PWgd7&G@dD z4Zep)mpm3^7peO8I$ji1fWuDWB3XTU@us;>t0xjKmY8t z;Og7zvSAX*l#*vHpMSV+V(z(bYQNc!NX6wIW6yo*mNU@1W4Pm90yTLPwr7UA|FKOT zkA8J|!wB8uCscXjDM}rEQtdOjiM_fxIKD8{AVMLF_y>io;5)JJ-Y8d9IYZT$!;XFF z0$Hai-e2yTRk+>=%v56RKlx8mBuzT+M6#sBA2z%9{9H59_qz5xz>dmLxU5&T%FR$|*#w5$$M`t$XFQWLv}s`BZ`={H=x9&wKDv|MP97b)c za>yy7fpFqg?pw9-95RT-)Q}P{oHve!WKX5$`ymb2@3U0Q^YB52kpSQH)#$G;ZY`}* zGwv-pnCl9#NEk)@(kB3>e)?JoE*025@y+&^xFbj2l~!g>c04|~C|qkFYPSn-Ke#gfV=T{SSm)c1>@CZCu`GY3s{*I6omr51YZs->S?+5RhrJ8 zZnnQw^#xl_Z*C+@s9b^Qh))7gnJ~v&LxZ&7Z46zdQp~fPWUe&IOI?+%I1HH`+{)_b2)EB;6r)<6M_6u>`ju3_*^)dv1ux)R=}Q`V zu}ODQmM?}{3WzjHVphsgE014+c6w>9%McwP!Cyb7=pGIhx7EAQ04=`mDNljJk#qPo zej$k{7h+x{Cw4_l_;m3h50k88+dWoSqZ+vc_xVSS0-Lko8Hi#kcCfX{Q&e6&J7{R% zPHs%?CaZMS?1Nt{IW-*1sdurpm!2M1dk_C@7(-`<@p*tjxMx2a0n# zKazmVgmBji6ks3iFdRJo9oN}PBZhg1PO6(r3Zct1-h=id;NKBBOnm*O)c0z(kqqqp zx%U4CTTZ52|daqwAGjQFg-UW?`Vd#VOm>~%cny0uw|Mln4CCH@i^Gw#7%|&pb z=y#9Kkj*#@(KD8+GGCXo#ZNKa2b>ifpH09^kdIKAjEvEj&jZ`Z_z!;5hFz5yUE6uV zMos3KWt(aUDc=y37$_r{KpBm}#edXOsYY>`xfiYh4211#Br~{pl6grNwuQRoSV~}G zutzo6l0x>Gy9%KRATHcTW!X2DRpf^VteH92{=#c&*&#}5E`0gnnpg~Fu$+rt9Qp%j z%M!L_G8Tvv}6^TjcfOz71fez$(BKfRIk|3nK7ee2h=tJ~tSSA%d%>fvo*kzgeZQTcM z0$Eo|h!%-BGjG7pj~$w7r}SD0dO(sb)*wON-xX!chewl)wt0J1VVeB|6vb2lc98q( zie`rq#eOmRu9XOLWDijI`>KxUn?EF}aKM7q8L7<&EoN4Dh&T9vaGUzzY^6-6Wy2^D zJw#~dxyB~0cH+UQIunXmk47$UewHjX!XcDBektAC|GQF)DP5NM|DKD6oAxjS^}UTa zxIunWl~a+zzj$b>)0}R1hJ9v)PnS8JU3zB&N?g|9>ZvNl>W&Y+CWS%;FgD+jGqhR& z!dnZ)4#m+j??Yw;7w`zx0ekCUF>DfrybPova-^zcigcYnXt4VVI!=V7?7!9wst{Ef zmXHn%iVD)hAd-MPR%d;Q-ftipb!3Hrq=>jbu)I94^IUb4XJu6d+l6G6*J#dl$>^<>`AD^d+x&5^LE>J zj6bY?`-u9(J3N4>p&g8N6lg_(?f>C#Hub%4!C3zk`6FzWKo=EwQW8Q{^4@Bjmwg8Z zHT-+NuFa`5i0SX=f;ZP&rqn5uhX}a?3E=m2E{m9zc+Q+C2mYS**RckmKi+zog&24j zyG`hne|xPkF`4Ro^TUfPxkPc~vHq{2F`n%T>8C;?CZs-g#&CN-|=Aj2$Jn|m4OW`jd zR6o=nqAVo)tJ%T&$Ku5GLvRi=zTKG=nP2+zGr%BDMuGzgjp;aLW-}d@X^r!p#;jVq z-*dJzdfr_;2X3#;{UA7~aL;thbY7goMLfjng03F-*V3eU-G*h56H~tD3{o--j7q65 z&YPF02;D(=W)ml%onh=j-$=mExkc!Gcr~)#KEfn{Yk0Q*6+CKkh|kvBJASaz?b?3U zi#eXE(#avfwJT-w@HBs4QY#Mvt{X#4wwzv zIUi7kv4(z-&YsAC9=62DS9<%|b|dCu&1q~;vW=;}uGs$gYDZ}$bFKXGpmWn5V*5co^m0L%)r**6;+ZKifbu2!Ly%2F@$hV*pGkc{ zWCpaBbV_4P3dNb^$=-dpZLGUJDW=j*@_??4&Z_6Q*K5y#7N?5H4np@^B0_^}sGyGL zj(GF6>ACEdGURF#ZIW*eu;1d?Imp%jmGxCkQiemCt9$0Uj%xt;ubZy7$zU2hc4Vno z;qLv2o-~1h6+x@5TA9!%LEC|^p_IXpm;6YNh3KgRH?#ZdUg_~B`Cj|bA+TggyYpj+ z-4Iv8{&^&S1fPi$kijSd-|EOxP7#K|j^)KULADGZvB%6mhtD7E;p&gV%{?2NBm|@@ z^*eBbG>;HlvgKs0-iw!VoRSs>*O@*#eWCrI?gO;b_EtN0eVmy5GABP*=M46Q8j>`V zpP#X~o9Cg%=6Y7o`F(A$RX!(4rLtPLV;o4ov73&f#XUdm+qs~}*uI6Uz(TN8Gdqn+ z=F&H>!`KaWLvGYz~fWmYxaRSk^Gx(c`;(2WF+!d!Y`aTPRo1z*XYaPWoT$y=PEV z+qO1LXlPJq8V~_(u#u!7K?DQ=2`UmqP%(hy93)GQO;9pO79}VkK}iCVBuY|2f&oMX zZ2`$S$9F9D-skLd&i!%gt@qYf_0|1l$?BEnnsdxC#`BD4bZBKW-T7ru_|2e0UQ8y< z8d6wPnn-p2f=$p`y;-E!FJ~cp5A8 zqQ^9qvTD#OHSrqbHWVd^gzW=%2d%BPtS;3q=i8O_Ekfrkbn}Yjv1Umq6lv8prhXzD zE15&2V?j9i%YVFC+y9NFiY{Nd@rEbR`dk;-Y6bO7TI}3oIV#^v&mZ9Jrt|NqQT5(S z7aGL}rYarA|B&2Uhn(_*{kLf!VGC&G^+B{k=7G3ey%QNS#TEUHro|pjBspPw&f4cD zujN&K@sX0(fAV4^u8C_ozMqrhZB27QuK57Rk~v6?%Y(v{!N|(-%iO*Mx=%3 zc+x)hUipg9#fw)>f)_*V_S;PK%sQ)+Z@H@ zj!}o2xwaTBACT(q9^`z|M;&)4O0xdl;~k4$<8q8qNq_y-v_=)sblKo*K=udFAR- zI(gh#Fu=RYxOl@Ra&%a!#O7r;=YRD~P@HrM&zhkz6W9o#-PQ@8q-)YCwy(&<6`yF< z0L1BO-|L~05}vfAL$!GZx$&&v!maIYl?&lCm92%#Nl? zDgjmW03jtviPH(3<;5f9q4xo$!(Kh~>W~ZKlC*iV?MrZb=S+-k4g# zxm)eY!5&EgZZc&Bk^s$r{8+j7g8Y!JUE^{}S6@|DKNik;npd#jaw8K-J*j+tZW?#y zXV+tmoZcpN#S@^iP;ha`qHA-h1LdvCarXC6vL(ghy*G$3X*v6php3*7Q*MQGx0z(* zCH_((bLwrxgm7_0yMibieBcgn{&tp59}SW#+B4V@67JS^Vs{iO#1Y;+$I|(J z64FlUy=6qb@MX}dFVNnG3eY5lv5-R8BB&eqJkV0cj&+;NFMqmB zE9EjZhwtymJt=yP+{stR;;{eqF@b30BauF}<-(a|a)=cGC6CmOJ zf$o6>Ehji#VeM(1N7@OU6ZBFjG7g}%q`!>7NnQmXP{#cS0Zn%0fte0?4n5GjN$b^} zhpWQE=s{H_a{Lcjf^;&uF?Pw1L#DwV!i*R4b4C1VBm)EESMxK>QDcIsOyvi>RfRm%Pggjpt8N zQINTF*Z-h@wJULM@%2}Q?EePF2onMfuJ*!Ejjre);~*)y#SJ~KiwRB`Yza!E~aPR*f|6aBY!}3 z@+K_w%9uwj3iWCT9om^AZwqjO;k`Qhe=t_DfaZ14!xwFbjcBMr^iFc2ByD>t zooZ*)ZbvcIee@v>X9f_(|LOo02#t!0$nnsHA z^br(fK468Bc=Usk0v`Lrh5{*4j}{>9U`IC41*l8` z(S#fOKn4vFQaeMA5;^+s3Sphc_T@PT{YMw0g1`$ns128F%bgRIy1l1*|L+{UuaxJf zA2P1}$XFe5ovjh9bN4J+n&`hxnIeWj4aPN zrT*DXU#=9XyUq9tLCyMkLktu!KC8U=PZplasz2w^Y^tr{X0(Yx+LKEsC9+g}{2Oq? z7p=7?NC=L zKw(WY5Z9WUbN3(oyT_qn1`FT~M$@HOW^tlsZh7YGczmIaJb#X*fYEJ@Im~3^$4J3_ zWiL{g#HeF@YL1C8&vk8d!Xf+ely5zl`ma-=YY){=WtJpz^}v0?m)hn1p7wCLQU~6_ z=xujci|jo5H3DrzOy;rz_80tYf~hG^(rZXc0Q4V=LTr7H*SscL7_?;pj}hQ?h%WRC?tRiMel7@$2;(izXZJ6?_% z(yNQVIT_~)Rd1fR#_YIs4VB$eHF!y-zeZ&3+1=V<0*AqOu6aj4{3We>k}ZfdtcA7M zr!Pz0$KF_}vfR-)H_lDRZHO+|mTIlz$Is zg%>_DrBu6MJXAov^hoRpuziT6Q6*W%+#GXQS6%zr8hX1 zPP4S(hG*0R0oH&Gzkn;UvZ);FS#~(MEMdtdIKbLP8+@x0_jG%AwM~C zcp$6$HZS*UE9kkXAezGZ6(!E_YWcrfzhiSiHX)r)r?QU4DSA^dnw6wo-fS#aA_|VX zgHtMQjIlCrP00rc&Vo&L=APVjIB@;vyY1$rfB{!RI|&$i;FG%V35r#cdR!*Vh+ANU zRT@=qF3?rGRgAGxSiYVx9~5`n$j!d3S!jMVsT}>T`FdeH+5k2!y8_UKY+`D!Q z;`42L@3?rMa27G?sfe-2?S+pJL#+CTviq@f>4T&A=|#$L$s$)V(Tk_l(`53W%Gcvc zXL?EZIx^`>!StD)s$e9$4l*gY#~vHGBC84RyRx2k>^9dOM&|9#9P@7=Wk05d3x1}2 zK8vku#!p!^Bqx2`!pC1#`A{qi>gfYzc{$U#Zi_&Jo(FfkxYxp-Ww11HRotkbVR@_} zzfRE{;zDvj0d=KnJ>Pq(D%Z7g^?TJDNl2%4Zlm1_FMl3P(@or#sm}ZGHJibJ4`o%~ zJoH+kzh<}kz7Kydrdsgj_@?o_i>~jp`p0LNJA$QN?OsUO-uUS~7@kviI-YQqDCev1 z#hkw@Zu}^(x!*ihXscZsm8&ULvsgYocZ!Tv(_n={Eb_ z=1R~r2J_|IRc2Ws-|fjw`bj#M>Cn_613tcYoBH=Lwks~mWzSW61vg&@0jzDrbC8%m zQOLp!4Nr;b^7wH|GC@=xJ({zS<+%Ckrd8bVw8_@!v(u&<%O6dqJ~;#p8|yuIF+J$E z95Hri6Eh@zN$J}|t{Yq0re#A^`!;PtnrF{-xwu&R{7O5m7^R#l>8n_ZGU7FJyE6cJM0j5wD((P1-kap(&vIzolM^G>bK%suRrx4jPdqH#nzwPbPSZWUw9nc5u78tgPA$T{ntqrDO)^!9qc%s znQ6T_h;CLz_4k#Yx*oY~-OHSy9ICqd%*i;B9?h4kqFeZgQnyK7_3`_VBIZ=xo3~mt zs@t!sKnwEM4?mtLuJ9toq6OnD7}2Cn@;J?LMl#w0Twj)TK8}S{Lpt2MS1;GmAdFn9 zyWhKNO0vr;DCPY7>ll^kYsW?|W`+9q_x9wHczSKlwg}zs8%rgJkK!bFQv?a(6*DymADOiZ9lJASV`2t~*=nHTJ_ow|XFzyvF*~&|M25 ze$9R-gC;_<^^oDWUgynAq;K$Etu{7VCiz_<5`F9 z7+s$EJhheYb>1~K>hf9-CxX7(8G0RW{<`**S8PfKx=6{jRy*x9j*VHUdSdbDZiS#(Qjvd!Il_qIGud!;j2WCp10?ZVE&u$4$r5uPiseSQ;`r{)UQeWb17}f0$rc zY14X(*6B9u!}_s?#`jK3u|Ad6Ume)rEfPUbzv1%sYBp1z)>Vy7EV^>bu5o`hJz6i2 zlygC${yJ_r=wiRmmkqhh%qc}2*M($M5>P9A35xAuxgU0y3%yN9h+3+75MnGaXPMOi14tO_1wolS|Ej%g_&v& zRgSaN=T!3eNwhhyIh?g5Q@zodxH5g_ZMRx0w~Xj7)9`x!+h5*BraUs0D}2IQf^#~D z_miOF2wjV2B|ALmemOy=?tJaQubB3}@F(Ngwe5b-;elW1w&E0ZrB)Kf4l$Ti1#hAj zEwQ&YrjEM1{yr#K_U)@BO=l7-ey*wIV&=JOo^fAdt57VoKgxvni{bg;hV3dpbhcVa z+*V7d75C*DMt1Gk3SOB1{3^@qvhC~cge zSunXe8G#ksb_y<+nh`a77P_Oau`u27m-|44$2cCeA6QN$A=YnV4e_W(xCoVOi(8Ta zw4lDzyx$ri6gVx~usN58Q4VJ!;g*CUXuxR-AzVIz(5D`&!ZlA$#)=HF{hY9j5}byA z6M7BXb`VZ`MGPwY38w`fF_sSWTZKgNfAC}iQg|lPgj^k_tQ z03oi3n7%u}D(Prar6_U+>D2U2J~AL`5~~ze4_X$PpaI=eibNdN0}Q$ zAaE4X!Q6-i)}m5`pRP>0RkSt>3k%HiQ3&&(^;SOn*f@nuO1&O=ol$_;I=9>izOJ~{ ziONl0?m0RDO_u;gXfJ!~!-5S^sJ`enWCmU3nS&;~NP}GjK5-m$|DAP*_RTpGG8Mmf zq>E5V4|m!ZfXG$Qo*ux*@~FiC_;nO}HH?z{+z&gL*zJh&9ut`&OAdalw=iw24q>yAqBk0=^vej+z{$V4IDK z^i(2o_+h9aObyZ-Ib1YYswax?U{~?2ROeidl9D5=SYKu!F zUsw*m#(MF^I~X2$AEStDtWuC%ej^DXTBU;J02w_D8Y3*I;0U=I_#^hV#TW~j02l*d zc^KbYRH7yQ{51+N_D+b3L5QCaJg~;KwF)XSO-vFw+f4<$8<`ezwIA8XFfHf7_A%b73X=Om9e5O;L@O<%FO3og{?I2@ zMkIx)25%vqW}oz%4NRIVM+2TJQx&g?43w+hNsm`xLtiopy$F(ffzo7o4EkjYQ0lD$ zz^M@%f5(SKqIq&StJF7`SzjZMd^raqhYJb9i=%dLc=oZ4_`^qMHf&L*D!qg+3=t{x zS@iak;|80j61XOVBIAu-MLl%gB~KfyxXB4m6!D{i2C8tOnzA&}{ z?ZV=x-v>pN(3>8*47&86WXnJiGx7@m_E+daHr^!JJGsC2zA}ujna=z^GH&V$uCr>| z02Ie^t0pKR06B1^9HI9_8>{)_2Np!DOo=3r&*7La(67@gsG8uboPPD~=&p*lj>P9v z&6-q*PUW5MAc>s&$9lz+!D;V4KTZcVx%SF#BY}QApAeON+q&(QvCB7S-Gr*AUbcNi zkXQvGh%tnpKMyy{Xv$7gj^%j^jO?d%cHgVY>{kbYUDc>tvLa(pPl8Ak_Q?wIV&0YY zp1jn2&gKlXB^d$oovLUp&mf?^H=Gk^8lQjBcrF9E>tMm%mGU~akOQ}INfHANt!xyv zBY~Il#qHTp+OUrq_#k{`9mbURx@9~DY9`OP3VeGzbFO3@bx1!VFd_?_yr6x7^cXWs zxk7J1Nlig^<$*yLsz8;pzZYpU*2^r!@3m5rCh%Q-#(I`>%+H z^qM|wjK5uWtxZ^J@|f(~;~NO0?c>VpKmMj!$4je=eA;c6=@_@=8Ku6w;NQPX#}%CN#;9 zsqW9$E@NO)_v(SEuOv%(i-d5Vs)DP^(e;bRs>k+n@5RX#I@vAz5-uGb$z$A@PYsUo z@230otPupY=IzT7G9Fy;8iHSbyh>reW6EVdry4iRr0YpZl!o(GerccG$U8KUE^X&j)$c zY)k<(8U%de>)B4uW3|_WT;J92RBB!AlJZRaxX;Ct!tPtX)b{B+efZPg?_MiKHb5bOF}(wTxB2Zlu)^I@Vtv{z18US&?&$LK4^R7EOVNo8 z;KbnMxw~i_qDf5d`N`d&8s;_}ZSH*0E@jLMKM&@B^C%LK&J9m^KXh#`8ZmsfKoQdw z?N935lL#i|(^bGvq7>B9pKQc0uPct!*HInCY=u!Dlt<3s?&;c^H;NJMqvAu;Qfgmx z4GuW-0|;&kyjT?l+UBUP--qEIRLHX-_fRF%Qh%XUKJ;FhKK4p*KvMmeE&*aXrG*Y? z4bZn)`FG@fcYmZmB{?TV3?|<-^1pzci;?@nVDn{aS!9g*@P!e);ST|t`x0}!2XB#) z&QhCj|1@j9JWHNhLqDzb5UB|bx5vCAG@i;^!@d*1OrZ1I?eqg}T~mnaDXjKNY4 zt>1lT$ditez`0M|8)%TD*h>`-D6$=F7s?0dE$;*9&K?75j&+hDRlvO`OD{PSGe@$1 zvYy&|L}U489V(L`xeN-jMm+z6!ta+8Gp~Ej>R3`$*el|M^}*5U14jpsr!m_9;3iu& zmp~!Shn$mwkLl5@w1Q^m@cgI=CMv3c7w4-yq=YJd_*;yRPwMYhA+oJTF<+3zJ9QhM z3!i4?qS@WjHzF&aUI4$7hYI{o3W7G=v_5RE*{lia!{fWV>U(6_jv*nXVrR2%_clmE zGkjZfpJs80?rr;Z8YK-5o17er8%q<*rH$XdJLc=Zj_g*bckV8!?{e)f>+dqX3BDU5 zvF8-&(c8mQkry@|e16hpxt={ZPu{DK9z9>2We!lXB3V3&tTA1&h_&`bg@@c{{Gh>6 z3~@wt7W||L@G4P(@)2^Ud>-DQ260X8IU^vc1l3Tnx^}28LO_0xA_J;yxHV2-v6Snn z%+HVu?6`v`kam(2{4r;&Fqt6~8#sPcJN*_&Mu#`fH=numt0$1!V);ku$IG!u+agU` zBeN)pU{>Mp;4&{WY7pjH*UR6_(z2zh8W#Ob`91u%=v7}oq%L0bmk6fd2j`P4f~RO}cfD$9+t>H=m~G9h-FQiu$*+WE$96-Rk-31V81faV zF3(3Nh4sjecrDfbEo`n{l6BB{gFcTF#T{pZD>-1>G9)w%=Vm?#I9ipL{E|~iBgMKI z{o?F-qI>NP1sM_V_m;39+eS`!9YU_Fa%*LaVcjuGbpfmA^&+5tws(;8H@j^56IB{8 z3uKL1FrJR61s+Voi&UZMZ_Y6pk0MnuBAli%e@`ROmK<^D5{|ozBBg3l#@i7MRuBMN4%#z753`PRwoDksF#NX-u9q(=|3C&QqGKXFQTX1MY&^ zrN7D4kTy+B@k*+4u#pmWP(WaK;aDWV31o3y{LpnvA zsIzU%!$tEpj{EEkk~i}u#$4LFDUKcSD!M(|@mg2#_0rK|Uv^Acf{Z+Fn7e0<8cO*% zA;Dm-kRy>KYn|$~kiO#B_cO(`Etq37m|Sf|o2g=zc~!BldXjKqp^`C*f9r*3)QrgX z#gC@*oy_kgnU~`4AGxJxA?475a(9^CP*{f4*Y3=wNng^>h8v7n^iMC@IVc^@0S`HS z->uZsVnl2?O|7_1@g5vopZkkT|>o)AfbSo1bh;#xW;eb^*AiL5K959)!F9a<=Vt9}E z@-dLgrqv1eJI%%W=-a$XtkH7ecOM2(We(v$f+0kPUdP{!S7l=zQblGLp?0b@C zknY$OovX|X6aEVls2nU_SV>?&dt?`?Qdd3EXqJZ(_vEFH&R*%tXZG6ig~g}24mqSV zg`j=b4Fprccu@V`Bp_!qL7;KH{;B2pdXOi3lCFRYWKiCMcsma~-JE?l3l2Y;@KenQ379?dKDEmBO*r~I;`%ymj~?B+_<+9Y_^!$>Sz~mf_;cvyub#FF37Y%LuotY zAT=Z(FLQ}c*Ib!p7be#GG(K@>{1rI<3rfVBlO6#agH{`z{hKcz0*nH}Z9)rmAulXQNozzh6kS%C74z=bGu;Vb)riyua$M z`gCVdlTsyweA|2ed)dynaGSh?)@kmwbEg*NGOtcAeHeOGvih)Qf1$67dq&0$rG(v$ zpKY^_@d2xY-w)Qvykt->tN90{@o^8*_-eq%`)+v;(oj@ptJ{M#+cA=(zUDn6mGO3v20hjfZ|dLhrYf ziX8~mFTNA=oX2Xj1HcSL05eRD_rQ!x0A}19aYpBPL9UEjc+3CBil6IAD588bgA0N!C)iLoeEL$n@pk`mkZBAtrgnUw z?|QyOmnnsJS!pQi&En<8lF6sEsiVdTmms_#sy#A0p5<8j2$@x?;VbYISmY_*+|rRO z+RcwA=OhXBd^y|Ce;sqj!GKr0T0Kz)t({-Q&pN_~&RRJhw~%r5g8Vf9SpkD6%c*jT z@EOS>ezbTeOcIV>ng`UJJO}hnf4@4Cj;nk3V6dEmn10Yoha75}Ibc#@Q=-Fq*VW=1r=DAcWEX3xoAh~N09fjG{=F5{ zP2Zicg41+L&iHf*UUGzjuqAWcAePGs(Xt`)aLZ&E7Ur9b&?# zN$1pzEnHNUwtMUx@cPxf7^}FMTL~k6W6`;@1`F!M^iS;KPB?2n`NB<6#^j)}zA3*S zvU_r1b4UUvDpkwQo<2%j4klH@{L(*?&CyciShVNuaQEj3-+SPw>ov;zK&t#J>#ubb zvXH9XjW=M+hFlI0#!To4hxszgG4zzH!5fyID@l8T6k30|2AEfn!{_@L1mgaZrAIYg~$itWMuE>aph*3F2_kE>ixBpCYFv=iS8cPd(_g! z^Yr6g1M%bM|2vju z73yTj+z+C)Las2lRB`2VO;LH%Fn@S_gUb8hk0U4%*pH(Lcy5EIsy!<8;Xm%%{|uL) z@;USa51M+g&&et(-x`Z4jVa<>I;kVUiBU+SSVI$NU~@3RD^VxGAqHX2H4fyEe;TC( z73gl@FPvF@b zBfDDnp8bDc>wmx2|Ij2n5Dp9>X zf(XsuCwIWg8Y_ZVc?j%57fCSdOk)ANhFGv{ba22L>nSo6zKaBGH>F&=8?&}d*T?-H zX9zWv^OTGZSRs86pj97&WPTU)Ae~YC8$N^|l{ktqqP(;U+paO<%sFj!*!gg}4!URm z(Lj1~{_R21?|0XOguLVh>$V&vp)JT&F?NS&J|9ZBs1Dc?Z5}a1!XG*m-+es`OKxM!maX>J0qD_iKu zESq~xb@W~jx8fT1Q4K?y9ZYkpke_NyWI)*air@f=wvW6}TEqk(6fr%Ino-F(k&EsA zbHQJbs=%wK!607;3mY7e$8!lEp&N4-S5OrmCIPUpH{9$xOb$FIFIku%>Z07^P%$AQ zNW^0nmLQ(9LZ4{s(fLNr(ye%mbv3gpLVDtxv*D(71ck04!g z075;}Iz3Z8n*gm9-U*ZsAnm~f+`oUxzl}5py0QyRcU@<`+2(lbc#LN~=l~}|@Y}_F zp9+?&fwPcdx#%Lg@GBB@@J*zhv{72>h&5i>_NVZRK9ed_vGvhC}1mGsGqsrdVOf7Zr7)B>gD^Vwo|Vn z);?5ljVp#<8@T_z0`i*woCiC>0i@)VZJ@||fZNz}{0ATzjN9M;L^2{{%6*U)$G=)4 zVxgXfQ{|=hVBJLCbEHv3?6YUj%--)?d3leA2=a?H@YD24nUZ{I&~!#o~ePz7Hf}qDHm~l)L$+yA$@g9XoFoAL|s=~ z_LtzUsNj;a&>vq_XzIUig`i_hcdIFcaew`#^}1WQIP2_3ywgJuvuK$BiK)M9n{W)| zL82t=ch7ueK4HRt`Lv=aTcqn|{ z4?x5xGvnu}FOJ=m?AoRr>Ho^hAKI*b^04Q_fRFnk)(bxF2Mt70grs2tWU(`K%1vfA zy3Kww{46pacS}(QiTxeV&M}d%qy`u{r1!Qbi}ClXcJ-u^pGuf9Ja+b}MU*w*8O`#* z7udJSe%B5NPVhemDbJ8}AVz)fG??`?&}vwJe(4+{7Z(8;A|*xK*sk;o)bGY^`2p==&B>>#j1e(9gHZ?wn-U-<-|#ZhA-P zY`%S$Jo;^K?Mj(~?G_B*GgvR3U)9OSXXdyJ4>O_jP$fuqK6P*X+3#kpYB)LP? zT;mct&aBK1ShV{Fq*##L#@soaCX?u)UbT8|K{rvnQ`sJ?EFciLbUg> z=#gStR+00s?1luPo>X1!PGy@c8C0o-j6D)!K5;8L)FC)Pv*^?@*m(rtqrPv_#E(4> zx(NOUY^#Ev*t`@2_R?M%N-&hMl}^7^pohp+M#@k!haU}r^`N$uE&^wnDpob6Pkut$ zb(uh!P`prj&`lJg;;p~d$ozDh)A9s&pD-4!r$!qNjE;8*W978YtOdt)SvYx{W*i|g z`9a2(w2hUek=xR=o_1F4?$357%xgMMN(H#-y|a3Yb42)ju;q6&>gbDS^sIieGDV>_cOV83}2=^|u4|71(K8TzUA zEHrk7A4X80=y|;Ho;DuBZCl>_5mP#GB#0fkSQ3(?n}BQO-ml+Jt`n2Me9vrPFSH3q zvo0c9+X&C@#Sj``l-*-XKj32Z((sahlFjs3;99SRMSm$G@QR6aTN0xD2kfw5qwTX5 zT=^RppP(U5A|IuOJ?RWwYk~umIRUT z!u8yi?uHgE5y)t^xkaBugvcQ;j&0uXhT&X}QlLXF*3S5k2>wS9si5-v{pU{E2Eu5{ zw*-W*BNa@Dog+6RL>gaGU0x{q7n~@@?JCr>Rf~*G5D5xxMLsCk_c^x10bs_J=}< z_&?@0UW^=RScBA|1Ds!E@CL-aguo?=1|foMvzu)IJ}X2D*2?4YFsuChwX*oNWyU_` z#)3pZwY}*haT{daYtrVKjQ8UleyD`Hz?JimRYO$wwy)kp%y z2Z=r!#1=&&ywp@L=d9N|Gn8MKyEp$ZNBuLd>A3Enw|2!FIoLpAR3dvwDcc*+1uar;}ZwkDc(ElKkXY3`2Oef>!oC1k zSK9~Is#A1nul9Rf`VkTlrF7p#EteYAL}-mA{|KuU;p)Yu(pJS4O|5e;jIbvP>ymNK zZI-RJRkqS8nTC)$VEarO*{A|l;EHEn{*8WBFZz^GoC3W~^P-7DO8CzitSB zrpwyc1GIVKfA@~D2QpbRzt5?4Vk|%45G~v(Pj9_CifT9>wuq6Tf=z z=XSBw+p|goSDWOCZLE-l$_d(Yn%}>EyCD`F@ZutN6ZZ34FrBgJ;>*J7QWtS zSy+3L#5uvWmUYJ-OWqK@-HeCj@1c<4Rzb?$e4M@9VObtKwi|fNgkLLyCa%F8`WX`N z?1P$!(+-W~aM!t`zw?;T-yNp+QZ4a$7qj>4{wQCQk*482On;KBKv}sjRgL)Qf|8AUDHLYYr^8ngxw_)7- za#S9zmYywagbPEo0T2snAy>JE!*#u~k*AWbotRg`<&dzPTGFmuNapBPJhz>c=l@*7 zZ9`o>Y^8VA`nQRTvivq|P9wg@{_zmkaARiY)rMtjO$m2po<6s5PN$D2m-%czx%BPn zNGL{)O{6jtywH)lLzF=zsF#TSDUcA3CzZJ;VLaGz6dNRHA@F%>J zPuNLBlDl{Z7`38i!r=JiRe#%KnhqKhrT#qLi;H6F1;-!X=(3)o4N=5dTp$wk&nAtV zv*R%gyM^~iVFsRn)f32xiAi=9>{L^Fm!RD$kNcz&ISC6(2R1G!FyO7q6|~rVA$y$O z;m0B8esB;f0T2ef%z?;>SzvMYf;i>z-aP&g%bk7?v1B3qFw1`J{VgKx`p#-Fk`%oK zk$xuNJY8-M25D4lGplu+kMxE#-QtR^b2^R(w6c4@_{zN@h;p(@&#EQ%i(1sxbW0~| zO$*ODbk$8tF)y*vZDcAgF7PtfEjzT2=0=VTZrzfuRjteF2i6mJt25kF5HV&#nDzkw z0(Q^qpDNv%9K||O2xON0#GQNbFUah@zJ8Ou;Ev}TW$?9bz|i$K6H-^}ru^lDFiQn` z`j<01nYyHQeAfnK+fIIudSJR+d}+z%{zg~2plPqXzb7Hmi_G;Oif-u2T#xJ}_*Bd+A-$bdDT`M-)?AmM}47w>({krDLw${$% z{fuJZaSeL9-qySz@iUXrq=oj>e(^(3Oj>S!^YooxT@t)*5& zDgQxqOE$6CMk-AI+numrh=clsI3K^V@hR0%)e>DzIkN)7X<>El4o|rB@*E9fwB~uv32d*fwf=f!L*(bhOaUmiNJKy}gMfsg zusu-h_(yB0k|;w!#f-k$B`DrGW0k$VqL@ezPujK9a6e4N!gd*CYh?nvU3Tt*%Pn z!Cgb&dIu#YDcx;;S&Q6hpYz}DSM;r&sbqe7TJ;e9l@RkR_b7>+^T9*F z@j+^8a@26c9zB{rz4GbK=NSbjCm+RFHMU%U#jgj8AB%SQ;M^qdR0Ryn7z7dve*Jk+ zMSvL2;tl6xvGkA!#7F6)_|Wd*XU@W(KEPg>b)`e^tip$hlNy-5Svm6r(RNA#-B}O) z8!vQEWNds;8!+JeSGVAAOq}O`#Fg;^lP0Z8lF-nS1W%%TUS9J2a0BH>#bB zXK?)4IA=vZRcdjXCc@2YC_M>wgSwpU79=`$2xXvm)PfJ8V0crHpLj+FNx(qXlK znwPr@3U2e?R67%;^gpdi+NLnt?r2-erif^e6zrYFNg{0FxFXDdv!k_ zy8Um7wp5xcHjRa^YItouY$%EKlXC_*6y5+i=_Iq2+ESTbB3<5R&k%{6RMwl2%{dN3 zl}RG=lVehCZdos_s9KK>NZMzlS%CGWA=%c7v(PlM)0ACL*BexAk{>iD**S;jMCIU2 zxHQC)zK#VBj_p|4A74zwV?>T9;6R83?$j9Wq!S`t;PWQDu~v@*v%p}v6)4vNTZ0ID zJ;SIq+3ZkV-3i?)(S(Z}KzeqgUw?G*U#CT=($x^DT!+TcNGc+}G?++-B7?!E;w@6< zoyu(8&v6w=fCbZG+el%9Vv)bhe}N0E}rp-U-wi2@>Ez&){t`|sVwsTcuG-yAuc>O#qsugY9r`meYkD9>%VKqu_OnoS`aV0;yCdhN;D{;A z&Ny-nqqQzZi?N+D(Tp72+N$@PqY#sz07%pS_%y3Y(tW|?p@f6csQ_NJWG(>sa>kmV zkMjs9G{$|itJ6K>GIguiTa5NofjabLbR5r0Jfoj*li(*|pL$djg5Mq(Fr`?Z#bSQ$ zOKOc9CygMQ*sEevf`5TNIMhVgxbjxt_vl9nRVdCfR#t}{IUF|kla2XLtrO2{oxqfO zs%_lVb&el!`DW8o&N6wY=p6j$sI~-4U8!GWF}Z{S10waNODZI8M;#CZT)t zSupwRxj+Ke&ksIBrYxNfqsegxgP3&?oXyP5&3&i=7jhhVcPs?as}C{_f-;;qo9wqc zBZ>NveDt@=ZQ~~k>-3&oPT^Y-14$v1lF*=<7wN_cRkc}JG&grYMrm#zgiMIJ5*@rL z8N4aAoULK76@xLiL%QqE%Ej3w0NF~TB#vGFKiprk%ypUI%D5aA4U+-*`X8 z=7v?I`j>aD=X*vCTEsj7?fey<7pWue;R4~cTHFqp`CDLXj2g6Gee__^&-#t)IdNMc@Hl^wb#<@iX}x!X8POS6Ov_p}P8PG?r+PfO?eO+`Phu@s z)Y%P-utzXzJjV*ymm#cpO^{u*l}6>@7nVe0jj5Fz*X)`yGN43(Orj09)I?7Tv^FXBFlcUJ6!lrSD9JGtSF z?(3B(iy4D*n{Pa-2`56tTT{Fi-gXS$wV1K$VB7u+|4-Etwi|qH!I;Ya_K~RN)t}ct zWDS1FiMk*jA7J_M+1m<-Ur&2w)gMcoTximPrLsh-GFnN!K|{fIZTb_M^J^>Va&ZU9 zZAFP2OvD~u{^aNW`L3$^<@Rb}jhWy8zFH+w$dwUcjDqh!S1rt9cmnWqrkY5Z>wvY$ z5%D{>;-Z%`q^3a4k1apNx_Wb_x^PZvkv)>KOl5ye4b9|RKW!1dK5bKYt2%bKFo8>S!=B{txWGZdmG2k2H1TVt-gVYlwN3Sw7gF& z7oMOz=XuU3|NTBb%oKMt;Gyr*c9yc0UMGd#*Odg`)b{3TBGkPvG_^fF4w=MBsSq)2 z8#la^uOZ!&PX!9~gB2FnFb#DQ=Cnlo<*FrU2PXk3C<#NA*H^wUSU5Pp@!275Os^Ub zkjRN-&W9bI1u(9byeN8%`rBCe@)ufL-^jF*pWL z{x0vrqwq&Ho+&Wiy+Tkfa`;x{=lgtaFxcLhS~|HAOnxN8Uk%&F3cp?sIn}mTc=zsV95}F{2VW`RHQ+I)D8H1SpL!&t6#?M)^9OHi_h75& zX@iZJXzyaqZ{1sc9($T4XeyJ(U=e?j9(Yj7=+ytqT-Lt>1akrpUfCkZQ6l~!ODO|S zc6|EBL#M-Y;#a^S-XqAdBA%F1I7iu1A@{*N+o{o-Y1?y1Zc zYW_2}gLuqfN{^_fue<9%&d*p%zrZhccV`rSijJ`LNjm ztHpf|8i!980Pt}LNe;^;r8<8eI}fg{^qY|g$zXCj1p)`QO$Y|2uh>pg0sLXZkGA1Z zG1+3D$qXL^1EX-}hv{&S2cu_AuQ@9Av>Ev8)D-vRK=claUJv%pr>^}nxgambE(En} z_E|UKqqyC#CHp>>64{cn6sAK(B3t%tkX;-JZAgnXOOiy4QkG@bRAMowR%-nNd*L~gB^!3Jr)l3E%OvK z)PjSeApo22m1#_UFLjG95& z#1cGl+k*5~JSM0PB}Pbef=?fh)bQ&obuqoJ=$2)0RkqQ$^pEP?=U>#Q1eco(&&qV=jV|;It?9YW$I8KM25dGEX*u$H>y}#AtGS{Cc-xZ z#lM`OIEe)RH_A!@{Q!`g&4DuYP#oJ#2W7Y=6gKQo3Ou>;n@Bdwua2Bet`)})K{SwH z+%7R8c9|}C1og96)*YT>VsG1FrAgTtV7<_VS>hYmVY1S*42KC!?U4Eq(0_-8{ueM6 zEXB9{#l;ju^)n&AhiYJkijM~dfO}v*1aH%CmxQ9Ajy6G@>SpFsngnCy)??)Targ1g zb(&kU!sGE+WFb$|s64K}A1auGzAAuY3u%TnZ#4b@X}Ao(Cn}?#w~0y+c^wC31<3&7 z2x+_tm-%gw=SCD^FidIX=_pd(3&iPjf!WDY;bg;DoFjgSrlw*X!dW@8ZL<(Y7DldcJatTxY1 znkxuLCI!BpCIHE_-!D1$`?Q~Gg;B>VHfSXmvqG0MkgM{MbmuLOx}q-=W$H9(ff+=L zC$*wHeu_r)%D@u=uo3*weee~flpxgi`ygNO=<+Pcu)w5j6jvXE_4j^bFrQd4>Gbra zgv8zOU#j~mtBTBUD_1b^nEoI`jW8l-anUv&{{0DEhEapfazXfnAh007V^pP_e1Gj< zF%YI~&VQ%e1D@)2JJo46p-4VhA`$JD*lJm9SC1QeS90rtOP>|!;dUcNJ&sqoq0qY0 z9-3;k*MK>YVXP?PAFp^oiG~?cli*>iVt&oFhn!enolj*I+}|)W*6}?~=*R#oq|Hye z!cQ=OYdxXb_P5@56ZRkYi<=e53&LC5@JQ!7*gVo1knjeX-vi|~sLNAKyAgo~s?&2M z95QJq0k2XN-OsbK0v9|~b(CdhCN$lMRHV7|9p#o7#9RzfYhV;$^GmoyXi+bRyM2A!LbrSw0U0p z`t;Vu7kj=8r#va3rVQ+vzWtv67$ZA_M!LKqT zBv6SLYAaRB8*=+vPVEKf<*%snogEA!TBnR zGIl7G*k4zh^yd4Wz)B-`&knbWC`qHYMuQsx@gG6(9+lh=`gNL{+a7^Z$Uz*b5$S%Z z+hD0if4@Gnq(iu&-;?F(PjXiDQl#Pm4u!CdV9PJXsRs0LrawA2>%8~oI7VPDzoP7w$IPo{@Yr*Fhm255B2%?n^>xo4y{xWv zhmmpjDFw+Cr`^_K7@jsE9tTcU$O8#=Dl($5@8AbNG-CvDSCthSn-^t<617>Puje1- z@l+Z4M4QZ_{%+6rQ~eTKZT$Xxr@<0w^)ek+EE1aeftL!G5isLv&X6-!_cifX`a0RN z*S;<>u#PO`e~Y%U^_)R(pXhpDS-UlMe_=Fs_&U>4(=!%v$p<$S z?Lw;_c?I6|%lz0EJRgW;Qb_p>zgK>8xk;U!k-DPbWb;5L(|g%#n7F<+cWgq3VeP`{ zuEwE~!}cx4BMmosaUvB3r0_5aX-}ZVX>pHxj|CnS+%d-%F&dR8&*Ekxw^st3C1`w# zh`acgNp-ce9Yv|o?z!<&f(B=FNJgvewsEBe{hA{A-h-q(Z1(k_`!h=U#{1kzbNtu) zM`v<+5+jG{>ogSySP*Gf9$YDhHf7Y%+0B*M`*4%Mp(@BpeHTg^n|4V(CD98og3qE}mGZ>&bZ! zC!6J-na$;LBk0(J?T|Rm;3P3Ype4=QBe~&A zw+G3bo6q-CdArSpHe)FhC5ML2+lXw-37)lOtc9=t!DzZC9bI?OeI_~7%udHmhD#%( zPU*)FE8ffO0`OqGVp~idT}^=0R^;Re|Gr9rZ~wGB+GTePPQMQ~F%j56n!yr9wB}|P z#Jb`Q&ua<{4eLdNL165AJ(3s%r^Ph4ziJV(&abfkRfI^(EGi)v2Wh$!!edy-6tcnU zPszG)PY+Irorc$^z#5Q*ZIO$eewl;fU9-;HJ+pN8>Bm@WU8&tneEu^fr&2#Hvo!0G zQ7ug<1VT727+Sm;#|XI{9On#t#P99j$5 zgNcwSeN%=7^Vsj}kwcLqv-NLOF_b8}Wrm0m!&vsa2}Q!Njl@Ua>0_d1P8p1`!u=s7 zN#`|R%dA0BY>w-n{cpZ7MbB8$`qi(qWGrKp?k-E;|EiG^UH!p?pQH1RQ)*y;c+O=S z!ZD*bGDqgYj_F-6gQ>xYqhteDxhkI)8$Pzq1}+fA9q003;ZUqX%F zzQ@pP#`INz=W6+m&%#zNU1$fmYYlEt?MNRXn_i}Kwo4sRSo5`;IWPqE>QU-Dx{VsV zhAFDb6_5HTwRA75E!)4neAqFU{Z3)|Rh$Hs2qe-0bHOe0H3|w(EJ-K$s%}@Wlisro zMRo*jQ(Lp-r`p$3E_=wmxkl}V5Z`)G8>p_4aDL_-smGX6d^b*(+%2iH*L!qnrdC^- zkLw67?wub!q^4MFtkP^4DSkDK zuv(g!N~qU8=@t0=zR;>Wl~PEXR=%enwl5}mhbvDkcsL|k9qc+#Tcs+SHckK@A zwWuD)nvz2kPY?bCYL?VQT#<39M`jaNO2Xwz zB|f`@l^|O^5Io;@?%J+)s5CWQ<}kQ$(`@+W@qL=T4?RUGd;@Eh+n=4f>yP`|M1G=U zQs^!TxNen6k69_c#LUGUum4%mQoL~6lt@O@c6Yufq z8;SR1-Gee<46dza!W852;Mn?0jhjA6c^H|%x8;U@+ey^wHaC*d?oZsfgX38W*$fZ~ zwDM~quZpA9M5HE<(b*5j9Ql*jo)?<_htxsTsVkYsp~P8S?9+YXlxcWLN08mECA*Bc z;-ap#7-NsLJIt#$rsgkU%C=f>DKS>&u=W2~z&%tJU({GE{fsHd5yDrGM{T0|_d4q6 z>}vVO+F!ow*EgR~dh_M=4`u3j5kp;8jN|LmXW`9|gLTo_HtIsEBOhxxHV#!KMaK?X z!6E+Ft~|qqu-s16u}XqnDvDqyn*T|;Q$+RJRnPreiK=j@E0s_WG}(mEkTLj=1iP?Eoo3df?aZ{W>jxN+K%F?$cjMSl zr^{&>5rRn)g`J!KPu%#`+w0N6{*6aXbMP3wKTq+%z71x}9C{Dl8U5Q^L7cgN zxv19t=Ays*gW2wbj{ow1t~LFK_hsVd+9J6w=ql+}#734396N|~C^&lN#RU6?^kJ_y zoaB4h0sqNN4zY##2zpNEL`XacZ^!Wn-fT6HuS_Z`ra>z;SbhkaxkWYVOs8VCGyz}b`5;S}` zxoHGysuK62HpJ7zBq>$2II@^<@bh_S10<83cY@@)fr}w&!Dw>X+CJANiPh|;3ktyO z<}i&%hy4xS^f4kmQ)zAdMKv?v;Ury@_N!_pf~R*8O`}O*hevS*%f5f)GUdNGZ6upR z_HQQ;#ZiCHT3*%69M{;}PV1!%Md8wFl1~uwva&m=zS@T3r2nY}Qn5?1b5Wu-J{zE; z{J=?zAhoXwe4R;koo#8lwEuW*L+z`Xfonhc!NqlW&*ahxo{hB>M#CU(sbY%x_hmKVd9DPM;LhYI-Uy6y0T=r%R1*jtH|LxH{}W+5Lo zzt~l$DRr~%&qVBB93g>`MbEcB~HsiUyq>q{Lfc5>DvyyWzb8v?p;$ z>BW=)lA#~e>S-2$@ZQwsT9qGsS$e9_Qwz8@`Urg9<0*lL2otXVf;}&VXA~xi86h5oNZhMl9x#e^9_n+A9ESkClHU<>@uJ&Sk2Uld^66Zy*hYOuR?U%=I{2 zYCoFv4&igW|Hb({RI2lp6x1kmaN-!(>hb5XLW_%~BLcWH7aGswqhOyUoT7NLfKsh< z2Try-=od^e18InTtV733p#oGbB?yBtD6;XcSkq zc~RpSrl|lM`Aim?U!JHoj)>o0Z7ip`kAmo8U$m)@uGnAvp^dFxUY%%oJZhT=>R$t} z+*R0QCZ1I8$qOj3tpw)GJz*X1d5>W6WAf)Nr)SS3lh>6^Mhvc6KXgZ!NAW94-@;oP z)ii8*W)(mneW58jxA;?QjmD`*s%1-Kp=o*c}&O6vG>jWO$)xOPs4^2McFZ2ltaR~6w+Dgk!?1bh~CEfC%XPP_5rAp-7=jP{!Mx!CEe}*U!3W|$L~o@ zp&*-8l7@m)`rYe4Kifve(M0r`WmdIeG1U@tf7Hq7i%x!(m4z z>VcX+I}d0t$~^Xjtpr1-AP(oy`>;57@+TWAB+%PMQt43)oniQf*L~Pa@21a~R(<<) zAQWYjIq2Qglg|c)VF@ z37cEu%cApluS0}b^!T=GTWM#b!k${K?qSkl&+6Z&0IoXs)^mTm>W%F9=iYA-ajo~j zbMKKm^2R+!5~)q()k-khy~_59AwbLK*9X)*Slvum)Cvs|N-aZE915(=PBC0FZz-R) zEce*wZja2DjCWgg`Iej?nAfUzlirs;uf2%}T&qH0zI`cyJ@EF`L z?^--UOj~6?#UIjh>!s*97r#>1nf8?yaV0>s_ISIb|H#&41{Xv@tX~u*F{8 zjnsf4H6g^4wDEY1U#jytir9H8%}dpbi&uAdaTtj?SoZfPI@D?2k@J$ds}%j0?S3e0 ztxvmV&)EaAjoS$6p7 z@YlC@!U1)E1}K{)AmOZ`dvG8X25-FXJ^Tgq))iN(pLm*PD<` zKmnBHp)R3l`M^T)*_KRy6>{bTgU2yY*h1J+;K@i{f^GZr$I<0CQFH@>;ei`uY*jEh zCZ&Wo%Q7Ij9Zya~)+%l>#z8v^7D#7(>wG>drdk&ZtbRbK`}`nKb2+e4Gs#k8qDWPy zMe%D9^k>+Sa}qKp%mr})3HUhy#A28PMi1p#rfl0zBpLnsh&a63C8Rrtv7Neq!SCED zL72B)tmgi@gJB8%sXuFXo|JA5+fZetF~LPBzr-&2tRnSh@jfSCDtDK7lrn#kdywt| zjrvMpz;!XHEdnOo!F^^@SxBg7!%Y=o zZ`&2I+tym7sHRfWD{v;L>8(^i*?;&G7Wz3`_{I;z^!*(;&Odt3exm;gu&mIkkldTx ziBE%O+;9vIDJ?C019CGt;ZUs*b_nc1!f8~!^#o!Eu(1AJG8z}zjU+pcRuyld)r6Tr zZ$Emy39()y!Xn4;SY$OMAE4?A!{fNA!=~{gXuynN=?FujuzL#>H<8c6v$q$svEWvR zuPsQw(8l_Jig++EN=oW9d`*c-@tYP!7mQXUE9whtwZUU%ikCJW3DvP-n?oq;Z~-Y! z#LR=6+hFo%Lh2O7j=j+I;h(6gj824NQ_%1j#2eNmT&Yn1-73hKJ6*_P{Nf z)>!|pF&%9jutWK+4{#|D!2b;&&R9z3@o1Kwu4oN3Lex=D{ATqjrV$V~PevRW6i5wR zX^quplT}wHpWXlCIiqET`yC!YUrZ;gFC?^Q)bsfl@VM2ny1zRSxlfC@iOfjHi52BA zld4*s>z!WuQuGpl1onN8&rd@~W1Zl1w-?*p-&&q-R2sc5xH}`j{n_|kU>gkD!3%H- z!O`GpgV(-iY-scVeXXEBgHW&ohQ)0ElnnU5wAoUkZ8%Z`C^OTQ1FJ?s->(hmgi@)o zk|_rzpO~qCztSpOhf#)I zdv0@vhKAMMZE|OlXTEev${m9~3qQ)J_XUIyL(!ggACQI!k~J&$kNc089kLuqO^|SE zPLtL~pd~L275X@w?S~*aWQG(csL2$D5M3DF`+SVw>-1LqimI>s3=VCpvD6a5z%JDA zsr}YI=Mm(?;7geBN?K_XQqeOrwV<#YMp*21NPIPubv#gb!`_S&1w&17+7razJE%6P74|}{KNv> z*CfHswtr{*R`uOT3E1kTCp;O%GJL2E6)V#(Z*?%soNj3@;NONL--aV~Bka+z4W*Xy z2rws~x;KFUyftlh`D%WvUfZinpdxeiT=|m)YDR#d7t#%``&aEj+qGd^@FG~^`@Qi! zx&t3Kdddf{)CY%;aIGOQI6P*vww^8?8wMRFKrXK8S9~akzfWZfnkx$6wKhuyy+Mkr z6tt8>h>B=Wk(AH`6YVT|7Gz))|!NuXwUB-VkN7ESyU&9 zDSbIjb4(JCi0VK+zpqy!dPcT|4z_x}thfYx4w0B3)(>LR>34Psn@Sejl|bWn z_cuq(-J07uxyIc!!IFxV`nVI^vo;LR4fiII`+l>Z4fxFqVjBGM88s^IAHl@16fXEEzP#wAi}7(z^e=o(8@_7H;J3 zv&boYPC`hvH*tRZr~HKPYwhNSU)JdQpC`^=30a5O5=AwHXvFZTm$U3lCY8W6p&zAU zup~jxiLp`}biU};aW{AXjvmAq(Ig1bE~$nguaHfRwX{&zORxNM9xKoI*C^jvlIUA~ z`jJ@6RyO8P;tHD2?~}lG6|VwSVD(S2q?E840e=O$lRQS&IXLwaXf9ZVZHg%~XaHd; z0=WLxE&ruLl=>@%PnA1o97ci0&B*naN~3H4A0kkhh~Wb z)CLT#FB0vs>zq>RLVFgGQ<`hw{TjKdeXwPHCR>Bk+V8`#fx(|u@C1kCrWbA;{INM? ztS@Gq1TICzObu7|wX0W$YSzBg49R3H8px%#!+{T*E1Grx^^g#5l-jczgcLQLa_qfC zgIhkdTHlXTUm&IXCw^2)Jl(~L@x7>CJ$jJ>%?7qUahsayFmAmu@kV(CI8m|H6>hL^ zy|K~v|2wD!CF87Z-oglP>OL@x%9$K?K^z(BKp*KXA+^;V<|VN*@uRB^gTXaO#M@F7!qVWP1r|x2Ov{>>feNSOX8KI;0|b(fLALk_Mdn0Arg>Ryn<1o1p+sp z-{cR+h!qaj>dG0=1QK2w2Tik&y~#Jxk~v{mv8&Hk|H%q@XQv> z+=YiG!n?6w=Pb8iifY#Ub~@O=etf)D;Cky;nBZz^e7VxD4I~bbll1xQ9*AK?cg)~w zoVp74x>4(*-XaZ=pN2EEU*asY%3NPto3D|4nJSrD9k|>CyZBDzG`bZN%DCx?Qw>6I zasmam2xv`NJI=X5+9?8r+55(i-m~IVi#Krwskus)`poI8*Iz9xRfkar991|q5a84c z-ESPtugOL0-K zs}A|$J_J-F@jlLTRj)))Ph|R`Wrg0v!6P_Cf-Q{dt?^*RJooPRQ&+<}RibCu%{9nOU_M(&H#ZA;XrBAbykm9|Mp~*{$)CURZh%f`xC(kM9V?uPVVs>Y{~Ol zz~~K}rTe2q(RHloy}?a)innkAvNWKUa`Ymx%pZ4#6Z4~U#W-Z<>#nww7oY)#Op1hH+UEG4)Ni_wM0?O_TS4-$5=bjTT{MH^0z&Ub2hiW(u)u)sxnR4b4+OIu|wdvTSW)sT(YYK8y~Gd#>rHM=(5s}OzsW*HrLb87-U%)T;V@CAiCat*`YwbjQrjZagbb$AFCzpz$CGb>c;D(0DI?Bd=f3O&{DmB1?Y#+VpbSxzcVO51#~|?2gZ436m4!9SQo;K0+kVgBg?rzKb7UERP6^4-dj{=2elZyetk2!)ds6Mz( zoAm(!EV^HaG9F1srm@+BF40@K9NO++w&z+2k;sKgqjO}9v}s4L1ZfNp59j7>Di~lN z6ur>bXRU8&xJeX`*M(6XZxFChM!DQ+=4A4!v{sH$m{sAyQS~oezRW2_i~19Wq!YoL zwTpeQF&YNs5H)knkP@FjPfwpyP+%~9lDxpDxEJ@Co7S?Z z7PVrld!29J3SE6x^E~0=#iZWx{e>v6a35MJ47Hqw=D;pjAD;t@i;JG_?ph2C45rdm zpR22?Za;V++tb~Bv$@$|N|lBv55w=CiuC({eiV`Ms`mBkBv&?_BS(%j@njZ}7w*x} z=%779oM~vEGE9zXT3hqV$;-#=l9rR(=i%Y;xs!$oO{5v2@uxx8u@7EhQc_YHn)MS= zP%!67c=AMT@3mJCYHAX;Gg7lyYR|D!8c}of*pLv>K5lOATjS%-d$%$F5v8iGZmOw? zDtq`a@3oOQo`!4-b5P7qq(O6#TUv}R2NyqnEE;iO-@Xe?GTXSg*lumt(j;tyG1i(q zl_LsnQduMf$W287&kY!Iz2x> z>+1o&fr0Ts^nRPAJOk5cnrkCjsq}RN>JRprDcVirF*(~j6-&spq*e6}d8HW~yq=Ig($K-_@8_4SL@7YOa#2uSP+$vD zTG+p^;D~SAfl42F*V}t=bab@y&6_((D?v@vp~l);O?`d+tmFS!P9vc&rbNjZ=4ZQv7({u`0=m`f; zB^)d6!bD4$WI+{m9lYM)6A)l<`t)hf^XK=KmzOtTiv>t_6nb(zEq6p(+P0X4gzTXq qdwpYL^XLnwO1B@-q(N6lQ3m47))Mc1$|TajKfQfMI)z%K(EkAqSY}25 literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/assets/js/10.edbecfa9.js b/scriptApl/chart.js/dist/docs/assets/js/10.edbecfa9.js new file mode 100644 index 00000000..c144474a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/10.edbecfa9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{340:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-animation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-animation"}},[t._v("#")]),t._v(" Class: Animation")]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new Animation")]),t._v("("),a("code",[t._v("cfg")]),t._v(", "),a("code",[t._v("target")]),t._v(", "),a("code",[t._v("prop")]),t._v(", "),a("code",[t._v("to?")]),t._v(")")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("target")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("prop")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("to?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("active")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"cancel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cancel"}},[t._v("#")]),t._v(" cancel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("cancel")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick"}},[t._v("#")]),t._v(" tick")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("tick")]),t._v("("),a("code",[t._v("date")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("date")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("cfg")]),t._v(", "),a("code",[t._v("to")]),t._v(", "),a("code",[t._v("date")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("to")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("date")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:7"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/100.f7a12d8b.js b/scriptApl/chart.js/dist/docs/assets/js/100.f7a12d8b.js new file mode 100644 index 00000000..cb7273e9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/100.f7a12d8b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{431:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-radiallinearscale-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-radiallinearscale-o"}},[t._v("#")]),t._v(" Interface: RadialLinearScale")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#radiallinearscaleoptions"}},[a("code",[t._v("RadialLinearScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#radiallinearscaleoptions"}},[a("code",[t._v("RadialLinearScaleOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("RadialLinearScale")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#active"}},[t._v("active")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[t._v("#")]),t._v(" axis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("axis")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#axis"}},[t._v("axis")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1239",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1239"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Bottom edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#bottom"}},[t._v("bottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#chart"}},[t._v("chart")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1229",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1229"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ctx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx"}},[t._v("#")]),t._v(" ctx")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("ctx")]),t._v(": "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ctx"}},[t._v("ctx")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1228",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1228"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("if true, and the item is horizontal, then push vertical boxes down")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#fullsize"}},[t._v("fullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L17",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:17"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Height of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#height"}},[t._v("height")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#id"}},[t._v("id")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1226",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1226"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelrotation"}},[t._v("#")]),t._v(" labelRotation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelRotation")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#labelrotation"}},[t._v("labelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1240",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1240"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"left"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("left")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Left edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#left"}},[t._v("left")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L29",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:29"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#max"}},[t._v("#")]),t._v(" max")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("max")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#max"}},[t._v("max")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1242",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1242"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxheight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxheight"}},[t._v("#")]),t._v(" maxHeight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxHeight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#maxheight"}},[t._v("maxHeight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1232",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1232"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxwidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxwidth"}},[t._v("#")]),t._v(" maxWidth")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxWidth")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#maxwidth"}},[t._v("maxWidth")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1231",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1231"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"min"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min"}},[t._v("#")]),t._v(" min")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("min")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#min"}},[t._v("min")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1241",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1241"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#options"}},[t._v("options")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingbottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingbottom"}},[t._v("#")]),t._v(" paddingBottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingBottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingbottom"}},[t._v("paddingBottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1235",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1235"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingleft"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingleft"}},[t._v("#")]),t._v(" paddingLeft")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingLeft")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingleft"}},[t._v("paddingLeft")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1236",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1236"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingright"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingright"}},[t._v("#")]),t._v(" paddingRight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingRight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingright"}},[t._v("paddingRight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1237",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1237"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingtop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingtop"}},[t._v("#")]),t._v(" paddingTop")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingTop")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingtop"}},[t._v("paddingTop")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1234",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1234"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("The position of the item in the chart layout. Possible values are")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#position"}},[t._v("position")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"right"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("right")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Right edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#right"}},[t._v("right")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L37",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:37"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[t._v("#")]),t._v(" ticks")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ticks"}},[t._v("ticks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1243",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1243"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("top")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Top edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#top"}},[t._v("top")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#type"}},[t._v("type")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1227",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1227"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the item. Higher weights are further away from the chart area")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#weight"}},[t._v("weight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Width of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#width"}},[t._v("width")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#x"}},[t._v("x")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#y"}},[t._v("y")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterbuildticks"}},[t._v("afterBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1323",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1323"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftercalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftercalculatelabelrotation"}},[t._v("#")]),t._v(" afterCalculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#aftercalculatelabelrotation"}},[t._v("afterCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1329",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1329"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterdatalimits"}},[t._v("afterDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1320",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1320"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfit"}},[t._v("#")]),t._v(" afterFit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterfit"}},[t._v("afterFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1332",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1332"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftersetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftersetdimensions"}},[t._v("#")]),t._v(" afterSetDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#aftersetdimensions"}},[t._v("afterSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1317",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1317"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterticktolabelconversion"}},[t._v("#")]),t._v(" afterTickToLabelConversion")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterticktolabelconversion"}},[t._v("afterTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1326",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1326"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterupdate"}},[t._v("afterUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1314",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1314"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforebuildticks"}},[t._v("beforeBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1321",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1321"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforecalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforecalculatelabelrotation"}},[t._v("#")]),t._v(" beforeCalculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforecalculatelabelrotation"}},[t._v("beforeCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1327",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1327"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforedatalimits"}},[t._v("beforeDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1318",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1318"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefit"}},[t._v("#")]),t._v(" beforeFit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-39"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforefit"}},[t._v("beforeFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1330",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1330"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the layout process starts")]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-40"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforelayout"}},[t._v("beforeLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L46",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:46"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforesetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforesetdimensions"}},[t._v("#")]),t._v(" beforeSetDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-41"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforesetdimensions"}},[t._v("beforeSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1315",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1315"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeticktolabelconversion"}},[t._v("#")]),t._v(" beforeTickToLabelConversion")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-42"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforeticktolabelconversion"}},[t._v("beforeTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1324",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1324"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-43"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforeupdate"}},[t._v("beforeUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1312",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1312"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildticks"}},[t._v("#")]),t._v(" buildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-44"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#buildticks"}},[t._v("buildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1322",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1322"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatelabelrotation"}},[t._v("#")]),t._v(" calculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("calculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-45"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#calculatelabelrotation"}},[t._v("calculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1328",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1328"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-46"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#configure"}},[t._v("configure")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1313",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1313"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"determinedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#determinedatalimits"}},[t._v("#")]),t._v(" determineDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("determineDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-47"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#determinedatalimits"}},[t._v("determineDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1319",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1319"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Draws the element")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-48"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L50",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:50"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawgrid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawgrid"}},[t._v("#")]),t._v(" drawGrid")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawGrid")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-49"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawgrid"}},[t._v("drawGrid")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1248",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1248"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawlabels"}},[t._v("#")]),t._v(" drawLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawLabels")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-50"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawlabels"}},[t._v("drawLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1247",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1247"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawtitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawtitle"}},[t._v("#")]),t._v(" drawTitle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawTitle")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-51"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawtitle"}},[t._v("drawTitle")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1246",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1246"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fit"}},[t._v("#")]),t._v(" fit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("fit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-52"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#fit"}},[t._v("fit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-52"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1331",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1331"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"generateticklabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generateticklabels"}},[t._v("#")]),t._v(" generateTickLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("generateTickLabels")]),t._v("("),a("code",[t._v("ticks")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ticks")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-53"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#generateticklabels"}},[t._v("generateTickLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-53"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1325",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1325"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasepixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasepixel"}},[t._v("#")]),t._v(" getBasePixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getBasePixel")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the pixel for the minimum chart value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-54"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getbasepixel"}},[t._v("getBasePixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-54"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1304",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1304"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbaseposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbaseposition"}},[t._v("#")]),t._v(" getBasePosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getBasePosition")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("angle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-55"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3477",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3477"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasevalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasevalue"}},[t._v("#")]),t._v(" getBaseValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getBaseValue")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-55"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getbasevalue"}},[t._v("getBaseValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-56"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1298",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1298"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdecimalforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdecimalforpixel"}},[t._v("#")]),t._v(" getDecimalForPixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDecimalForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-56"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getdecimalforpixel"}},[t._v("getDecimalForPixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-57"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1254",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1254"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdistancefromcenterforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdistancefromcenterforvalue"}},[t._v("#")]),t._v(" getDistanceFromCenterForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDistanceFromCenterForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-58"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3472",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3472"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getindexangle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getindexangle"}},[t._v("#")]),t._v(" getIndexAngle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getIndexAngle")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-59"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3471",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3471"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelforvalue"}},[t._v("#")]),t._v(" getLabelForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLabelForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Used to get the label to display in the tooltip for the given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-57"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlabelforvalue"}},[t._v("getLabelForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-60"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1274"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabels"}},[t._v("#")]),t._v(" getLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLabels")]),t._v("(): "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-58"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlabels"}},[t._v("getLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-61"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1311",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1311"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlinewidthforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlinewidthforvalue"}},[t._v("#")]),t._v(" getLineWidthForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLineWidthForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the grid line width at given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-59"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlinewidthforvalue"}},[t._v("getLineWidthForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-62"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1279",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1279"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmatchingvisiblemetas"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmatchingvisiblemetas"}},[t._v("#")]),t._v(" getMatchingVisibleMetas")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMatchingVisibleMetas")]),t._v("("),a("code",[t._v("type?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-60"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getmatchingvisiblemetas"}},[t._v("getMatchingVisibleMetas")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-63"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1244",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1244"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("canStack")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-61"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getminmax"}},[t._v("getMinMax")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-64"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1309",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1309"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpadding"}},[t._v("#")]),t._v(" getPadding")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getPadding")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Returns an object with padding on the edges")]),t._v(" "),a("h4",{attrs:{id:"returns-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-37"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-62"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpadding"}},[t._v("getPadding")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-65"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L54",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:54"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfordecimal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfordecimal"}},[t._v("#")]),t._v(" getPixelForDecimal")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForDecimal")]),t._v("("),a("code",[t._v("decimal")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Utility for getting the pixel location of a percentage of scale\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("decimal")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-38"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-63"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelfordecimal"}},[t._v("getPixelForDecimal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-66"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1261",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1261"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfortick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfortick"}},[t._v("#")]),t._v(" getPixelForTick")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForTick")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the tick at the given index\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-39"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-64"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelfortick"}},[t._v("getPixelForTick")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-67"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1268",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1268"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelforvalue"}},[t._v("#")]),t._v(" getPixelForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForValue")]),t._v("("),a("code",[t._v("value")]),t._v(", "),a("code",[t._v("index?")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the given data point. Value can either be an index or a numerical value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-40"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-65"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelforvalue"}},[t._v("getPixelForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-68"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1288",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1288"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpointlabelposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpointlabelposition"}},[t._v("#")]),t._v(" getPointLabelPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPointLabelPosition")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-41"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-69"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3476",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3476"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpointposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpointposition"}},[t._v("#")]),t._v(" getPointPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPointPosition")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("distanceFromCenter")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("distanceFromCenter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-42"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("angle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-70"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3474",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3474"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpointpositionforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpointpositionforvalue"}},[t._v("#")]),t._v(" getPointPositionForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPointPositionForValue")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-43"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("angle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-71"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3475",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3475"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("code",[t._v("never")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-44"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-66"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getprops"}},[t._v("getProps")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-72"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getticks"}},[t._v("#")]),t._v(" getTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-45"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-67"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getticks"}},[t._v("getTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-73"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1310",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1310"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getuserbounds"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getuserbounds"}},[t._v("#")]),t._v(" getUserBounds")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getUserBounds")]),t._v("(): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"returns-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-46"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("maxDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("minDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-68"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getuserbounds"}},[t._v("getUserBounds")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-74"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1308",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1308"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getvaluefordistancefromcenter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getvaluefordistancefromcenter"}},[t._v("#")]),t._v(" getValueForDistanceFromCenter")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getValueForDistanceFromCenter")]),t._v("("),a("code",[t._v("distance")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("distance")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-47"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-75"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3473",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3473"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getvalueforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getvalueforpixel"}},[t._v("#")]),t._v(" getValueForPixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getValueForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Used to get the data value from a given pixel. This is the inverse of getPixelForValue\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-48"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-69"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getvalueforpixel"}},[t._v("getValueForPixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-76"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1296",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1296"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-49"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-70"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#hasvalue"}},[t._v("hasValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-77"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"init"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#init"}},[t._v("#")]),t._v(" init")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("init")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-50"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-71"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#init"}},[t._v("init")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-78"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-78"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1306",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1306"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isfullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isfullsize"}},[t._v("#")]),t._v(" isFullSize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isFullSize")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-51"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-72"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#isfullsize"}},[t._v("isFullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-79"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-79"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1334",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1334"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ishorizontal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ishorizontal"}},[t._v("#")]),t._v(" isHorizontal")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isHorizontal")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("returns true if the layout item is horizontal (ie. top or bottom)")]),t._v(" "),a("h4",{attrs:{id:"returns-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-52"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-73"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ishorizontal"}},[t._v("isHorizontal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-80"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-80"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("raw")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("raw")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-53"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-74"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#parse"}},[t._v("parse")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-81"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-81"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1307",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1307"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setcenterpoint"}},[t._v("#")]),t._v(" setCenterPoint")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setCenterPoint")]),t._v("("),a("code",[t._v("leftMovement")]),t._v(", "),a("code",[t._v("rightMovement")]),t._v(", "),a("code",[t._v("topMovement")]),t._v(", "),a("code",[t._v("bottomMovement")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("leftMovement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("rightMovement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("topMovement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("bottomMovement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-54"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-82"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-82"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3470",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3470"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setdimensions"}},[t._v("#")]),t._v(" setDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-55"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-75"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#setdimensions"}},[t._v("setDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-83"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-83"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1316",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1316"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-26"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-56"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-76"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#tooltipposition"}},[t._v("tooltipPosition")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-84"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-84"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("width")]),t._v(", "),a("code",[t._v("height")]),t._v(", "),a("code",[t._v("margins?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Takes two parameters: width and height.")]),t._v(" "),a("h4",{attrs:{id:"parameters-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-27"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("margins?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-57"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-77"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#update"}},[t._v("update")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-85"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-85"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L64",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:64"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/101.15c56dbb.js b/scriptApl/chart.js/dist/docs/assets/js/101.15c56dbb.js new file mode 100644 index 00000000..8a90e8d2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/101.15c56dbb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{432:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-radialscaletyperegistry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-radialscaletyperegistry"}},[t._v("#")]),t._v(" Interface: RadialScaleTypeRegistry")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("RadialScaleTypeRegistry")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/ScaleTypeRegistry.html"}},[a("code",[t._v("ScaleTypeRegistry")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"radiallinear"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radiallinear"}},[t._v("#")]),t._v(" radialLinear")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("radialLinear")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#radiallinearscaleoptions"}},[a("code",[t._v("RadialLinearScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3503",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3503"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/102.33b746ea.js b/scriptApl/chart.js/dist/docs/assets/js/102.33b746ea.js new file mode 100644 index 00000000..73e8129e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/102.33b746ea.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{433:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-registry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-registry"}},[t._v("#")]),t._v(" Interface: Registry")]),t._v(" "),a("p",[t._v("Please use the module's default export which provides a singleton instance\nNote: class is exported for typedoc")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"controllers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#controllers"}},[t._v("#")]),t._v(" controllers")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("controllers")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TypedRegistry.html"}},[a("code",[t._v("TypedRegistry")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")]),t._v(">>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1120",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1120"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"elements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elements"}},[t._v("#")]),t._v(" elements")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("elements")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TypedRegistry.html"}},[a("code",[t._v("TypedRegistry")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1121",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1121"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("plugins")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TypedRegistry.html"}},[a("code",[t._v("TypedRegistry")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1122",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1122"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scales"}},[t._v("#")]),t._v(" scales")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("scales")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TypedRegistry.html"}},[a("code",[t._v("TypedRegistry")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1123",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1123"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"add"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#add"}},[t._v("#")]),t._v(" add")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("add")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1125",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1125"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addcontrollers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addcontrollers"}},[t._v("#")]),t._v(" addControllers")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addControllers")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1128",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1128"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addelements"}},[t._v("#")]),t._v(" addElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addElements")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1129",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1129"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addplugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addplugins"}},[t._v("#")]),t._v(" addPlugins")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addPlugins")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1130",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1130"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addscales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addscales"}},[t._v("#")]),t._v(" addScales")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addScales")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1131",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1131"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcontroller"}},[t._v("#")]),t._v(" getController")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getController")]),t._v("("),a("code",[t._v("id")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1133",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1133"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getelement"}},[t._v("#")]),t._v(" getElement")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getElement")]),t._v("("),a("code",[t._v("id")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1134",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1134"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getplugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getplugin"}},[t._v("#")]),t._v(" getPlugin")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPlugin")]),t._v("("),a("code",[t._v("id")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1135",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1135"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getscale"}},[t._v("#")]),t._v(" getScale")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getScale")]),t._v("("),a("code",[t._v("id")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1136",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1136"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"remove"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#remove"}},[t._v("#")]),t._v(" remove")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("remove")]),t._v("(..."),a("code",[t._v("args")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1126",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1126"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/103.850a4486.js b/scriptApl/chart.js/dist/docs/assets/js/103.850a4486.js new file mode 100644 index 00000000..b1416204 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/103.850a4486.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{434:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scaletyperegistry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scaletyperegistry"}},[t._v("#")]),t._v(" Interface: ScaleTypeRegistry")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/RadialScaleTypeRegistry.html"}},[a("code",[t._v("RadialScaleTypeRegistry")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("ScaleTypeRegistry")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"category"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#category"}},[t._v("#")]),t._v(" category")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("category")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#categoryscaleoptions"}},[a("code",[t._v("CategoryScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html#category"}},[t._v("category")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3491",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3491"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linear"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear"}},[t._v("#")]),t._v(" linear")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("linear")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#linearscaleoptions"}},[a("code",[t._v("LinearScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html#linear"}},[t._v("linear")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3485",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3485"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"logarithmic"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#logarithmic"}},[t._v("#")]),t._v(" logarithmic")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("logarithmic")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-3"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#logarithmicscaleoptions"}},[a("code",[t._v("LogarithmicScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html#logarithmic"}},[t._v("logarithmic")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3488",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3488"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radiallinear"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radiallinear"}},[t._v("#")]),t._v(" radialLinear")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("radialLinear")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-4"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#radiallinearscaleoptions"}},[a("code",[t._v("RadialLinearScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/RadialScaleTypeRegistry.html"}},[t._v("RadialScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/RadialScaleTypeRegistry.html#radiallinear"}},[t._v("radialLinear")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3503",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3503"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"time"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time"}},[t._v("#")]),t._v(" time")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("time")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-5"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html#time"}},[t._v("time")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3494",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3494"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timeseries"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timeseries"}},[t._v("#")]),t._v(" timeseries")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("timeseries")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-6"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html#timeseries"}},[t._v("timeseries")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3497",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3497"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/104.8b4f368b.js b/scriptApl/chart.js/dist/docs/assets/js/104.8b4f368b.js new file mode 100644 index 00000000..614274c9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/104.8b4f368b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{435:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-scatterdatapoint"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-scatterdatapoint"}},[t._v("#")]),t._v(" Interface: ScatterDataPoint")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("x")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L228",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:228"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("y")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L229",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:229"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/105.1a3d6c41.js b/scriptApl/chart.js/dist/docs/assets/js/105.1a3d6c41.js new file mode 100644 index 00000000..f3d0997f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/105.1a3d6c41.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{436:function(e,t,a){"use strict";a.r(t);var r=a(6),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptablecartesianscalecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablecartesianscalecontext"}},[e._v("#")]),e._v(" Interface: ScriptableCartesianScaleContext")]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale"}},[e._v("#")]),e._v(" scale")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("scale")]),e._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[e._v("CartesianScaleTypeRegistry")])])],1),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3051",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:3051"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[e._v("#")]),e._v(" type")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("type")]),e._v(": "),a("code",[e._v("string")])]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3052",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:3052"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/106.d8f8b4c1.js b/scriptApl/chart.js/dist/docs/assets/js/106.d8f8b4c1.js new file mode 100644 index 00000000..f5d31076 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/106.d8f8b4c1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{437:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-scriptablechartcontext"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablechartcontext"}},[t._v("#")]),t._v(" Interface: ScriptableChartContext")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"chart"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("chart")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[r("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3056",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3056"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"type"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("type")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3057",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3057"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/107.38cf9b4f.js b/scriptApl/chart.js/dist/docs/assets/js/107.38cf9b4f.js new file mode 100644 index 00000000..556f2956 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/107.38cf9b4f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{438:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptablecontext-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablecontext-ttype"}},[t._v("#")]),t._v(" Interface: ScriptableContext")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L19",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:19"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L20",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:20"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"dataindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataindex"}},[t._v("#")]),t._v(" dataIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("dataIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"dataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset"}},[t._v("#")]),t._v(" dataset")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("dataset")]),t._v(": "),a("code",[t._v("UnionToIntersection")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>>>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L22",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:22"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datasetindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[t._v("#")]),t._v(" datasetIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L23",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:23"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"mode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mode"}},[t._v("#")]),t._v(" mode")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("mode")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsed"}},[t._v("#")]),t._v(" parsed")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsed")]),t._v(": "),a("code",[t._v("UnionToIntersection")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#parseddatatype"}},[a("code",[t._v("ParsedDataType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L26",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:26"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"raw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#raw"}},[t._v("#")]),t._v(" raw")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("raw")]),t._v(": "),a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L27",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:27"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L24",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:24"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/108.a30da8c9.js b/scriptApl/chart.js/dist/docs/assets/js/108.a30da8c9.js new file mode 100644 index 00000000..7cd68b21 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/108.a30da8c9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{439:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptablelinesegmentcontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablelinesegmentcontext"}},[t._v("#")]),t._v(" Interface: ScriptableLineSegmentContext")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"datasetindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[t._v("#")]),t._v(" datasetIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L36",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:36"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"p0"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#p0"}},[t._v("#")]),t._v(" p0")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("p0")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#pointelement"}},[a("code",[t._v("PointElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[a("code",[t._v("PointProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[a("code",[t._v("PointOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L32",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:32"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"p0dataindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#p0dataindex"}},[t._v("#")]),t._v(" p0DataIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("p0DataIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L34",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:34"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"p1"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#p1"}},[t._v("#")]),t._v(" p1")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("p1")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#pointelement"}},[a("code",[t._v("PointElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[a("code",[t._v("PointProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[a("code",[t._v("PointOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"p1dataindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#p1dataindex"}},[t._v("#")]),t._v(" p1DataIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("p1DataIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L35",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:35"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v('"segment"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L31",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:31"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/109.6d56b7d1.js b/scriptApl/chart.js/dist/docs/assets/js/109.6d56b7d1.js new file mode 100644 index 00000000..8f3c08ba --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/109.6d56b7d1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{440:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptablescalecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablescalecontext"}},[t._v("#")]),t._v(" Interface: ScriptableScaleContext")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1341",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1341"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1343",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1343"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale"}},[t._v("#")]),t._v(" scale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("scale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1342",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1342"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick"}},[t._v("#")]),t._v(" tick")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("tick")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1344",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1344"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/11.b98e8151.js b/scriptApl/chart.js/dist/docs/assets/js/11.b98e8151.js new file mode 100644 index 00000000..fd76361a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/11.b98e8151.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{342:function(t,a,e){"use strict";e.r(a);var r=e(6),s=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"class-animations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#class-animations"}},[t._v("#")]),t._v(" Class: Animations")]),t._v(" "),e("h2",{attrs:{id:"constructors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),e("h3",{attrs:{id:"constructor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),e("p",[t._v("• "),e("strong",[t._v("new Animations")]),t._v("("),e("code",[t._v("chart")]),t._v(", "),e("code",[t._v("animations")]),t._v(")")]),t._v(" "),e("h4",{attrs:{id:"parameters"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("chart")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[e("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("animations")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("AnyObject")])])])])]),t._v(" "),e("h4",{attrs:{id:"defined-in"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L30",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:30"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"methods"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),e("h3",{attrs:{id:"configure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),e("p",[t._v("▸ "),e("strong",[t._v("configure")]),t._v("("),e("code",[t._v("animations")]),t._v("): "),e("code",[t._v("void")])]),t._v(" "),e("h4",{attrs:{id:"parameters-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("animations")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("AnyObject")])])])])]),t._v(" "),e("h4",{attrs:{id:"returns"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),e("p",[e("code",[t._v("void")])]),t._v(" "),e("h4",{attrs:{id:"defined-in-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L31",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:31"),e("OutboundLink")],1)]),t._v(" "),e("hr"),t._v(" "),e("h3",{attrs:{id:"update"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),e("p",[t._v("▸ "),e("strong",[t._v("update")]),t._v("("),e("code",[t._v("target")]),t._v(", "),e("code",[t._v("values")]),t._v("): "),e("code",[t._v("boolean")])]),t._v(" "),e("h4",{attrs:{id:"parameters-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("target")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("AnyObject")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("values")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("AnyObject")])])])])]),t._v(" "),e("h4",{attrs:{id:"returns-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),e("p",[e("code",[t._v("boolean")])]),t._v(" "),e("h4",{attrs:{id:"defined-in-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L32",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:32"),e("OutboundLink")],1)])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/110.c44e533c.js b/scriptApl/chart.js/dist/docs/assets/js/110.c44e533c.js new file mode 100644 index 00000000..ff26d0e5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/110.c44e533c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{441:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptablescalepointlabelcontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptablescalepointlabelcontext"}},[t._v("#")]),t._v(" Interface: ScriptableScalePointLabelContext")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1348",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1348"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1350",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1350"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"label"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("label")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1351",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1351"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale"}},[t._v("#")]),t._v(" scale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("scale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1349",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1349"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1352",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1352"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/111.ccb9a835.js b/scriptApl/chart.js/dist/docs/assets/js/111.ccb9a835.js new file mode 100644 index 00000000..7375b322 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/111.ccb9a835.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{442:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-scriptabletooltipcontext-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-scriptabletooltipcontext-ttype"}},[t._v("#")]),t._v(" Interface: ScriptableTooltipContext")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>, "),a("code",[t._v("unknown")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2605",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2605"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" tooltip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("tooltip")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2606",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2606"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipitems"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipitems"}},[t._v("#")]),t._v(" tooltipItems")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("tooltipItems")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[a("code",[t._v("TooltipItem")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2607",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2607"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/112.2d2a2890.js b/scriptApl/chart.js/dist/docs/assets/js/112.2d2a2890.js new file mode 100644 index 00000000..86b39bc7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/112.2d2a2890.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{443:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-segment"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-segment"}},[e._v("#")]),e._v(" Interface: Segment")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"end"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#end"}},[e._v("#")]),e._v(" end")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("end")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1707",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1707"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"loop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#loop"}},[e._v("#")]),e._v(" loop")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("loop")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1708",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1708"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"start"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#start"}},[e._v("#")]),e._v(" start")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("start")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1706",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1706"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/113.5ac0921f.js b/scriptApl/chart.js/dist/docs/assets/js/113.5ac0921f.js new file mode 100644 index 00000000..bff75de2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/113.5ac0921f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{444:function(e,t,a){"use strict";a.r(t);var r=a(6),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tick"}},[e._v("#")]),e._v(" Interface: Tick")]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"label"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[e._v("#")]),e._v(" label")]),e._v(" "),a("p",[e._v("• "),a("code",[e._v("Optional")]),e._v(" "),a("strong",[e._v("label")]),e._v(": "),a("code",[e._v("string")]),e._v(" | "),a("code",[e._v("string")]),e._v("[]")]),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1143",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1143"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"major"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#major"}},[e._v("#")]),e._v(" major")]),e._v(" "),a("p",[e._v("• "),a("code",[e._v("Optional")]),e._v(" "),a("strong",[e._v("major")]),e._v(": "),a("code",[e._v("boolean")])]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1144",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1144"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"value"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#value"}},[e._v("#")]),e._v(" value")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("value")]),e._v(": "),a("code",[e._v("number")])]),e._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1142",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1142"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/114.90ef8814.js b/scriptApl/chart.js/dist/docs/assets/js/114.90ef8814.js new file mode 100644 index 00000000..8685fbb4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/114.90ef8814.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{445:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tickoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tickoptions"}},[t._v("#")]),t._v(" Interface: TickOptions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"backdropcolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#backdropcolor"}},[t._v("#")]),t._v(" backdropColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("backdropColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("Color of label backdrops.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'rgba(255, 255, 255, 0.75)'")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2923",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2923"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"backdroppadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#backdroppadding"}},[t._v("#")]),t._v(" backdropPadding")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("backdropPadding")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Padding of tick backdrop.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2928",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2928"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" color")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[a("code",[t._v("ScriptableAndArray")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("Color of tick")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2943",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2943"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"display"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("If true, show tick labels.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2938",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2938"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"font"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#font"}},[t._v("#")]),t._v(" font")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("font")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("see Fonts")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2947",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2947"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"major"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#major"}},[t._v("#")]),t._v(" major")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("major")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("enabled")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("If true, major ticks are generated. A major tick will affect autoskipping and major will be defined on ticks in the scriptable options context. "),a("strong",[a("code",[t._v("default")])]),t._v(" false")])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2973",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2973"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"padding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#padding"}},[t._v("#")]),t._v(" padding")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("padding")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Sets the offset of the tick labels from the axis")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2951",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2951"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"showlabelbackdrop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#showlabelbackdrop"}},[t._v("#")]),t._v(" showLabelBackdrop")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("showLabelBackdrop")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("boolean")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("If true, draw a background behind the tick labels.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2956",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2956"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"textstrokecolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#textstrokecolor"}},[t._v("#")]),t._v(" textStrokeColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("textStrokeColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("The color of the stroke around the text.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" undefined")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2961",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2961"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"textstrokewidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#textstrokewidth"}},[t._v("#")]),t._v(" textStrokeWidth")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("textStrokeWidth")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("Stroke width around the text.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2966",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2966"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"z"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#z"}},[t._v("#")]),t._v(" z")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("z")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2971",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2971"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#callback"}},[t._v("#")]),t._v(" callback")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("callback")]),t._v("("),a("code",[t._v("tickValue")]),t._v(", "),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("ticks")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("p",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See callback.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tickValue")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ticks")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2933",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2933"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/115.12a72d27.js b/scriptApl/chart.js/dist/docs/assets/js/115.12a72d27.js new file mode 100644 index 00000000..6a870405 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/115.12a72d27.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{446:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-timescale-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-timescale-o"}},[t._v("#")]),t._v(" Interface: TimeScale")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("TimeScale")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#active"}},[t._v("active")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[t._v("#")]),t._v(" axis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("axis")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#axis"}},[t._v("axis")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1239",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1239"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Bottom edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#bottom"}},[t._v("bottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#chart"}},[t._v("chart")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1229",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1229"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ctx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx"}},[t._v("#")]),t._v(" ctx")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("ctx")]),t._v(": "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ctx"}},[t._v("ctx")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1228",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1228"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("if true, and the item is horizontal, then push vertical boxes down")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#fullsize"}},[t._v("fullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L17",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:17"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Height of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#height"}},[t._v("height")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#id"}},[t._v("id")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1226",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1226"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelrotation"}},[t._v("#")]),t._v(" labelRotation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelRotation")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#labelrotation"}},[t._v("labelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1240",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1240"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"left"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("left")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Left edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#left"}},[t._v("left")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L29",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:29"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#max"}},[t._v("#")]),t._v(" max")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("max")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#max"}},[t._v("max")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1242",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1242"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxheight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxheight"}},[t._v("#")]),t._v(" maxHeight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxHeight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#maxheight"}},[t._v("maxHeight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1232",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1232"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxwidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxwidth"}},[t._v("#")]),t._v(" maxWidth")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxWidth")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#maxwidth"}},[t._v("maxWidth")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1231",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1231"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"min"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min"}},[t._v("#")]),t._v(" min")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("min")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#min"}},[t._v("min")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1241",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1241"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#options"}},[t._v("options")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingbottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingbottom"}},[t._v("#")]),t._v(" paddingBottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingBottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingbottom"}},[t._v("paddingBottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1235",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1235"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingleft"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingleft"}},[t._v("#")]),t._v(" paddingLeft")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingLeft")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingleft"}},[t._v("paddingLeft")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1236",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1236"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingright"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingright"}},[t._v("#")]),t._v(" paddingRight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingRight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingright"}},[t._v("paddingRight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1237",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1237"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingtop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingtop"}},[t._v("#")]),t._v(" paddingTop")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingTop")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#paddingtop"}},[t._v("paddingTop")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1234",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1234"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("The position of the item in the chart layout. Possible values are")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#position"}},[t._v("position")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"right"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("right")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Right edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#right"}},[t._v("right")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L37",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:37"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[t._v("#")]),t._v(" ticks")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ticks"}},[t._v("ticks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1243",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1243"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("top")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Top edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#top"}},[t._v("top")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#type"}},[t._v("type")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1227",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1227"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the item. Higher weights are further away from the chart area")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#weight"}},[t._v("weight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Width of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#width"}},[t._v("width")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#x"}},[t._v("x")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#y"}},[t._v("y")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterbuildticks"}},[t._v("afterBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1323",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1323"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftercalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftercalculatelabelrotation"}},[t._v("#")]),t._v(" afterCalculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#aftercalculatelabelrotation"}},[t._v("afterCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1329",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1329"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterdatalimits"}},[t._v("afterDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1320",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1320"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfit"}},[t._v("#")]),t._v(" afterFit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterfit"}},[t._v("afterFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1332",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1332"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftersetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftersetdimensions"}},[t._v("#")]),t._v(" afterSetDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#aftersetdimensions"}},[t._v("afterSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1317",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1317"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterticktolabelconversion"}},[t._v("#")]),t._v(" afterTickToLabelConversion")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterticktolabelconversion"}},[t._v("afterTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1326",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1326"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#afterupdate"}},[t._v("afterUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1314",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1314"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforebuildticks"}},[t._v("beforeBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1321",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1321"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforecalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforecalculatelabelrotation"}},[t._v("#")]),t._v(" beforeCalculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforecalculatelabelrotation"}},[t._v("beforeCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1327",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1327"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforedatalimits"}},[t._v("beforeDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1318",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1318"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefit"}},[t._v("#")]),t._v(" beforeFit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-39"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforefit"}},[t._v("beforeFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1330",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1330"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the layout process starts")]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-40"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforelayout"}},[t._v("beforeLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L46",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:46"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforesetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforesetdimensions"}},[t._v("#")]),t._v(" beforeSetDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-41"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforesetdimensions"}},[t._v("beforeSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1315",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1315"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeticktolabelconversion"}},[t._v("#")]),t._v(" beforeTickToLabelConversion")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-42"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforeticktolabelconversion"}},[t._v("beforeTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1324",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1324"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-43"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#beforeupdate"}},[t._v("beforeUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1312",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1312"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildticks"}},[t._v("#")]),t._v(" buildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-44"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#buildticks"}},[t._v("buildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1322",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1322"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatelabelrotation"}},[t._v("#")]),t._v(" calculateLabelRotation")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("calculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-45"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#calculatelabelrotation"}},[t._v("calculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1328",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1328"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-46"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#configure"}},[t._v("configure")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1313",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1313"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"determinedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#determinedatalimits"}},[t._v("#")]),t._v(" determineDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("determineDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-47"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#determinedatalimits"}},[t._v("determineDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1319",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1319"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Draws the element")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-48"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L50",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:50"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawgrid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawgrid"}},[t._v("#")]),t._v(" drawGrid")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawGrid")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-49"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawgrid"}},[t._v("drawGrid")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1248",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1248"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawlabels"}},[t._v("#")]),t._v(" drawLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawLabels")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-50"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawlabels"}},[t._v("drawLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1247",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1247"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawtitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawtitle"}},[t._v("#")]),t._v(" drawTitle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("drawTitle")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-51"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#drawtitle"}},[t._v("drawTitle")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1246",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1246"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fit"}},[t._v("#")]),t._v(" fit")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("fit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-52"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#fit"}},[t._v("fit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-52"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1331",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1331"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"generateticklabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generateticklabels"}},[t._v("#")]),t._v(" generateTickLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("generateTickLabels")]),t._v("("),a("code",[t._v("ticks")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ticks")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-53"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#generateticklabels"}},[t._v("generateTickLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-53"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1325",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1325"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasepixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasepixel"}},[t._v("#")]),t._v(" getBasePixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getBasePixel")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the pixel for the minimum chart value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-54"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getbasepixel"}},[t._v("getBasePixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-54"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1304",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1304"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasevalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasevalue"}},[t._v("#")]),t._v(" getBaseValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getBaseValue")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-55"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getbasevalue"}},[t._v("getBaseValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-55"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1298",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1298"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdatatimestamps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdatatimestamps"}},[t._v("#")]),t._v(" getDataTimestamps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDataTimestamps")]),t._v("(): "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-56"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3312",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3312"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdecimalforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdecimalforpixel"}},[t._v("#")]),t._v(" getDecimalForPixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDecimalForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-56"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getdecimalforpixel"}},[t._v("getDecimalForPixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-57"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1254",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1254"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelforvalue"}},[t._v("#")]),t._v(" getLabelForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLabelForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Used to get the label to display in the tooltip for the given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-57"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlabelforvalue"}},[t._v("getLabelForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-58"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1274"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabeltimestamps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabeltimestamps"}},[t._v("#")]),t._v(" getLabelTimestamps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLabelTimestamps")]),t._v("(): "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-59"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3313",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3313"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabels"}},[t._v("#")]),t._v(" getLabels")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLabels")]),t._v("(): "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-58"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlabels"}},[t._v("getLabels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-60"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1311",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1311"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlinewidthforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlinewidthforvalue"}},[t._v("#")]),t._v(" getLineWidthForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getLineWidthForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the grid line width at given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-59"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlinewidthforvalue"}},[t._v("getLineWidthForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-61"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1279",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1279"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmatchingvisiblemetas"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmatchingvisiblemetas"}},[t._v("#")]),t._v(" getMatchingVisibleMetas")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMatchingVisibleMetas")]),t._v("("),a("code",[t._v("type?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-60"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getmatchingvisiblemetas"}},[t._v("getMatchingVisibleMetas")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-62"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1244",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1244"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("canStack")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-61"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getminmax"}},[t._v("getMinMax")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-63"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1309",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1309"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpadding"}},[t._v("#")]),t._v(" getPadding")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getPadding")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Returns an object with padding on the edges")]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-62"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpadding"}},[t._v("getPadding")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-64"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L54",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:54"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfordecimal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfordecimal"}},[t._v("#")]),t._v(" getPixelForDecimal")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForDecimal")]),t._v("("),a("code",[t._v("decimal")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Utility for getting the pixel location of a percentage of scale\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("decimal")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-37"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-63"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelfordecimal"}},[t._v("getPixelForDecimal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-65"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1261",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1261"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfortick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfortick"}},[t._v("#")]),t._v(" getPixelForTick")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForTick")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the tick at the given index\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-38"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-64"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelfortick"}},[t._v("getPixelForTick")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-66"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1268",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1268"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelforvalue"}},[t._v("#")]),t._v(" getPixelForValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getPixelForValue")]),t._v("("),a("code",[t._v("value")]),t._v(", "),a("code",[t._v("index?")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the given data point. Value can either be an index or a numerical value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-39"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-65"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelforvalue"}},[t._v("getPixelForValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-67"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1288",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1288"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("code",[t._v("never")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-40"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-66"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getprops"}},[t._v("getProps")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-68"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getticks"}},[t._v("#")]),t._v(" getTicks")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-41"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-67"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getticks"}},[t._v("getTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-69"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1310",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1310"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getuserbounds"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getuserbounds"}},[t._v("#")]),t._v(" getUserBounds")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getUserBounds")]),t._v("(): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"returns-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-42"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("maxDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("minDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-68"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getuserbounds"}},[t._v("getUserBounds")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-70"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1308",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1308"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getvalueforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getvalueforpixel"}},[t._v("#")]),t._v(" getValueForPixel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getValueForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Used to get the data value from a given pixel. This is the inverse of getPixelForValue\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-43"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-69"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getvalueforpixel"}},[t._v("getValueForPixel")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-71"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1296",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1296"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-44"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-70"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#hasvalue"}},[t._v("hasValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-72"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"init"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#init"}},[t._v("#")]),t._v(" init")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("init")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-45"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-71"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#init"}},[t._v("init")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-73"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1306",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1306"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isfullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isfullsize"}},[t._v("#")]),t._v(" isFullSize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isFullSize")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-46"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-72"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#isfullsize"}},[t._v("isFullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-74"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1334",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1334"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ishorizontal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ishorizontal"}},[t._v("#")]),t._v(" isHorizontal")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isHorizontal")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("returns true if the layout item is horizontal (ie. top or bottom)")]),t._v(" "),a("h4",{attrs:{id:"returns-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-47"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-73"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#ishorizontal"}},[t._v("isHorizontal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-75"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"normalize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#normalize"}},[t._v("#")]),t._v(" normalize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("normalize")]),t._v("("),a("code",[t._v("values")]),t._v("): "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-48"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-76"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3314",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3314"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("raw")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("raw")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-49"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-74"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#parse"}},[t._v("parse")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-77"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1307",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1307"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setdimensions"}},[t._v("#")]),t._v(" setDimensions")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-50"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-75"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#setdimensions"}},[t._v("setDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-78"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-78"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1316",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1316"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-51"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-76"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#tooltipposition"}},[t._v("tooltipPosition")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-79"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-79"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("width")]),t._v(", "),a("code",[t._v("height")]),t._v(", "),a("code",[t._v("margins?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Takes two parameters: width and height.")]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("margins?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-52"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-77"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/Scale.html#update"}},[t._v("update")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-80"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-80"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L64",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:64"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/116.6b780970.js b/scriptApl/chart.js/dist/docs/assets/js/116.6b780970.js new file mode 100644 index 00000000..a4364bba --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/116.6b780970.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{447:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-titleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-titleoptions"}},[t._v("#")]),t._v(" Interface: TitleOptions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"align"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#align"}},[t._v("#")]),t._v(" align")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("align")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#align"}},[a("code",[t._v("Align")])])],1),t._v(" "),a("p",[t._v("Alignment of the title.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'center'")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2410",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2410"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" color")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("p",[t._v("Color of text")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2425",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2425"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"display"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Is the title shown?")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2415",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2415"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"font"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#font"}},[t._v("#")]),t._v(" font")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("font")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableChartContext.html"}},[a("code",[t._v("ScriptableChartContext")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2426",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2426"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Marks that this box should take the full width/height of the canvas (moving other boxes). If set to "),a("code",[t._v("false")]),t._v(", places the box above/beside the\nchart area")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2433",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2433"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"padding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#padding"}},[t._v("#")]),t._v(" padding")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("padding")]),t._v(": "),a("code",[t._v("number")]),t._v(" | { "),a("code",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("top")]),t._v(": "),a("code",[t._v("number")]),t._v(" }")]),t._v(" "),a("p",[t._v("Adds padding above and below the title text if a single number is specified. It is also possible to change top and bottom padding separately.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2437",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2437"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("code",[t._v('"left"')]),t._v(" | "),a("code",[t._v('"right"')]),t._v(" | "),a("code",[t._v('"bottom"')]),t._v(" | "),a("code",[t._v('"top"')])]),t._v(" "),a("p",[t._v("Position of title")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'top'")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2420",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2420"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"text"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#text"}},[t._v("#")]),t._v(" text")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("text")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("p",[t._v("Title text to display. If specified as an array, text is rendered on multiple lines.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2441",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2441"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/117.79604442.js b/scriptApl/chart.js/dist/docs/assets/js/117.79604442.js new file mode 100644 index 00000000..dc568cb6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/117.79604442.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{448:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltip"}},[t._v("#")]),t._v(" Interface: Tooltip")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("Tooltip")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#id"}},[t._v("id")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L808",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:808"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"positioners"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#positioners"}},[t._v("#")]),t._v(" positioners")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("positioners")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPositionerMap.html"}},[a("code",[t._v("TooltipPositionerMap")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2549",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2549"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterBuildTicks")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after scale has build its ticks. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterbuildticks"}},[t._v("afterBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L967",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:967"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDataLimits")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after scale data limits are calculated. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdatalimits"}},[t._v("afterDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L951",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:951"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetdraw"}},[t._v("#")]),t._v(" afterDatasetDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets at the given "),a("code",[t._v("args.index")]),t._v(" have been drawn\n(datasets are drawn in the reverse order). Note that this hook will not be called\nif the datasets drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdatasetdraw"}},[t._v("afterDatasetDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1049",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1049"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetupdate"}},[t._v("#")]),t._v(" afterDatasetUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets at the given "),a("code",[t._v("args.index")]),t._v(" has been updated. Note\nthat this hook will not be called if the datasets update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdatasetupdate"}},[t._v("afterDatasetUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L926",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:926"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetsdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetsdraw"}},[t._v("#")]),t._v(" afterDatasetsDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetsDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v(", "),a("code",[t._v("cancelable")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets have been drawn. Note that this hook\nwill not be called if the datasets drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdatasetsdraw"}},[t._v("afterDatasetsDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1026",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1026"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetsupdate"}},[t._v("#")]),t._v(" afterDatasetsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets have been updated. Note that this hook\nwill not be called if the datasets update has been previously cancelled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 2.1.5")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdatasetsupdate"}},[t._v("afterDatasetsUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L903",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:903"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdestroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdestroy"}},[t._v("#")]),t._v(" afterDestroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDestroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after the chart has been destroyed.")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdestroy"}},[t._v("afterDestroy")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1102",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1102"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdraw"}},[t._v("#")]),t._v(" afterDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been drawn. Note that this hook will not be called\nif the drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterdraw"}},[t._v("afterDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1009",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1009"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterevent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterevent"}},[t._v("#")]),t._v(" afterEvent")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterEvent")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("event")]),t._v(" has been consumed. Note that this hook\nwill not be called if the "),a("code",[t._v("event")]),t._v(" has been previously discarded.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.changed?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event object.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.inChartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event position is inside chartArea")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.replay")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("True if this event is replayed from "),a("code",[t._v("Chart.update")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterevent"}},[t._v("afterEvent")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1072",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1072"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterinit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterinit"}},[t._v("#")]),t._v(" afterInit")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterInit")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after "),a("code",[t._v("chart")]),t._v(" has been initialized and before the first update.")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterinit"}},[t._v("afterInit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L847",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:847"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterlayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterlayout"}},[t._v("#")]),t._v(" afterLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterLayout")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been laid out. Note that this hook will not\nbe called if the layout update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterlayout"}},[t._v("afterLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L975",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:975"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterrender"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterrender"}},[t._v("#")]),t._v(" afterRender")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterRender")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been fully rendered (and animation completed). Note\nthat this hook will not be called if the rendering has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterrender"}},[t._v("afterRender")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L992",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:992"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftertooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftertooltipdraw"}},[t._v("#")]),t._v(" afterTooltipDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after drawing the "),a("code",[t._v("tooltip")]),t._v(". Note that this hook will not\nbe called if the tooltip drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#aftertooltipdraw"}},[t._v("afterTooltipDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after "),a("code",[t._v("chart")]),t._v(" has been updated and before rendering. Note that this\nhook will not be called if the chart update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#afterupdate"}},[t._v("afterUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L866",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:866"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeBuildTicks")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before scale builds its ticks. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforebuildticks"}},[t._v("beforeBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L959",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:959"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDataLimits")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before scale data limits are calculated. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedatalimits"}},[t._v("beforeDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L943",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:943"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetdraw"}},[t._v("#")]),t._v(" beforeDatasetDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("chart")]),t._v(" dataset at the given "),a("code",[t._v("args.index")]),t._v(" (datasets\nare drawn in the reverse order). If any plugin returns "),a("code",[t._v("false")]),t._v(", the datasets drawing\nis cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedatasetdraw"}},[t._v("beforeDatasetDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1038",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1038"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetupdate"}},[t._v("#")]),t._v(" beforeDatasetUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating the "),a("code",[t._v("chart")]),t._v(" dataset at the given "),a("code",[t._v("args.index")]),t._v(". If any plugin\nreturns "),a("code",[t._v("false")]),t._v(", the datasets update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedatasetupdate"}},[t._v("beforeDatasetUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L915",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:915"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetsdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetsdraw"}},[t._v("#")]),t._v(" beforeDatasetsDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetsDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("chart")]),t._v(" datasets. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe datasets drawing is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedatasetsdraw"}},[t._v("beforeDatasetsDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1018",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1018"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetsupdate"}},[t._v("#")]),t._v(" beforeDatasetsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating the "),a("code",[t._v("chart")]),t._v(" datasets. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe datasets update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 2.1.5")]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("false to cancel the datasets update.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedatasetsupdate"}},[t._v("beforeDatasetsUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L893",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:893"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedestroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedestroy"}},[t._v("#")]),t._v(" beforeDestroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDestroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the chart is being destroyed.")]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedestroy"}},[t._v("beforeDestroy")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1087",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1087"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedraw"}},[t._v("#")]),t._v(" beforeDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing "),a("code",[t._v("chart")]),t._v(" at every animation frame. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe frame drawing is cancelled untilanother "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforedraw"}},[t._v("beforeDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1001",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1001"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeelementsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeelementsupdate"}},[t._v("#")]),t._v(" beforeElementsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeElementsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called during the update process, before any chart elements have been created.\nThis can be used for data decimation by changing the data array inside a dataset.")]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforeelementsupdate"}},[t._v("beforeElementsUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L874",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:874"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeevent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeevent"}},[t._v("#")]),t._v(" beforeEvent")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeEvent")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before processing the specified "),a("code",[t._v("event")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe event will be discarded.")]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event object.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.inChartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event position is inside chartArea")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.replay")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("True if this event is replayed from "),a("code",[t._v("Chart.update")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforeevent"}},[t._v("beforeEvent")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1060",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1060"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeinit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeinit"}},[t._v("#")]),t._v(" beforeInit")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeInit")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before initializing "),a("code",[t._v("chart")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforeinit"}},[t._v("beforeInit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L840",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:840"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before laying out "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe layout update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-26"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart layout.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforelayout"}},[t._v("beforeLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L935",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:935"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforerender"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforerender"}},[t._v("#")]),t._v(" beforeRender")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeRender")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before rendering "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe rendering is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-27"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart rendering.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforerender"}},[t._v("beforeRender")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L984",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:984"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforetooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforetooltipdraw"}},[t._v("#")]),t._v(" beforeTooltipDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("tooltip")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe tooltip drawing is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-28"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart tooltip drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforetooltipdraw"}},[t._v("beforeTooltipDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2592"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(", the update\nis cancelled (and thus subsequent render(s)) until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-29"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart update.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#beforeupdate"}},[t._v("beforeUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L857",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:857"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"destroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#destroy"}},[t._v("#")]),t._v(" destroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("destroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after the chart has been destroyed.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("deprecated")])]),t._v(" since version 3.7.0 in favour of afterDestroy")]),t._v(" "),a("h4",{attrs:{id:"parameters-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-30"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#destroy"}},[t._v("destroy")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1095",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1095"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[t._v("#")]),t._v(" install")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("install")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-31"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#install"}},[t._v("install")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L817",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:817"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("reset")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called during chart reset")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-32"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#reset"}},[t._v("reset")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L882",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:882"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resize"}},[t._v("#")]),t._v(" resize")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("resize")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the chart as been resized.")]),t._v(" "),a("h4",{attrs:{id:"parameters-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-33"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The new canvas display size (eq. canvas.style width & height).")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size.height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size.width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#resize"}},[t._v("resize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1080",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1080"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"start"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#start"}},[t._v("#")]),t._v(" start")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("start")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when a plugin is starting. This happens when chart is created or plugin is enabled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-34"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#start"}},[t._v("start")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L825",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:825"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stop"}},[t._v("#")]),t._v(" stop")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("stop")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-35"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#stop"}},[t._v("stop")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L833",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:833"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"uninstall"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#uninstall"}},[t._v("#")]),t._v(" uninstall")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("uninstall")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-36"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html#uninstall"}},[t._v("uninstall")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1110",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1110"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/118.7752bc89.js b/scriptApl/chart.js/dist/docs/assets/js/118.7752bc89.js new file mode 100644 index 00000000..aa3c89a0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/118.7752bc89.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{591:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tooltipcallbacks-ttype-model-item"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltipcallbacks-ttype-model-item"}},[t._v("#")]),t._v(" Interface: TooltipCallbacks")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Model")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[a("code",[t._v("TooltipItem")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbody"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbody"}},[t._v("#")]),t._v(" afterBody")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterBody")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2564",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2564"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfooter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfooter"}},[t._v("#")]),t._v(" afterFooter")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterFooter")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2576",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2576"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterlabel"}},[t._v("#")]),t._v(" afterLabel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterLabel")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2568",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2568"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftertitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftertitle"}},[t._v("#")]),t._v(" afterTitle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("afterTitle")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2561",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2561"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebody"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebody"}},[t._v("#")]),t._v(" beforeBody")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeBody")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2563",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2563"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefooter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefooter"}},[t._v("#")]),t._v(" beforeFooter")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeFooter")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2574",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2574"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelabel"}},[t._v("#")]),t._v(" beforeLabel")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeLabel")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2566",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2566"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforetitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforetitle"}},[t._v("#")]),t._v(" beforeTitle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("beforeTitle")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2559",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2559"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"footer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#footer"}},[t._v("#")]),t._v(" footer")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("footer")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2575",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2575"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"label"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("label")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2567",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2567"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelcolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelcolor"}},[t._v("#")]),t._v(" labelColor")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("labelColor")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipLabelStyle.html"}},[a("code",[t._v("TooltipLabelStyle")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipLabelStyle.html"}},[a("code",[t._v("TooltipLabelStyle")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2570",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2570"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelpointstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelpointstyle"}},[t._v("#")]),t._v(" labelPointStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("labelPointStyle")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#pointstyle"}},[a("code",[t._v("PointStyle")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("rotation")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2572",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2572"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labeltextcolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labeltextcolor"}},[t._v("#")]),t._v(" labelTextColor")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("labelTextColor")]),t._v("("),a("code",[t._v("tooltipItem")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2571",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2571"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("title")]),t._v("("),a("code",[t._v("tooltipItems")]),t._v("): "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("tooltipItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Item")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2560",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2560"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/119.d8e76ef0.js b/scriptApl/chart.js/dist/docs/assets/js/119.d8e76ef0.js new file mode 100644 index 00000000..222a165e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/119.d8e76ef0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{449:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tooltipitem-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltipitem-ttype"}},[t._v("#")]),t._v(" Interface: TooltipItem")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("p",[t._v("The chart the tooltip is being shown on")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2793",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2793"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"dataindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataindex"}},[t._v("#")]),t._v(" dataIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("dataIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Index of this data item in the dataset")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2828",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2828"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"dataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset"}},[t._v("#")]),t._v(" dataset")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("dataset")]),t._v(": "),a("code",[t._v("UnionToIntersection")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>>>")],1),t._v(" "),a("p",[t._v("The dataset the item comes from")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2818",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2818"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datasetindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[t._v("#")]),t._v(" datasetIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Index of the dataset the item comes from")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2823",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2823"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"element"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#element"}},[t._v("#")]),t._v(" element")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("element")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1),t._v(" "),a("p",[t._v("The chart element (point, arc, bar, etc.) for this tooltip item")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2833",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2833"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"formattedvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#formattedvalue"}},[t._v("#")]),t._v(" formattedValue")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("formattedValue")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Formatted value for the tooltip")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2813",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2813"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"label"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("label")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Label for the tooltip")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2798",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2798"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsed"}},[t._v("#")]),t._v(" parsed")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsed")]),t._v(": "),a("code",[t._v("UnionToIntersection")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#parseddatatype"}},[a("code",[t._v("ParsedDataType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("p",[t._v("Parsed data values for the given "),a("code",[t._v("dataIndex")]),t._v(" and "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2803",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2803"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"raw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#raw"}},[t._v("#")]),t._v(" raw")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("raw")]),t._v(": "),a("code",[t._v("unknown")])]),t._v(" "),a("p",[t._v("Raw data values for the given "),a("code",[t._v("dataIndex")]),t._v(" and "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2808",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2808"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/12.433f0c7e.js b/scriptApl/chart.js/dist/docs/assets/js/12.433f0c7e.js new file mode 100644 index 00000000..532caa59 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/12.433f0c7e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{343:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-animator"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-animator"}},[t._v("#")]),t._v(" Class: Animator")]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new Animator")]),t._v("()")]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"add"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#add"}},[t._v("#")]),t._v(" add")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("add")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("items")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("items")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("readonly "),a("RouterLink",{attrs:{to:"/api/classes/Animation.html"}},[a("code",[t._v("Animation")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"has"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#has"}},[t._v("#")]),t._v(" has")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("has")]),t._v("("),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L22",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:22"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"listen"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#listen"}},[t._v("#")]),t._v(" listen")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("listen")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("event")]),t._v(", "),a("code",[t._v("cb")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"progress"')]),t._v(" | "),a("code",[t._v('"complete"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cb")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L20",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:20"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"remove"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#remove"}},[t._v("#")]),t._v(" remove")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("remove")]),t._v("("),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L26",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:26"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"running"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#running"}},[t._v("#")]),t._v(" running")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("running")]),t._v("("),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L24",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:24"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"start"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#start"}},[t._v("#")]),t._v(" start")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("start")]),t._v("("),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L23",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:23"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stop"}},[t._v("#")]),t._v(" stop")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("stop")]),t._v("("),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:25"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/120.ed76595e.js b/scriptApl/chart.js/dist/docs/assets/js/120.ed76595e.js new file mode 100644 index 00000000..b833a37a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/120.ed76595e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{575:function(e,r,t){"use strict";t.r(r);var a=t(6),s=Object(a.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"interface-tooltiplabelstyle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltiplabelstyle"}},[e._v("#")]),e._v(" Interface: TooltipLabelStyle")]),e._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),t("h3",{attrs:{id:"backgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[e._v("#")]),e._v(" backgroundColor")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("backgroundColor")]),e._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[e._v("Color")])])],1),e._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2448",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2448"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"bordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[e._v("#")]),e._v(" borderColor")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderColor")]),e._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[e._v("Color")])])],1),e._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2447",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2447"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderdash"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderdash"}},[e._v("#")]),e._v(" borderDash")]),e._v(" "),t("p",[e._v("• "),t("code",[e._v("Optional")]),e._v(" "),t("strong",[e._v("borderDash")]),e._v(": ["),t("code",[e._v("number")]),e._v(", "),t("code",[e._v("number")]),e._v("]")]),e._v(" "),t("p",[e._v("Border dash")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("since")])]),e._v(" 3.1.0")]),e._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2460",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2460"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderdashoffset"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderdashoffset"}},[e._v("#")]),e._v(" borderDashOffset")]),e._v(" "),t("p",[e._v("• "),t("code",[e._v("Optional")]),e._v(" "),t("strong",[e._v("borderDashOffset")]),e._v(": "),t("code",[e._v("number")])]),e._v(" "),t("p",[e._v("Border dash offset")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("since")])]),e._v(" 3.1.0")]),e._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2466",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2466"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderradius"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[e._v("#")]),e._v(" borderRadius")]),e._v(" "),t("p",[e._v("• "),t("code",[e._v("Optional")]),e._v(" "),t("strong",[e._v("borderRadius")]),e._v(": "),t("code",[e._v("number")]),e._v(" | "),t("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[t("code",[e._v("BorderRadius")])])],1),e._v(" "),t("p",[e._v("borderRadius")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("since")])]),e._v(" 3.1.0")]),e._v(" "),t("h4",{attrs:{id:"defined-in-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2472",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2472"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[e._v("#")]),e._v(" borderWidth")]),e._v(" "),t("p",[e._v("• "),t("code",[e._v("Optional")]),e._v(" "),t("strong",[e._v("borderWidth")]),e._v(": "),t("code",[e._v("number")])]),e._v(" "),t("p",[e._v("Width of border line")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("since")])]),e._v(" 3.1.0")]),e._v(" "),t("h4",{attrs:{id:"defined-in-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2454",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2454"),t("OutboundLink")],1)])])}),[],!1,null,null,null);r.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/121.cc3d56f2.js b/scriptApl/chart.js/dist/docs/assets/js/121.cc3d56f2.js new file mode 100644 index 00000000..90a67189 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/121.cc3d56f2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{451:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-tooltipmodel-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltipmodel-ttype"}},[t._v("#")]),t._v(" Interface: TooltipModel")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipOptions.html"}},[a("code",[t._v("TooltipOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("TooltipModel")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterbody"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbody"}},[t._v("#")]),t._v(" afterBody")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("afterBody")]),t._v(": "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2503",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2503"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebody"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebody"}},[t._v("#")]),t._v(" beforeBody")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("beforeBody")]),t._v(": "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2501",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2501"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"body"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#body"}},[t._v("#")]),t._v(" body")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("body")]),t._v(": { "),a("code",[t._v("after")]),t._v(": "),a("code",[t._v("string")]),t._v("[] ; "),a("code",[t._v("before")]),t._v(": "),a("code",[t._v("string")]),t._v("[] ; "),a("code",[t._v("lines")]),t._v(": "),a("code",[t._v("string")]),t._v("[] }[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2499",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2499"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"caretx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#caretx"}},[t._v("#")]),t._v(" caretX")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("caretX")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2490",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2490"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"carety"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#carety"}},[t._v("#")]),t._v(" caretY")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("caretY")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2491",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2491"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>, "),a("code",[t._v("unknown")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2475",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2475"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datapoints"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datapoints"}},[t._v("#")]),t._v(" dataPoints")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("dataPoints")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[a("code",[t._v("TooltipItem")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2478",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2478"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"footer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#footer"}},[t._v("#")]),t._v(" footer")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("footer")]),t._v(": "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2511",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2511"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2488",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2488"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelcolors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelcolors"}},[t._v("#")]),t._v(" labelColors")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelColors")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipLabelStyle.html"}},[a("code",[t._v("TooltipLabelStyle")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2514",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2514"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelpointstyles"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelpointstyles"}},[t._v("#")]),t._v(" labelPointStyles")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelPointStyles")]),t._v(": { "),a("code",[t._v("pointStyle")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#pointstyle"}},[a("code",[t._v("PointStyle")])]),t._v(" ; "),a("code",[t._v("rotation")]),t._v(": "),a("code",[t._v("number")]),t._v(" }[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2516",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2516"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labeltextcolors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labeltextcolors"}},[t._v("#")]),t._v(" labelTextColors")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelTextColors")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2515",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2515"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"opacity"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#opacity"}},[t._v("#")]),t._v(" opacity")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("opacity")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2519",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2519"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("options")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipOptions.html"}},[a("code",[t._v("TooltipOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"overrides"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2522",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2522"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("title")]),t._v(": "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2507",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2507"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2487",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2487"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"overrides-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides-2"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2485",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2485"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"xalign"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#xalign"}},[t._v("#")]),t._v(" xAlign")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("xAlign")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#tooltipxalignment"}},[a("code",[t._v("TooltipXAlignment")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2481",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2481"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"overrides-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides-3"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2486",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2486"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"yalign"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#yalign"}},[t._v("#")]),t._v(" yAlign")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("yAlign")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#tooltipyalignment"}},[a("code",[t._v("TooltipYAlignment")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2482",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2482"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"getactiveelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getactiveelements"}},[t._v("#")]),t._v(" getActiveElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getActiveElements")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2524",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2524"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("code",[t._v("string")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setactiveelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setactiveelements"}},[t._v("#")]),t._v(" setActiveElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setActiveElements")]),t._v("("),a("code",[t._v("active")]),t._v(", "),a("code",[t._v("eventPosition")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("active")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[a("code",[t._v("ActiveDataPoint")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("eventPosition")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2525",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2525"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/122.c8651871.js b/scriptApl/chart.js/dist/docs/assets/js/122.c8651871.js new file mode 100644 index 00000000..70a1967a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/122.c8651871.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{450:function(t,e,r){"use strict";r.r(e);var a=r(6),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-tooltipoptions-ttype"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltipoptions-ttype"}},[t._v("#")]),t._v(" Interface: TooltipOptions")]),t._v(" "),r("h2",{attrs:{id:"type-parameters"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("TType")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),r("RouterLink",{attrs:{to:"/api/#charttype"}},[r("code",[t._v("ChartType")])]),t._v(" = "),r("RouterLink",{attrs:{to:"/api/#charttype"}},[r("code",[t._v("ChartType")])])],1)])])]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[r("code",[t._v("CoreInteractionOptions")])])],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("TooltipOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2784",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2784"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2785",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2785"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"axis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[t._v("#")]),t._v(" axis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("axis")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#interactionaxis"}},[r("code",[t._v("InteractionAxis")])])],1),t._v(" "),r("p",[t._v("Defines which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[t._v("CoreInteractionOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html#axis"}},[t._v("axis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1439",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1439"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Background color of the tooltip.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'rgba(0, 0, 0, 0.8)'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2642",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2642"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bodyalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bodyalign"}},[t._v("#")]),t._v(" bodyAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bodyAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#textalign"}},[r("code",[t._v("TextAlign")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Horizontal alignment of the body text lines.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'left'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2692",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2692"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bodycolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bodycolor"}},[t._v("#")]),t._v(" bodyColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bodyColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Color of body")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" '#fff'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2682",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2682"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bodyfont"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bodyfont"}},[t._v("#")]),t._v(" bodyFont")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bodyFont")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[r("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),r("code",[t._v("Partial")]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[r("code",[t._v("FontSpec")])]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("See Fonts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" {}")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2687"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bodyspacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bodyspacing"}},[t._v("#")]),t._v(" bodySpacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bodySpacing")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Spacing to add to top and bottom of each tooltip item.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2677",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2677"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Color of the border.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'rgba(0, 0, 0, 0)'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2767",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2767"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Size of the border.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2772",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2772"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"boxheight"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#boxheight"}},[t._v("#")]),t._v(" boxHeight")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("boxHeight")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Height of the color box if displayColors is true.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" bodyFont.size")]),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2757",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2757"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"boxpadding"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#boxpadding"}},[t._v("#")]),t._v(" boxPadding")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("boxPadding")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Padding between the color box and the text.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2647",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2647"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"boxwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#boxwidth"}},[t._v("#")]),t._v(" boxWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("boxWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Width of the color box if displayColors is true.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" bodyFont.size")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2752",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2752"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"callbacks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#callbacks"}},[t._v("#")]),t._v(" callbacks")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("callbacks")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/TooltipCallbacks.html"}},[r("code",[t._v("TooltipCallbacks")])]),t._v("<"),r("code",[t._v("TType")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[r("code",[t._v("TooltipModel")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[r("code",[t._v("TooltipItem")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2786",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2786"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"caretpadding"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#caretpadding"}},[t._v("#")]),t._v(" caretPadding")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("caretPadding")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Extra distance to move the end of the tooltip arrow away from the tooltip point.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2727",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2727"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"caretsize"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#caretsize"}},[t._v("#")]),t._v(" caretSize")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("caretSize")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Size, in px, of the tooltip arrow.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 5")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2732",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2732"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"cornerradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cornerradius"}},[t._v("#")]),t._v(" cornerRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("cornerRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[r("code",[t._v("BorderRadius")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Radius of tooltip corner curves.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 6")]),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2737",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2737"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"displaycolors"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#displaycolors"}},[t._v("#")]),t._v(" displayColors")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("displayColors")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("If true, color boxes are shown in the tooltip.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2747",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2747"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"enabled"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#enabled"}},[t._v("#")]),t._v(" enabled")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("enabled")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Are on-canvas tooltips enabled?")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2615",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2615"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"footeralign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#footeralign"}},[t._v("#")]),t._v(" footerAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("footerAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#textalign"}},[r("code",[t._v("TextAlign")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Horizontal alignment of the footer text lines.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'left'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2717",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2717"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"footercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#footercolor"}},[t._v("#")]),t._v(" footerColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("footerColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Color of footer")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" '#fff'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2707",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2707"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"footerfont"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#footerfont"}},[t._v("#")]),t._v(" footerFont")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("footerFont")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[r("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),r("code",[t._v("Partial")]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[r("code",[t._v("FontSpec")])]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("See Fonts")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" {weight: 'bold'}")]),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2712",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2712"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"footermargintop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#footermargintop"}},[t._v("#")]),t._v(" footerMarginTop")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("footerMarginTop")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Margin to add before drawing the footer.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 6")]),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"footerspacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#footerspacing"}},[t._v("#")]),t._v(" footerSpacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("footerSpacing")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Spacing to add to top and bottom of each footer line.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2697",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2697"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"includeinvisible"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#includeinvisible"}},[t._v("#")]),t._v(" includeInvisible")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("includeInvisible")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[t._v("CoreInteractionOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html#includeinvisible"}},[t._v("includeInvisible")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1445",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1445"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"intersect"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#intersect"}},[t._v("#")]),t._v(" intersect")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("intersect")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("if true, the hover mode only applies when the mouse position intersects an item on the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[t._v("CoreInteractionOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html#intersect"}},[t._v("intersect")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1434",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1434"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"mode"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#mode"}},[t._v("#")]),t._v(" mode")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("mode")]),t._v(": keyof "),r("RouterLink",{attrs:{to:"/api/interfaces/InteractionModeMap.html"}},[r("code",[t._v("InteractionModeMap")])])],1),t._v(" "),r("p",[t._v("Sets which elements appear in the tooltip. See Interaction Modes for details.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'nearest'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[t._v("CoreInteractionOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html#mode"}},[t._v("mode")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1429",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1429"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"multikeybackground"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#multikeybackground"}},[t._v("#")]),t._v(" multiKeyBackground")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("multiKeyBackground")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Color to draw behind the colored boxes when multiple items are in the tooltip.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" '#fff'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2742",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2742"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"padding"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#padding"}},[t._v("#")]),t._v(" padding")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("padding")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Padding to add to the tooltip")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 6")]),t._v(" "),r("h4",{attrs:{id:"defined-in-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2722",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2722"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"position"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("position")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v(">")],1),t._v(" "),r("p",[t._v("The mode for positioning the tooltip")]),t._v(" "),r("h4",{attrs:{id:"defined-in-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2623",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2623"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rtl"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rtl"}},[t._v("#")]),t._v(" rtl")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rtl")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("true for rendering the legends from right to left.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2776",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2776"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"textdirection"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#textdirection"}},[t._v("#")]),t._v(" textDirection")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("textDirection")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("string")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("This will force the text direction 'rtl' or 'ltr on the canvas for rendering the tooltips, regardless of the css specified on the canvas")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" canvas's default")]),t._v(" "),r("h4",{attrs:{id:"defined-in-32"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2782",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2782"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"titlealign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#titlealign"}},[t._v("#")]),t._v(" titleAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("titleAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#textalign"}},[r("code",[t._v("TextAlign")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Horizontal alignment of the title text lines.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'left'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-33"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2672",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2672"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"titlecolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#titlecolor"}},[t._v("#")]),t._v(" titleColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("titleColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Color of title")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" '#fff'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-34"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2652",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2652"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"titlefont"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#titlefont"}},[t._v("#")]),t._v(" titleFont")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("titleFont")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[r("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),r("code",[t._v("Partial")]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[r("code",[t._v("FontSpec")])]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("See Fonts")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" {weight: 'bold'}")]),t._v(" "),r("h4",{attrs:{id:"defined-in-35"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2657",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2657"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"titlemarginbottom"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#titlemarginbottom"}},[t._v("#")]),t._v(" titleMarginBottom")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("titleMarginBottom")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Margin to add on bottom of title section.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 6")]),t._v(" "),r("h4",{attrs:{id:"defined-in-36"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2667",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2667"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"titlespacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#titlespacing"}},[t._v("#")]),t._v(" titleSpacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("titleSpacing")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Spacing to add to top and bottom of each title line.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),r("h4",{attrs:{id:"defined-in-37"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2662",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2662"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"usepointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#usepointstyle"}},[t._v("#")]),t._v(" usePointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("usePointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Use the corresponding point style (from dataset options) instead of color boxes, ex: star, triangle etc. (size is based on the minimum value between boxWidth and boxHeight)")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"defined-in-38"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2762",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2762"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"xalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#xalign"}},[t._v("#")]),t._v(" xAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("xAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#tooltipxalignment"}},[r("code",[t._v("TooltipXAlignment")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("p",[t._v("Override the tooltip alignment calculations")]),t._v(" "),r("h4",{attrs:{id:"defined-in-39"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2628",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2628"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"yalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#yalign"}},[t._v("#")]),t._v(" yAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("yAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#tooltipyalignment"}},[r("code",[t._v("TooltipYAlignment")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[r("code",[t._v("ScriptableTooltipContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-40"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2629",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2629"),r("OutboundLink")],1)]),t._v(" "),r("h2",{attrs:{id:"methods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),r("h3",{attrs:{id:"external"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#external"}},[t._v("#")]),t._v(" external")]),t._v(" "),r("p",[t._v("▸ "),r("strong",[t._v("external")]),t._v("("),r("code",[t._v("args")]),t._v("): "),r("code",[t._v("void")])]),t._v(" "),r("p",[t._v("See external tooltip section.")]),t._v(" "),r("h4",{attrs:{id:"parameters"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("args")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("Object")])])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("args.chart")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[r("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("args.tooltip")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[r("code",[t._v("TooltipModel")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),r("h4",{attrs:{id:"returns"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-41"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2619",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2619"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"filter"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#filter"}},[t._v("#")]),t._v(" filter")]),t._v(" "),r("p",[t._v("▸ "),r("strong",[t._v("filter")]),t._v("("),r("code",[t._v("e")]),t._v(", "),r("code",[t._v("index")]),t._v(", "),r("code",[t._v("array")]),t._v(", "),r("code",[t._v("data")]),t._v("): "),r("code",[t._v("boolean")])]),t._v(" "),r("h4",{attrs:{id:"parameters-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("e")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[r("code",[t._v("TooltipItem")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("index")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("number")])])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("array")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[r("code",[t._v("TooltipItem")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">[]")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("data")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[r("code",[t._v("ChartData")])]),t._v("")],1)])])]),t._v(" "),r("h4",{attrs:{id:"returns-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("boolean")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-42"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2636",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2636"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"itemsort"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#itemsort"}},[t._v("#")]),t._v(" itemSort")]),t._v(" "),r("p",[t._v("▸ "),r("strong",[t._v("itemSort")]),t._v("("),r("code",[t._v("a")]),t._v(", "),r("code",[t._v("b")]),t._v(", "),r("code",[t._v("data")]),t._v("): "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Sort tooltip items.")]),t._v(" "),r("h4",{attrs:{id:"parameters-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("a")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[r("code",[t._v("TooltipItem")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("b")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[r("code",[t._v("TooltipItem")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("data")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[r("code",[t._v("ChartData")])]),t._v("")],1)])])]),t._v(" "),r("h4",{attrs:{id:"returns-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-43"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2634",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2634"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/123.f7d5f223.js b/scriptApl/chart.js/dist/docs/assets/js/123.f7d5f223.js new file mode 100644 index 00000000..471fc217 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/123.f7d5f223.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{452:function(t,e,r){"use strict";r.r(e);var a=r(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-tooltipposition"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltipposition"}},[t._v("#")]),t._v(" Interface: TooltipPosition")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("x")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2529",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2529"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"xalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#xalign"}},[t._v("#")]),t._v(" xAlign")]),t._v(" "),r("p",[t._v("• "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("xAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#tooltipxalignment"}},[r("code",[t._v("TooltipXAlignment")])])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2531",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2531"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("y")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2530",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2530"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"yalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#yalign"}},[t._v("#")]),t._v(" yAlign")]),t._v(" "),r("p",[t._v("• "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("yAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#tooltipyalignment"}},[r("code",[t._v("TooltipYAlignment")])])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2532",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2532"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/124.88ce07a4.js b/scriptApl/chart.js/dist/docs/assets/js/124.88ce07a4.js new file mode 100644 index 00000000..de53027e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/124.88ce07a4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{453:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-tooltippositionermap"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-tooltippositionermap"}},[t._v("#")]),t._v(" Interface: TooltipPositionerMap")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"average"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#average"}},[t._v("#")]),t._v(" average")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("average")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#tooltippositionerfunction"}},[r("code",[t._v("TooltipPositionerFunction")])]),t._v("")],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2542",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2542"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"nearest"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#nearest"}},[t._v("#")]),t._v(" nearest")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("nearest")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#tooltippositionerfunction"}},[r("code",[t._v("TooltipPositionerFunction")])]),t._v("")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2543",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2543"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/125.a9572036.js b/scriptApl/chart.js/dist/docs/assets/js/125.a9572036.js new file mode 100644 index 00000000..f0a6a415 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/125.a9572036.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{454:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-typedregistry-t"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-typedregistry-t"}},[t._v("#")]),t._v(" Interface: TypedRegistry")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])])])]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"get"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get"}},[t._v("#")]),t._v(" get")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("get")]),t._v("("),a("code",[t._v("id")]),t._v("): "),a("code",[t._v("T")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("T")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1389",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1389"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"register"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#register"}},[t._v("#")]),t._v(" register")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("register")]),t._v("("),a("code",[t._v("item")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("item")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("The scope where items defaults were registered to.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1388",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1388"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"unregister"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#unregister"}},[t._v("#")]),t._v(" unregister")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("unregister")]),t._v("("),a("code",[t._v("item")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("item")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1390",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1390"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/126.879447b3.js b/scriptApl/chart.js/dist/docs/assets/js/126.879447b3.js new file mode 100644 index 00000000..ea4cc356 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/126.879447b3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{455:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-visualelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-visualelement"}},[t._v("#")]),t._v(" Interface: VisualElement")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("VisualElement")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcElement.html"}},[a("code",[t._v("ArcElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/LineElement.html"}},[a("code",[t._v("LineElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/PointElement.html"}},[a("code",[t._v("PointElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/BarElement.html"}},[a("code",[t._v("BarElement")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("area?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("area?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1685",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1685"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcenterpoint"}},[t._v("#")]),t._v(" getCenterPoint")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getCenterPoint")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1689",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1689"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getrange"}},[t._v("#")]),t._v(" getRange")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getRange")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1690",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1690"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inrange"}},[t._v("#")]),t._v(" inRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1686",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1686"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inxrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inxrange"}},[t._v("#")]),t._v(" inXRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inXRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1687"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inyrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inyrange"}},[t._v("#")]),t._v(" inYRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inYRange")]),t._v("("),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1688"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/127.3b8478f3.js b/scriptApl/chart.js/dist/docs/assets/js/127.3b8478f3.js new file mode 100644 index 00000000..eeda3ebb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/127.3b8478f3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{456:function(t,e,o){"use strict";o.r(e);var v=o(6),d=Object(v.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h3",{attrs:{id:"common-options-to-all-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId]")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("type")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("alignToPixels")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("backgroundColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Background color of the scale area.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("display")])]),t._v(" "),o("td",[o("code",[t._v("boolean")]),t._v("|"),o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("Controls the axis global visibility (visible when "),o("code",[t._v("true")]),t._v(", hidden when "),o("code",[t._v("false")]),t._v("). When "),o("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("grid")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Grid line configuration. "),o("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("min")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("max")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("reverse")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Reverse the scale.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stacked")])]),t._v(" "),o("td",[o("code",[t._v("boolean")]),t._v("|"),o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Should the data be stacked. "),o("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("suggestedMax")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Adjustment used when calculating the maximum data value. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("suggestedMin")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Adjustment used when calculating the minimum data value. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("ticks")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Tick configuration. "),o("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("weight")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])])])}),[],!1,null,null,null);e.default=d.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/128.87d67ad7.js b/scriptApl/chart.js/dist/docs/assets/js/128.87d67ad7.js new file mode 100644 index 00000000..6483550e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/128.87d67ad7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{457:function(t,e,o){"use strict";o.r(e);var d=o(6),v=Object(d.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("backdropColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),o("td",[t._v("Color of label backdrops.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("backdropPadding")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/padding.html"}},[o("code",[t._v("Padding")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("2")])]),t._v(" "),o("td",[t._v("Padding of label backdrop.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("callback")])]),t._v(" "),o("td",[o("code",[t._v("function")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),o("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("display")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("If true, show tick labels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("color")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("Chart.defaults.color")])]),t._v(" "),o("td",[t._v("Color of ticks.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("font")])]),t._v(" "),o("td",[o("code",[t._v("Font")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("Chart.defaults.font")])]),t._v(" "),o("td",[t._v("See "),o("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("major")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("{}")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("padding")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("3")])]),t._v(" "),o("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("showLabelBackdrop")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("true")]),t._v(" for radial scale, "),o("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),o("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("textStrokeColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[t._v("``")]),t._v(" "),o("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("textStrokeWidth")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("Stroke width around the text.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("z")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])])])}),[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/129.f6241700.js b/scriptApl/chart.js/dist/docs/assets/js/129.f6241700.js new file mode 100644 index 00000000..3ef5d675 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/129.f6241700.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{458:function(t,e,o){"use strict";o.r(e);var s=o(6),a=Object(s.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId]")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("bounds")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("'ticks'")])]),t._v(" "),o("td",[t._v("Determines the scale bounds. "),o("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("position")])]),t._v(" "),o("td",[o("code",[t._v("string")]),t._v(" | "),o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Position of the axis. "),o("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stack")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Stack group. Axes at the same "),o("code",[t._v("position")]),t._v(" with same "),o("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stackWeight")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[t._v("1")]),t._v(" "),o("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("axis")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Which type of axis this is. Possible values are: "),o("code",[t._v("'x'")]),t._v(", "),o("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),o("code",[t._v("'x'")]),t._v(" or "),o("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("offset")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),o("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("title")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Scale title configuration. "),o("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/13.b6743084.js b/scriptApl/chart.js/dist/docs/assets/js/13.b6743084.js new file mode 100644 index 00000000..286dc523 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/13.b6743084.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{344:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-baseplatform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-baseplatform"}},[t._v("#")]),t._v(" Class: BasePlatform")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("BasePlatform")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/classes/BasicPlatform.html"}},[a("code",[t._v("BasicPlatform")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/classes/DomPlatform.html"}},[a("code",[t._v("DomPlatform")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new BasePlatform")]),t._v("()")]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"acquirecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#acquirecontext"}},[t._v("#")]),t._v(" acquireContext")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("acquireContext")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("options?")]),t._v("): "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("p",[t._v("Called at chart construction time, returns a context2d instance implementing\nthe "),a("a",{attrs:{href:"https://www.w3.org/TR/2dcontext/",target:"_blank",rel:"noopener noreferrer"}},[t._v("W3C Canvas 2D Context API standard"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas from which to acquire context (platform specific)")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2DSettings")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart options")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2057",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2057"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addeventlistener"}},[t._v("#")]),t._v(" addEventListener")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Registers the specified listener on the given chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to listen for event")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to listen for")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Receives a notification (an object that implements the "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(" interface) when an event of the specified type occurs.")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2075",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2075"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdevicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdevicepixelratio"}},[t._v("#")]),t._v(" getDevicePixelRatio")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDevicePixelRatio")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("the current devicePixelRatio of the device this platform is connected to.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2086",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2086"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaximumsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaximumsize"}},[t._v("#")]),t._v(" getMaximumSize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMaximumSize")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("width?")]),t._v(", "),a("code",[t._v("height?")]),t._v(", "),a("code",[t._v("aspectRatio?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas for which to calculate the maximum size")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("aspectRatio?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("p",[t._v("the maximum size available.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2094",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2094"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isattached"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isattached"}},[t._v("#")]),t._v(" isAttached")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isAttached")]),t._v("("),a("code",[t._v("canvas")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the canvas is attached to the platform, false if not.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2099",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2099"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"releasecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#releasecontext"}},[t._v("#")]),t._v(" releaseContext")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("releaseContext")]),t._v("("),a("code",[t._v("context")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Called at chart destruction time, releases any resources associated to the context\npreviously returned by the acquireContext() method.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("context")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The context2d instance")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the method succeeded, else false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2067",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2067"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removeeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removeeventlistener"}},[t._v("#")]),t._v(" removeEventListener")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("removeEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Removes the specified listener previously registered with addEventListener.")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to remove the listener")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to remove")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The listener function to remove from the event target.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2082",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2082"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateconfig"}},[t._v("#")]),t._v(" updateConfig")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateConfig")]),t._v("("),a("code",[t._v("config")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Updates config with platform specific requirements")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("config")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[a("code",[t._v("ChartConfiguration")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[a("code",[t._v("ChartConfigurationCustomTypesPerDataset")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2104",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2104"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/130.a9cb856a.js b/scriptApl/chart.js/dist/docs/assets/js/130.a9cb856a.js new file mode 100644 index 00000000..38dd5c39 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/130.a9cb856a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{459:function(e,t,o){"use strict";o.r(t);var a=o(6),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h3",{attrs:{id:"common-tick-options-to-all-cartesian-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-cartesian-axes"}},[e._v("#")]),e._v(" Common tick options to all cartesian axes")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options.scales[scaleId].ticks")])]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("align")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("'center'")])]),e._v(" "),o("td",[e._v("The tick alignment along the axis. Can be "),o("code",[e._v("'start'")]),e._v(", "),o("code",[e._v("'center'")]),e._v(", "),o("code",[e._v("'end'")]),e._v(", or "),o("code",[e._v("'inner'")]),e._v(". "),o("code",[e._v("inner")]),e._v(" alignment means align "),o("code",[e._v("start")]),e._v(" for first tick and "),o("code",[e._v("end")]),e._v(" for the last tick of horizontal axis")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("crossAlign")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("'near'")])]),e._v(" "),o("td",[e._v("The tick alignment perpendicular to the axis. Can be "),o("code",[e._v("'near'")]),e._v(", "),o("code",[e._v("'center'")]),e._v(", or "),o("code",[e._v("'far'")]),e._v(". See "),o("RouterLink",{attrs:{to:"/axes/cartesian/#tick-alignment"}},[e._v("Tick Alignment")])],1)]),e._v(" "),o("tr",[o("td",[o("code",[e._v("sampleSize")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("ticks.length")])]),e._v(" "),o("td",[e._v("The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("autoSkip")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("true")])]),e._v(" "),o("td",[e._v("If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to "),o("code",[e._v("maxRotation")]),e._v(" before skipping any. Turn "),o("code",[e._v("autoSkip")]),e._v(" off to show all labels no matter what.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("autoSkipPadding")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("3")])]),e._v(" "),o("td",[e._v("Padding between the ticks on the horizontal axis when "),o("code",[e._v("autoSkip")]),e._v(" is enabled.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("includeBounds")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("true")])]),e._v(" "),o("td",[e._v("Should the defined "),o("code",[e._v("min")]),e._v(" and "),o("code",[e._v("max")]),e._v(' values be presented as ticks even if they are not "nice".')])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("labelOffset")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). "),o("em",[e._v("Note: this can cause labels at the edges to be cropped by the edge of the canvas")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("maxRotation")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("50")])]),e._v(" "),o("td",[e._v("Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. "),o("em",[e._v("Note: Only applicable to horizontal scales.")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("minRotation")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Minimum rotation for tick labels. "),o("em",[e._v("Note: Only applicable to horizontal scales.")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("mirror")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("false")])]),e._v(" "),o("td",[e._v("Flips tick labels around axis, displaying the labels inside the chart instead of outside. "),o("em",[e._v("Note: Only applicable to vertical scales.")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("padding")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("maxTicksLimit")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("11")])]),e._v(" "),o("td",[e._v("Maximum number of ticks and gridlines to show.")])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/131.45e904c9.js b/scriptApl/chart.js/dist/docs/assets/js/131.45e904c9.js new file mode 100644 index 00000000..3e23701d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/131.45e904c9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{461:function(t,e,a){"use strict";a.r(e);var s=a(6),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"category-axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#category-axis"}},[t._v("#")]),t._v(" Category Axis")]),t._v(" "),a("p",[t._v("If the global configuration is used, labels are drawn from one of the label arrays included in the chart data. If only "),a("code",[t._v("data.labels")]),t._v(" is defined, this will be used. If "),a("code",[t._v("data.xLabels")]),t._v(" is defined and the axis is horizontal, this will be used. Similarly, if "),a("code",[t._v("data.yLabels")]),t._v(" is defined and the axis is vertical, this property will be used. Using both "),a("code",[t._v("xLabels")]),t._v(" and "),a("code",[t._v("yLabels")]),t._v(" together can create a chart that uses strings for both the X and Y axes.")]),t._v(" "),a("p",[t._v("Specifying any of the settings above defines the x-axis as "),a("code",[t._v("type: 'category'")]),t._v(" if not defined otherwise. For more fine-grained control of category labels, it is also possible to add "),a("code",[t._v("labels")]),t._v(" as part of the category axis definition. Doing so does not apply the global defaults.")]),t._v(" "),a("h2",{attrs:{id:"category-axis-definition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#category-axis-definition"}},[t._v("#")]),t._v(" Category Axis Definition")]),t._v(" "),a("p",[t._v("Globally:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'June'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("As part of axis definition:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'category'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'June'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"configuration-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),a("h3",{attrs:{id:"category-axis-specific-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#category-axis-specific-options"}},[t._v("#")]),t._v(" Category Axis specific options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("min")])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v("|"),a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("The minimum item to display. "),a("a",{attrs:{href:"#min-max-configuration"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("max")])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v("|"),a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("The maximum item to display. "),a("a",{attrs:{href:"#min-max-configuration"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labels")])]),t._v(" "),a("td",[a("code",[t._v("string[]")]),t._v("|"),a("code",[t._v("string[][]")])]),t._v(" "),a("td",[t._v("An array of labels to display. When an individual label is an array of strings, each item is rendered on a new line.")])])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("bounds")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'ticks'")])]),t._v(" "),a("td",[t._v("Determines the scale bounds. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("position")])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Position of the axis. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stack")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Stack group. Axes at the same "),a("code",[t._v("position")]),t._v(" with same "),a("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stackWeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("1")]),t._v(" "),a("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("axis")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Which type of axis this is. Possible values are: "),a("code",[t._v("'x'")]),t._v(", "),a("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),a("code",[t._v("'x'")]),t._v(" or "),a("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("offset")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),a("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("title")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Scale title configuration. "),a("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("type")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("alignToPixels")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Background color of the scale area.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Controls the axis global visibility (visible when "),a("code",[t._v("true")]),t._v(", hidden when "),a("code",[t._v("false")]),t._v("). When "),a("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grid")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Grid line configuration. "),a("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("min")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("max")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("reverse")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Reverse the scale.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stacked")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Should the data be stacked. "),a("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMax")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the maximum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMin")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the minimum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("ticks")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Tick configuration. "),a("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("weight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),a("h2",{attrs:{id:"tick-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common tick options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("align")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'center'")])]),t._v(" "),a("td",[t._v("The tick alignment along the axis. Can be "),a("code",[t._v("'start'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", "),a("code",[t._v("'end'")]),t._v(", or "),a("code",[t._v("'inner'")]),t._v(". "),a("code",[t._v("inner")]),t._v(" alignment means align "),a("code",[t._v("start")]),t._v(" for first tick and "),a("code",[t._v("end")]),t._v(" for the last tick of horizontal axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("crossAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'near'")])]),t._v(" "),a("td",[t._v("The tick alignment perpendicular to the axis. Can be "),a("code",[t._v("'near'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", or "),a("code",[t._v("'far'")]),t._v(". See "),a("RouterLink",{attrs:{to:"/axes/cartesian/#tick-alignment"}},[t._v("Tick Alignment")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("sampleSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("ticks.length")])]),t._v(" "),a("td",[t._v("The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkip")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to "),a("code",[t._v("maxRotation")]),t._v(" before skipping any. Turn "),a("code",[t._v("autoSkip")]),t._v(" off to show all labels no matter what.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkipPadding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Padding between the ticks on the horizontal axis when "),a("code",[t._v("autoSkip")]),t._v(" is enabled.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("includeBounds")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Should the defined "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(' values be presented as ticks even if they are not "nice".')])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelOffset")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). "),a("em",[t._v("Note: this can cause labels at the edges to be cropped by the edge of the canvas")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("50")])]),t._v(" "),a("td",[t._v("Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("minRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Minimum rotation for tick labels. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("mirror")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Flips tick labels around axis, displaying the labels inside the chart instead of outside. "),a("em",[t._v("Note: Only applicable to vertical scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxTicksLimit")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("11")])]),t._v(" "),a("td",[t._v("Maximum number of ticks and gridlines to show.")])])])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backdropColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),a("td",[t._v("Color of label backdrops.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backdropPadding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Padding of label backdrop.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callback")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),a("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, show tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of ticks.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("major")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("{}")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("showLabelBackdrop")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for radial scale, "),a("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),a("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[t._v("``")]),t._v(" "),a("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Stroke width around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("z")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),a("h2",{attrs:{id:"min-max-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min-max-configuration"}},[t._v("#")]),t._v(" Min Max Configuration")]),t._v(" "),a("p",[t._v("For both the "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(" properties, the value must be "),a("code",[t._v("string")]),t._v(" in the "),a("code",[t._v("labels")]),t._v(" array or "),a("code",[t._v("numeric")]),t._v(' value as an index of a label in that array. In the example below, the x axis would only display "March" through "June".')]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("60")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'June'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[t._v("Internally category scale uses label indices")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/132.abd9e4c2.js b/scriptApl/chart.js/dist/docs/assets/js/132.abd9e4c2.js new file mode 100644 index 00000000..f60163a1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/132.abd9e4c2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{460:function(t,e,a){"use strict";a.r(e);var s=a(6),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cartesian-axes"}},[t._v("#")]),t._v(" Cartesian Axes")]),t._v(" "),a("p",[t._v("Axes that follow a cartesian grid are known as 'Cartesian Axes'. Cartesian axes are used for line, bar, and bubble charts. Four cartesian axes are included in Chart.js by default.")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/linear.html"}},[t._v("linear")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/logarithmic.html"}},[t._v("logarithmic")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/category.html"}},[t._v("category")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[t._v("time")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/timeseries.html"}},[t._v("timeseries")])],1)]),t._v(" "),a("h2",{attrs:{id:"visual-components"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#visual-components"}},[t._v("#")]),t._v(" Visual Components")]),t._v(" "),a("p",[t._v("A cartesian axis is composed of visual components that can be individually configured. These components are:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#border"}},[t._v("border")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#grid-lines"}},[t._v("grid lines")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#ticks-and-tick-marks"}},[t._v("tick")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#ticks-and-tick-marks"}},[t._v("tick mark")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#title"}},[t._v("title")])])]),t._v(" "),a("h3",{attrs:{id:"border"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border"}},[t._v("#")]),t._v(" Border")]),t._v(" "),a("p",[t._v("The axis border is drawn at the edge of the axis, beside the chart area. In the image below, it is drawn in red.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data,\n options: {\n scales: {\n x: {\n grid: {\n borderColor: 'red'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h3",{attrs:{id:"grid-lines"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#grid-lines"}},[t._v("#")]),t._v(" Grid lines")]),t._v(" "),a("p",[t._v("The grid lines for an axis are drawn on the chart area. In the image below, they are red.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data,\n options: {\n scales: {\n x: {\n grid: {\n color: 'red',\n borderColor: 'grey',\n tickColor: 'grey'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h3",{attrs:{id:"ticks-and-tick-marks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks-and-tick-marks"}},[t._v("#")]),t._v(" Ticks and Tick Marks")]),t._v(" "),a("p",[t._v("Ticks represent data values on the axis that appear as labels. The tick mark is the extension of the grid line from the axis border to the label.\nIn this example, the tick mark is drawn in red while the tick label is drawn in blue.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data,\n options: {\n scales: {\n x: {\n grid: {\n tickColor: 'red'\n },\n ticks: {\n color: 'blue',\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" Title")]),t._v(" "),a("p",[t._v("The title component of the axis is used to label the data. In the example below, it is shown in red.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data,\n options: {\n scales: {\n x: {\n title: {\n color: 'red',\n display: true,\n text: 'Month'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"common-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-configuration"}},[t._v("#")]),t._v(" Common Configuration")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("These are only the common options supported by all cartesian axes. Please see the specific axis documentation for all the available options for that axis.")])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("bounds")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'ticks'")])]),t._v(" "),a("td",[t._v("Determines the scale bounds. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("position")])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Position of the axis. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stack")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Stack group. Axes at the same "),a("code",[t._v("position")]),t._v(" with same "),a("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stackWeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("1")]),t._v(" "),a("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("axis")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Which type of axis this is. Possible values are: "),a("code",[t._v("'x'")]),t._v(", "),a("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),a("code",[t._v("'x'")]),t._v(" or "),a("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("offset")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),a("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("title")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Scale title configuration. "),a("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("type")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("alignToPixels")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Background color of the scale area.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Controls the axis global visibility (visible when "),a("code",[t._v("true")]),t._v(", hidden when "),a("code",[t._v("false")]),t._v("). When "),a("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grid")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Grid line configuration. "),a("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("min")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("max")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("reverse")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Reverse the scale.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stacked")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Should the data be stacked. "),a("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMax")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the maximum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMin")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the minimum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("ticks")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Tick configuration. "),a("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("weight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),a("h3",{attrs:{id:"axis-position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis-position"}},[t._v("#")]),t._v(" Axis Position")]),t._v(" "),a("p",[t._v("An axis can either be positioned at the edge of the chart, at the center of the chart area, or dynamically with respect to a data value.")]),t._v(" "),a("p",[t._v("To position the axis at the edge of the chart, set the "),a("code",[t._v("position")]),t._v(" option to one of: "),a("code",[t._v("'top'")]),t._v(", "),a("code",[t._v("'left'")]),t._v(", "),a("code",[t._v("'bottom'")]),t._v(", "),a("code",[t._v("'right'")]),t._v(".\nTo position the axis at the center of the chart area, set the "),a("code",[t._v("position")]),t._v(" option to "),a("code",[t._v("'center'")]),t._v(". In this mode, either the "),a("code",[t._v("axis")]),t._v(" option must be specified or the axis ID has to start with the letter 'x' or 'y'. This is so chart.js knows what kind of axis (horizontal or vertical) it is.\nTo position the axis with respect to a data value, set the "),a("code",[t._v("position")]),t._v(" option to an object such as:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v('This will position the axis at a value of -20 on the axis with ID "x". For cartesian axes, only 1 axis may be specified.')]),t._v(" "),a("h3",{attrs:{id:"scale-bounds"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale-bounds"}},[t._v("#")]),t._v(" Scale Bounds")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("bounds")]),t._v(" property controls the scale boundary strategy (bypassed by "),a("code",[t._v("min")]),t._v("/"),a("code",[t._v("max")]),t._v(" options).")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'data'")]),t._v(": makes sure data are fully visible, labels outside are removed")]),t._v(" "),a("li",[a("code",[t._v("'ticks'")]),t._v(": makes sure ticks are fully visible, data outside are truncated")])]),t._v(" "),a("h3",{attrs:{id:"tick-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("These are only the common tick options supported by all cartesian axes. Please see specific axis documentation for all of the available options for that axis.")])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common tick options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("align")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'center'")])]),t._v(" "),a("td",[t._v("The tick alignment along the axis. Can be "),a("code",[t._v("'start'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", "),a("code",[t._v("'end'")]),t._v(", or "),a("code",[t._v("'inner'")]),t._v(". "),a("code",[t._v("inner")]),t._v(" alignment means align "),a("code",[t._v("start")]),t._v(" for first tick and "),a("code",[t._v("end")]),t._v(" for the last tick of horizontal axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("crossAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'near'")])]),t._v(" "),a("td",[t._v("The tick alignment perpendicular to the axis. Can be "),a("code",[t._v("'near'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", or "),a("code",[t._v("'far'")]),t._v(". See "),a("RouterLink",{attrs:{to:"/axes/cartesian/#tick-alignment"}},[t._v("Tick Alignment")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("sampleSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("ticks.length")])]),t._v(" "),a("td",[t._v("The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkip")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to "),a("code",[t._v("maxRotation")]),t._v(" before skipping any. Turn "),a("code",[t._v("autoSkip")]),t._v(" off to show all labels no matter what.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkipPadding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Padding between the ticks on the horizontal axis when "),a("code",[t._v("autoSkip")]),t._v(" is enabled.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("includeBounds")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Should the defined "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(' values be presented as ticks even if they are not "nice".')])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelOffset")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). "),a("em",[t._v("Note: this can cause labels at the edges to be cropped by the edge of the canvas")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("50")])]),t._v(" "),a("td",[t._v("Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("minRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Minimum rotation for tick labels. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("mirror")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Flips tick labels around axis, displaying the labels inside the chart instead of outside. "),a("em",[t._v("Note: Only applicable to vertical scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxTicksLimit")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("11")])]),t._v(" "),a("td",[t._v("Maximum number of ticks and gridlines to show.")])])])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backdropColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),a("td",[t._v("Color of label backdrops.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backdropPadding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Padding of label backdrop.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callback")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),a("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, show tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of ticks.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("major")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("{}")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("showLabelBackdrop")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for radial scale, "),a("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),a("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[t._v("``")]),t._v(" "),a("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Stroke width around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("z")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),a("h3",{attrs:{id:"tick-alignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick-alignment"}},[t._v("#")]),t._v(" Tick Alignment")]),t._v(" "),a("p",[t._v("The alignment of ticks is primarily controlled using two settings on the tick configuration object: "),a("code",[t._v("align")]),t._v(" and "),a("code",[t._v("crossAlign")]),t._v(". The "),a("code",[t._v("align")]),t._v(" setting configures how labels align with the tick mark along the axis direction (i.e. horizontal for a horizontal axis and vertical for a vertical axis). The "),a("code",[t._v("crossAlign")]),t._v(" setting configures how labels align with the tick mark in the perpendicular direction (i.e. vertical for a horizontal axis and horizontal for a vertical axis). In the example below, the "),a("code",[t._v("crossAlign")]),t._v(" setting is used to left align the labels on the Y axis.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: [\n 'rgba(255, 99, 132, 0.2)',\n 'rgba(255, 159, 64, 0.2)',\n 'rgba(255, 205, 86, 0.2)',\n 'rgba(75, 192, 192, 0.2)',\n 'rgba(54, 162, 235, 0.2)',\n 'rgba(153, 102, 255, 0.2)',\n 'rgba(201, 203, 207, 0.2)'\n ],\n borderColor: [\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(54, 162, 235)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)'\n ],\n borderWidth: 1,\n data: [65, 59, 80, 81, 56, 55, 40],\n }]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data,\n options: {\n indexAxis: 'y',\n scales: {\n y: {\n ticks: {\n crossAlign: 'far',\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("crossAlign")]),t._v(" setting is only effective when these preconditions are met:")]),t._v(" "),a("ul",[a("li",[t._v("tick rotation is "),a("code",[t._v("0")])]),t._v(" "),a("li",[t._v("axis position is "),a("code",[t._v("'top'")]),t._v(", '"),a("code",[t._v("left'")]),t._v(", "),a("code",[t._v("'bottom'")]),t._v(" or "),a("code",[t._v("'right'")])])])]),t._v(" "),a("h3",{attrs:{id:"axis-id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis-id"}},[t._v("#")]),t._v(" Axis ID")]),t._v(" "),a("p",[t._v("The properties "),a("code",[t._v("dataset.xAxisID")]),t._v(" or "),a("code",[t._v("dataset.yAxisID")]),t._v(" have to match to "),a("code",[t._v("scales")]),t._v(" property. This is especially needed if multi-axes charts are used.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This dataset appears on the first axis")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisID")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'first-y-axis'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This dataset appears on the second axis")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisID")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'second-y-axis'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'first-y-axis'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'linear'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'second-y-axis'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'linear'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"creating-multiple-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#creating-multiple-axes"}},[t._v("#")]),t._v(" Creating Multiple Axes")]),t._v(" "),a("p",[t._v("With cartesian axes, it is possible to create multiple X and Y axes. To do so, you can add multiple configuration objects to the "),a("code",[t._v("xAxes")]),t._v(" and "),a("code",[t._v("yAxes")]),t._v(" properties. When adding new axes, it is important to ensure that you specify the type of the new axes as default types are "),a("strong",[t._v("not")]),t._v(" used in this case.")]),t._v(" "),a("p",[t._v("In the example below, we are creating two Y axes. We then use the "),a("code",[t._v("yAxisID")]),t._v(" property to map the datasets to their correct axes.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("75")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Left dataset'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This binds the dataset to the left y axis")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisID")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'left-y-axis'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2.0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Right dataset'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This binds the dataset to the right y axis")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisID")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'right-y-axis'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Jan'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Feb'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Mar'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Apr'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Jun'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'left-y-axis'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'linear'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'left'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'right-y-axis'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'linear'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'right'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])],1)}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/133.d5aa1db6.js b/scriptApl/chart.js/dist/docs/assets/js/133.d5aa1db6.js new file mode 100644 index 00000000..7150a72b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/133.d5aa1db6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{462:function(t,e,a){"use strict";a.r(e);var o=a(6),s=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"linear-axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-axis"}},[t._v("#")]),t._v(" Linear Axis")]),t._v(" "),a("p",[t._v("The linear scale is used to chart numerical data. It can be placed on either the x or y-axis. The scatter chart type automatically configures a line chart to use one of these scales for the x-axis. As the name suggests, linear interpolation is used to determine where a value lies on the axis.")]),t._v(" "),a("h2",{attrs:{id:"configuration-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),a("h3",{attrs:{id:"linear-axis-specific-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-axis-specific-options"}},[t._v("#")]),t._v(" Linear Axis specific options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("beginAtZero")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[t._v("if true, scale will include 0 if it is not already included.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grace")])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("Percentage (string ending with "),a("code",[t._v("%")]),t._v(") or amount (number) for added room in the scale range above and below data. "),a("a",{attrs:{href:"#grace"}},[t._v("more...")])])])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("bounds")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'ticks'")])]),t._v(" "),a("td",[t._v("Determines the scale bounds. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("position")])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Position of the axis. "),a("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stack")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Stack group. Axes at the same "),a("code",[t._v("position")]),t._v(" with same "),a("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stackWeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("1")]),t._v(" "),a("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("axis")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Which type of axis this is. Possible values are: "),a("code",[t._v("'x'")]),t._v(", "),a("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),a("code",[t._v("'x'")]),t._v(" or "),a("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("offset")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),a("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("title")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Scale title configuration. "),a("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("type")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("alignToPixels")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Background color of the scale area.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Controls the axis global visibility (visible when "),a("code",[t._v("true")]),t._v(", hidden when "),a("code",[t._v("false")]),t._v("). When "),a("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grid")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Grid line configuration. "),a("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("min")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("max")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("reverse")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Reverse the scale.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stacked")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Should the data be stacked. "),a("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMax")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the maximum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMin")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the minimum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("ticks")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Tick configuration. "),a("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("weight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),a("h2",{attrs:{id:"tick-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),a("h3",{attrs:{id:"linear-axis-specific-tick-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-axis-specific-tick-options"}},[t._v("#")]),t._v(" Linear Axis specific tick options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("count")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])]),t._v(" "),a("td",[t._v("The number of ticks to generate. If specified, this overrides the automatic generation.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("format")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("The "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat",target:"_blank",rel:"noopener noreferrer"}},[a("code",[t._v("Intl.NumberFormat")]),a("OutboundLink")],1),t._v(" options used by the default label formatter")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("precision")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("if defined and "),a("code",[t._v("stepSize")]),t._v(" is not specified, the step size will be rounded to this many decimal places.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stepSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User-defined fixed step size for the scale. "),a("a",{attrs:{href:"#step-size"}},[t._v("more...")])])])])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-cartesian-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common tick options to all cartesian axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("align")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'center'")])]),t._v(" "),a("td",[t._v("The tick alignment along the axis. Can be "),a("code",[t._v("'start'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", "),a("code",[t._v("'end'")]),t._v(", or "),a("code",[t._v("'inner'")]),t._v(". "),a("code",[t._v("inner")]),t._v(" alignment means align "),a("code",[t._v("start")]),t._v(" for first tick and "),a("code",[t._v("end")]),t._v(" for the last tick of horizontal axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("crossAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'near'")])]),t._v(" "),a("td",[t._v("The tick alignment perpendicular to the axis. Can be "),a("code",[t._v("'near'")]),t._v(", "),a("code",[t._v("'center'")]),t._v(", or "),a("code",[t._v("'far'")]),t._v(". See "),a("RouterLink",{attrs:{to:"/axes/cartesian/#tick-alignment"}},[t._v("Tick Alignment")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("sampleSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("ticks.length")])]),t._v(" "),a("td",[t._v("The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkip")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to "),a("code",[t._v("maxRotation")]),t._v(" before skipping any. Turn "),a("code",[t._v("autoSkip")]),t._v(" off to show all labels no matter what.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("autoSkipPadding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Padding between the ticks on the horizontal axis when "),a("code",[t._v("autoSkip")]),t._v(" is enabled.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("includeBounds")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Should the defined "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(' values be presented as ticks even if they are not "nice".')])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelOffset")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). "),a("em",[t._v("Note: this can cause labels at the edges to be cropped by the edge of the canvas")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("50")])]),t._v(" "),a("td",[t._v("Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("minRotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Minimum rotation for tick labels. "),a("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("mirror")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Flips tick labels around axis, displaying the labels inside the chart instead of outside. "),a("em",[t._v("Note: Only applicable to vertical scales.")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxTicksLimit")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("11")])]),t._v(" "),a("td",[t._v("Maximum number of ticks and gridlines to show.")])])])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backdropColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),a("td",[t._v("Color of label backdrops.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backdropPadding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Padding of label backdrop.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callback")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),a("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, show tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of ticks.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("major")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("{}")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("showLabelBackdrop")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for radial scale, "),a("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),a("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[t._v("``")]),t._v(" "),a("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Stroke width around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("z")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),a("h2",{attrs:{id:"step-size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-size"}},[t._v("#")]),t._v(" Step Size")]),t._v(" "),a("p",[t._v("If set, the scale ticks will be enumerated by multiple of "),a("code",[t._v("stepSize")]),t._v(", having one tick per increment. If not set, the ticks are labeled automatically using the nice numbers algorithm.")]),t._v(" "),a("p",[t._v("This example sets up a chart with a y axis that creates ticks at "),a("code",[t._v("0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" options "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("max")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("ticks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("stepSize")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"grace"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#grace"}},[t._v("#")]),t._v(" Grace")]),t._v(" "),a("p",[t._v("If the value is string ending with "),a("code",[t._v("%")]),t._v(", its treat as percentage. If number, its treat as value.\nThe value is added to the maximum data value and subtracted from the minimum data. This extends the scale range as if the data values were that much greater.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: ['Positive', 'Negative'],\n datasets: [{\n data: [100, -50],\n backgroundColor: 'rgb(255, 99, 132)'\n }],\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data,\n options: {\n scales: {\n y: {\n type: 'linear',\n grace: '5%'\n }\n },\n plugins: {\n legend: false\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[t._v("Internally, the linear scale uses numeric data")])],1)}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/134.4bfa3b5a.js b/scriptApl/chart.js/dist/docs/assets/js/134.4bfa3b5a.js new file mode 100644 index 00000000..757e88c0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/134.4bfa3b5a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{463:function(t,e,o){"use strict";o.r(e);var a=o(6),v=Object(a.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"logarithmic-axis"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#logarithmic-axis"}},[t._v("#")]),t._v(" Logarithmic Axis")]),t._v(" "),o("p",[t._v("The logarithmic scale is used to chart numerical data. It can be placed on either the x or y-axis. As the name suggests, logarithmic interpolation is used to determine where a value lies on the axis.")]),t._v(" "),o("h2",{attrs:{id:"configuration-options"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),o("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId]")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("bounds")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("'ticks'")])]),t._v(" "),o("td",[t._v("Determines the scale bounds. "),o("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("position")])]),t._v(" "),o("td",[o("code",[t._v("string")]),t._v(" | "),o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Position of the axis. "),o("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stack")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Stack group. Axes at the same "),o("code",[t._v("position")]),t._v(" with same "),o("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stackWeight")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[t._v("1")]),t._v(" "),o("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("axis")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Which type of axis this is. Possible values are: "),o("code",[t._v("'x'")]),t._v(", "),o("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),o("code",[t._v("'x'")]),t._v(" or "),o("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("offset")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),o("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("title")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Scale title configuration. "),o("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])]),t._v(" "),o("h3",{attrs:{id:"common-options-to-all-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId]")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("type")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("alignToPixels")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("backgroundColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Background color of the scale area.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("display")])]),t._v(" "),o("td",[o("code",[t._v("boolean")]),t._v("|"),o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("Controls the axis global visibility (visible when "),o("code",[t._v("true")]),t._v(", hidden when "),o("code",[t._v("false")]),t._v("). When "),o("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("grid")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Grid line configuration. "),o("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("min")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("max")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("reverse")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Reverse the scale.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("stacked")])]),t._v(" "),o("td",[o("code",[t._v("boolean")]),t._v("|"),o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Should the data be stacked. "),o("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("suggestedMax")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Adjustment used when calculating the maximum data value. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("suggestedMin")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Adjustment used when calculating the minimum data value. "),o("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("ticks")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Tick configuration. "),o("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("weight")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),o("h2",{attrs:{id:"tick-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),o("h3",{attrs:{id:"logarithmic-axis-specific-options"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#logarithmic-axis-specific-options"}},[t._v("#")]),t._v(" Logarithmic Axis specific options")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId]")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("format")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td"),t._v(" "),o("td",[t._v("The "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat",target:"_blank",rel:"noopener noreferrer"}},[o("code",[t._v("Intl.NumberFormat")]),o("OutboundLink")],1),t._v(" options used by the default label formatter")])])])]),t._v(" "),o("h3",{attrs:{id:"common-tick-options-to-all-cartesian-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common tick options to all cartesian axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("align")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("'center'")])]),t._v(" "),o("td",[t._v("The tick alignment along the axis. Can be "),o("code",[t._v("'start'")]),t._v(", "),o("code",[t._v("'center'")]),t._v(", "),o("code",[t._v("'end'")]),t._v(", or "),o("code",[t._v("'inner'")]),t._v(". "),o("code",[t._v("inner")]),t._v(" alignment means align "),o("code",[t._v("start")]),t._v(" for first tick and "),o("code",[t._v("end")]),t._v(" for the last tick of horizontal axis")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("crossAlign")])]),t._v(" "),o("td",[o("code",[t._v("string")])]),t._v(" "),o("td",[o("code",[t._v("'near'")])]),t._v(" "),o("td",[t._v("The tick alignment perpendicular to the axis. Can be "),o("code",[t._v("'near'")]),t._v(", "),o("code",[t._v("'center'")]),t._v(", or "),o("code",[t._v("'far'")]),t._v(". See "),o("RouterLink",{attrs:{to:"/axes/cartesian/#tick-alignment"}},[t._v("Tick Alignment")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("sampleSize")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("ticks.length")])]),t._v(" "),o("td",[t._v("The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("autoSkip")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to "),o("code",[t._v("maxRotation")]),t._v(" before skipping any. Turn "),o("code",[t._v("autoSkip")]),t._v(" off to show all labels no matter what.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("autoSkipPadding")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("3")])]),t._v(" "),o("td",[t._v("Padding between the ticks on the horizontal axis when "),o("code",[t._v("autoSkip")]),t._v(" is enabled.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("includeBounds")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("Should the defined "),o("code",[t._v("min")]),t._v(" and "),o("code",[t._v("max")]),t._v(' values be presented as ticks even if they are not "nice".')])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("labelOffset")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). "),o("em",[t._v("Note: this can cause labels at the edges to be cropped by the edge of the canvas")])])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("maxRotation")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("50")])]),t._v(" "),o("td",[t._v("Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. "),o("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("minRotation")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("Minimum rotation for tick labels. "),o("em",[t._v("Note: Only applicable to horizontal scales.")])])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("mirror")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",[o("code",[t._v("false")])]),t._v(" "),o("td",[t._v("Flips tick labels around axis, displaying the labels inside the chart instead of outside. "),o("em",[t._v("Note: Only applicable to vertical scales.")])])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("padding")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("maxTicksLimit")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",[o("code",[t._v("11")])]),t._v(" "),o("td",[t._v("Maximum number of ticks and gridlines to show.")])])])]),t._v(" "),o("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),o("p",[t._v("Namespace: "),o("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Type")]),t._v(" "),o("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),o("th",[t._v("Default")]),t._v(" "),o("th",[t._v("Description")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[o("code",[t._v("backdropColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),o("td",[t._v("Color of label backdrops.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("backdropPadding")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/padding.html"}},[o("code",[t._v("Padding")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("2")])]),t._v(" "),o("td",[t._v("Padding of label backdrop.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("callback")])]),t._v(" "),o("td",[o("code",[t._v("function")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td"),t._v(" "),o("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),o("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("display")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("true")])]),t._v(" "),o("td",[t._v("If true, show tick labels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("color")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("Chart.defaults.color")])]),t._v(" "),o("td",[t._v("Color of ticks.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("font")])]),t._v(" "),o("td",[o("code",[t._v("Font")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("Chart.defaults.font")])]),t._v(" "),o("td",[t._v("See "),o("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("major")])]),t._v(" "),o("td",[o("code",[t._v("object")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("{}")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),o("tr",[o("td",[o("code",[t._v("padding")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("3")])]),t._v(" "),o("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("showLabelBackdrop")])]),t._v(" "),o("td",[o("code",[t._v("boolean")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("true")]),t._v(" for radial scale, "),o("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),o("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("textStrokeColor")])]),t._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[t._v("Color")])])],1),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[t._v("``")]),t._v(" "),o("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("textStrokeWidth")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("Stroke width around the text.")])]),t._v(" "),o("tr",[o("td",[o("code",[t._v("z")])]),t._v(" "),o("td",[o("code",[t._v("number")])]),t._v(" "),o("td",{staticStyle:{"text-align":"center"}}),t._v(" "),o("td",[o("code",[t._v("0")])]),t._v(" "),o("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),o("h2",{attrs:{id:"internal-data-format"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),o("p",[t._v("Internally, the logarithmic scale uses numeric data.")])])}),[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/135.8c7630ad.js b/scriptApl/chart.js/dist/docs/assets/js/135.8c7630ad.js new file mode 100644 index 00000000..704d18ae --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/135.8c7630ad.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{465:function(t,a,e){"use strict";e.r(a);var s=e(6),r=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"time-cartesian-axis"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#time-cartesian-axis"}},[t._v("#")]),t._v(" Time Cartesian Axis")]),t._v(" "),e("p",[t._v("The time scale is used to display times and dates. Data are spread according to the amount of time between data points. When building its ticks, it will automatically calculate the most comfortable unit base on the size of the scale.")]),t._v(" "),e("h2",{attrs:{id:"date-adapters"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#date-adapters"}},[t._v("#")]),t._v(" Date Adapters")]),t._v(" "),e("p",[t._v("The time scale "),e("strong",[t._v("requires")]),t._v(" both a date library and a corresponding adapter to be present. Please choose from the "),e("a",{attrs:{href:"https://github.com/chartjs/awesome#adapters",target:"_blank",rel:"noopener noreferrer"}},[t._v("available adapters"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"data-sets"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-sets"}},[t._v("#")]),t._v(" Data Sets")]),t._v(" "),e("h3",{attrs:{id:"input-data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#input-data"}},[t._v("#")]),t._v(" Input Data")]),t._v(" "),e("p",[t._v("See "),e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("data structures")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"date-formats"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#date-formats"}},[t._v("#")]),t._v(" Date Formats")]),t._v(" "),e("p",[t._v("When providing data for the time scale, Chart.js uses timestamps defined as milliseconds since the epoch (midnight January 1, 1970, UTC) internally. However, Chart.js also supports all of the formats that your chosen date adapter accepts. You should use timestamps if you'd like to set "),e("code",[t._v("parsing: false")]),t._v(" for better performance.")]),t._v(" "),e("h2",{attrs:{id:"configuration-options"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),e("h3",{attrs:{id:"time-axis-specific-options"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#time-axis-specific-options"}},[t._v("#")]),t._v(" Time Axis specific options")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("min")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("The minimum item to display. "),e("a",{attrs:{href:"#min-max-configuration"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("max")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("The maximum item to display. "),e("a",{attrs:{href:"#min-max-configuration"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMin")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("The minimum item to display if there is no datapoint before it. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMax")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("The maximum item to display if there is no datapoint behind it. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("adapters.date")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td",[e("code",[t._v("{}")])]),t._v(" "),e("td",[t._v("Options for adapter for external date library if that adapter needs or supports options")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("bounds")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'data'")])]),t._v(" "),e("td",[t._v("Determines the scale bounds. "),e("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("offsetAfterAutoskip")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If true, bar chart offsets are computed with auto skipped ticks.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("ticks.source")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'auto'")])]),t._v(" "),e("td",[t._v("How ticks are generated. "),e("a",{attrs:{href:"#ticks-source"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.displayFormats")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Sets how different time units are displayed. "),e("a",{attrs:{href:"#display-formats"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.isoWeekday")])]),t._v(" "),e("td",[e("code",[t._v("boolean")]),t._v("|"),e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If "),e("code",[t._v("boolean")]),t._v(" and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. If "),e("code",[t._v("number")]),t._v(", the index of the first day of the week (0 - Sunday, 6 - Saturday)")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.parser")])]),t._v(" "),e("td",[e("code",[t._v("string")]),t._v("|"),e("code",[t._v("function")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Custom parser for dates. "),e("a",{attrs:{href:"#parser"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.round")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If defined, dates will be rounded to the start of this unit. See "),e("a",{attrs:{href:"#time-units"}},[t._v("Time Units")]),t._v(" below for the allowed units.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.tooltipFormat")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("The format string to use for the tooltip.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.unit")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If defined, will force the unit to be a certain type. See "),e("a",{attrs:{href:"#time-units"}},[t._v("Time Units")]),t._v(" section below for details.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.stepSize")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("1")])]),t._v(" "),e("td",[t._v("The number of units between grid lines.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("time.minUnit")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'millisecond'")])]),t._v(" "),e("td",[t._v("The minimum display format to be used for a time unit.")])])])]),t._v(" "),e("h3",{attrs:{id:"common-options-to-all-cartesian-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-cartesian-axes"}},[t._v("#")]),t._v(" Common options to all cartesian axes")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("bounds")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'ticks'")])]),t._v(" "),e("td",[t._v("Determines the scale bounds. "),e("RouterLink",{attrs:{to:"/axes/cartesian/#scale-bounds"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("position")])]),t._v(" "),e("td",[e("code",[t._v("string")]),t._v(" | "),e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Position of the axis. "),e("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("stack")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Stack group. Axes at the same "),e("code",[t._v("position")]),t._v(" with same "),e("code",[t._v("stack")]),t._v(" are stacked.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("stackWeight")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[t._v("1")]),t._v(" "),e("td",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Which type of axis this is. Possible values are: "),e("code",[t._v("'x'")]),t._v(", "),e("code",[t._v("'y'")]),t._v(". If not set, this is inferred from the first character of the ID which should be "),e("code",[t._v("'x'")]),t._v(" or "),e("code",[t._v("'y'")]),t._v(".")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("offset")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to "),e("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("title")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Scale title configuration. "),e("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("more...")])],1)])])]),t._v(" "),e("h3",{attrs:{id:"common-options-to-all-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("type")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("alignToPixels")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("backgroundColor")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Background color of the scale area.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("display")])]),t._v(" "),e("td",[e("code",[t._v("boolean")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",[t._v("Controls the axis global visibility (visible when "),e("code",[t._v("true")]),t._v(", hidden when "),e("code",[t._v("false")]),t._v("). When "),e("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("grid")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Grid line configuration. "),e("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("min")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("max")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("reverse")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Reverse the scale.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("stacked")])]),t._v(" "),e("td",[e("code",[t._v("boolean")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Should the data be stacked. "),e("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMax")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Adjustment used when calculating the maximum data value. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMin")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Adjustment used when calculating the minimum data value. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("ticks")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Tick configuration. "),e("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("weight")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("0")])]),t._v(" "),e("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),e("h4",{attrs:{id:"time-units"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#time-units"}},[t._v("#")]),t._v(" Time Units")]),t._v(" "),e("p",[t._v("The following time measurements are supported. The names can be passed as strings to the "),e("code",[t._v("time.unit")]),t._v(" config option to force a certain unit.")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("'millisecond'")])]),t._v(" "),e("li",[e("code",[t._v("'second'")])]),t._v(" "),e("li",[e("code",[t._v("'minute'")])]),t._v(" "),e("li",[e("code",[t._v("'hour'")])]),t._v(" "),e("li",[e("code",[t._v("'day'")])]),t._v(" "),e("li",[e("code",[t._v("'week'")])]),t._v(" "),e("li",[e("code",[t._v("'month'")])]),t._v(" "),e("li",[e("code",[t._v("'quarter'")])]),t._v(" "),e("li",[e("code",[t._v("'year'")])])]),t._v(" "),e("p",[t._v("For example, to create a chart with a time scale that always displayed units per month, the following config could be used.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("time")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("unit")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'month'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h4",{attrs:{id:"display-formats"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#display-formats"}},[t._v("#")]),t._v(" Display Formats")]),t._v(" "),e("p",[t._v("You may specify a map of display formats with a key for each unit:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("millisecond")])]),t._v(" "),e("li",[e("code",[t._v("second")])]),t._v(" "),e("li",[e("code",[t._v("minute")])]),t._v(" "),e("li",[e("code",[t._v("hour")])]),t._v(" "),e("li",[e("code",[t._v("day")])]),t._v(" "),e("li",[e("code",[t._v("week")])]),t._v(" "),e("li",[e("code",[t._v("month")])]),t._v(" "),e("li",[e("code",[t._v("quarter")])]),t._v(" "),e("li",[e("code",[t._v("year")])])]),t._v(" "),e("p",[t._v("The format string used as a value depends on the date adapter you chose to use.")]),t._v(" "),e("p",[t._v("For example, to set the display format for the "),e("code",[t._v("quarter")]),t._v(" unit to show the month and year, the following config might be passed to the chart constructor.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("time")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("displayFormats")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("quarter")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'MMM YYYY'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h4",{attrs:{id:"ticks-source"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ticks-source"}},[t._v("#")]),t._v(" Ticks Source")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("ticks.source")]),t._v(" property controls the ticks generation.")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("'auto'")]),t._v(': generates "optimal" ticks based on scale size and time options')]),t._v(" "),e("li",[e("code",[t._v("'data'")]),t._v(": generates ticks from data (including labels from data "),e("code",[t._v("{x|y}")]),t._v(" objects)")]),t._v(" "),e("li",[e("code",[t._v("'labels'")]),t._v(": generates ticks from user given "),e("code",[t._v("labels")]),t._v(" ONLY")])]),t._v(" "),e("h4",{attrs:{id:"parser"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parser"}},[t._v("#")]),t._v(" Parser")]),t._v(" "),e("p",[t._v("If this property is defined as a string, it is interpreted as a custom format to be used by the date adapter to parse the date.")]),t._v(" "),e("p",[t._v("If this is a function, it must return a type that can be handled by your date adapter's "),e("code",[t._v("parse")]),t._v(" method.")]),t._v(" "),e("h2",{attrs:{id:"min-max-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#min-max-configuration"}},[t._v("#")]),t._v(" Min Max Configuration")]),t._v(" "),e("p",[t._v("For both the "),e("code",[t._v("min")]),t._v(" and "),e("code",[t._v("max")]),t._v(" properties, the value must be "),e("code",[t._v("string")]),t._v(" that is parsable by your date adapter or a number with the amount of milliseconds that have elapsed since UNIX epoch.\nIn the example below the x axis will start at 7 October 2021.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2021-11-06 23:39:30'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2021-11-07 01:00:28'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("60")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2021-11-07 09:00:28'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2021-11-07 00:00:00'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h2",{attrs:{id:"changing-the-scale-type-from-time-scale-to-logarithmic-linear-scale"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#changing-the-scale-type-from-time-scale-to-logarithmic-linear-scale"}},[t._v("#")]),t._v(" Changing the scale type from Time scale to Logarithmic/Linear scale.")]),t._v(" "),e("p",[t._v("When changing the scale type from Time scale to Logarithmic/Linear scale, you need to add "),e("code",[t._v("bounds: 'ticks'")]),t._v(" to the scale options. Changing the "),e("code",[t._v("bounds")]),t._v(" parameter is necessary because its default value is the "),e("code",[t._v("'data'")]),t._v(" for the Time scale.")]),t._v(" "),e("p",[t._v("Initial config:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("Scale update:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'logarithmic'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bounds")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'ticks'")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h2",{attrs:{id:"internal-data-format"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),e("p",[t._v("Internally time scale uses milliseconds since epoch")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/136.f813e062.js b/scriptApl/chart.js/dist/docs/assets/js/136.f813e062.js new file mode 100644 index 00000000..1fe6f3b8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/136.f813e062.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{464:function(t,s,a){"use strict";a.r(s);var e=a(6),r=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"time-series-axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time-series-axis"}},[t._v("#")]),t._v(" Time Series Axis")]),t._v(" "),a("p",[t._v("The time series scale extends from the time scale and supports all the same options. However, for the time series scale, each data point is spread equidistant.")]),t._v(" "),a("h2",{attrs:{id:"example"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#example"}},[t._v("#")]),t._v(" Example")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'timeseries'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"more-details"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#more-details"}},[t._v("#")]),t._v(" More details")]),t._v(" "),a("p",[t._v("Please see "),a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[t._v("the time scale documentation")]),t._v(" for all other details.")],1)])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/137.6cab2863.js b/scriptApl/chart.js/dist/docs/assets/js/137.6cab2863.js new file mode 100644 index 00000000..fe773b5d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/137.6cab2863.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{467:function(t,a,e){"use strict";e.r(a);var s=e(6),r=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#axes"}},[t._v("#")]),t._v(" Axes")]),t._v(" "),e("p",[t._v("Axes are an integral part of a chart. They are used to determine how data maps to a pixel value on the chart. In a cartesian chart, there is 1 or more X-axis and 1 or more Y-axis to map points onto the 2-dimensional canvas. These axes are known as "),e("RouterLink",{attrs:{to:"/axes/cartesian/"}},[t._v("'cartesian axes'")]),t._v(".")],1),t._v(" "),e("p",[t._v("In a radial chart, such as a radar chart or a polar area chart, there is a single axis that maps points in the angular and radial directions. These are known as "),e("RouterLink",{attrs:{to:"/axes/radial/"}},[t._v("'radial axes'")]),t._v(".")],1),t._v(" "),e("p",[t._v("Scales in Chart.js >v2.0 are significantly more powerful, but also different than those of v1.0.")]),t._v(" "),e("ul",[e("li",[t._v("Multiple X & Y axes are supported.")]),t._v(" "),e("li",[t._v("A built-in label auto-skip feature detects would-be overlapping ticks and labels and removes every nth label to keep things displaying normally.")]),t._v(" "),e("li",[t._v("Scale titles are supported.")]),t._v(" "),e("li",[t._v("New scale types can be extended without writing an entirely new chart type.")])]),t._v(" "),e("h2",{attrs:{id:"default-scales"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#default-scales"}},[t._v("#")]),t._v(" Default scales")]),t._v(" "),e("p",[t._v("The default "),e("code",[t._v("scaleId")]),t._v("'s for carterian charts are "),e("code",[t._v("'x'")]),t._v(" and "),e("code",[t._v("'y'")]),t._v(". For radial charts: "),e("code",[t._v("'r'")]),t._v(".\nEach dataset is mapped to a scale for each axis (x, y or r) it requires. The scaleId's that a dataset is mapped to, is determined by the "),e("code",[t._v("xAxisID")]),t._v(", "),e("code",[t._v("yAxisID")]),t._v(" or "),e("code",[t._v("rAxisID")]),t._v(".\nIf the ID for an axis is not specified, first scale for that axis is used. If no scale for an axis is found, a new scale is created.")]),t._v(" "),e("p",[t._v("Some examples:")]),t._v(" "),e("p",[t._v("The following chart will have "),e("code",[t._v("'x'")]),t._v(" and "),e("code",[t._v("'y'")]),t._v(" scales:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("The following chart will have scales "),e("code",[t._v("'x'")]),t._v(" and "),e("code",[t._v("'myScale'")]),t._v(":")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("myScale")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'logarithmic'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("position")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'right'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// `axis` is determined by the position as `'y'`")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("The following chart will have scales "),e("code",[t._v("'xAxis'")]),t._v(" and "),e("code",[t._v("'yAxis'")]),t._v(":")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisID")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'yAxis'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("xAxis")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The axis for this scale is determined from the first letter of the id as `'x'`")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// It is recommended to specify `position` and / or `axis` explicitly.")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("The following chart will have "),e("code",[t._v("'r'")]),t._v(" scale:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'radar'")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("The following chart will have "),e("code",[t._v("'myScale'")]),t._v(" scale:")]),t._v(" "),e("div",{staticClass:"language-js extra-class"},[e("pre",{pre:!0,attrs:{class:"language-js"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'radar'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("myScale")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("axis")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'r'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h2",{attrs:{id:"common-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#common-configuration"}},[t._v("#")]),t._v(" Common Configuration")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("These are only the common options supported by all axes. Please see specific axis documentation for all of the available options for that axis.")])]),t._v(" "),e("h3",{attrs:{id:"common-options-to-all-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("type")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("alignToPixels")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("backgroundColor")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Background color of the scale area.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("display")])]),t._v(" "),e("td",[e("code",[t._v("boolean")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",[t._v("Controls the axis global visibility (visible when "),e("code",[t._v("true")]),t._v(", hidden when "),e("code",[t._v("false")]),t._v("). When "),e("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("grid")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Grid line configuration. "),e("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("min")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("max")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("reverse")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Reverse the scale.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("stacked")])]),t._v(" "),e("td",[e("code",[t._v("boolean")]),t._v("|"),e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("Should the data be stacked. "),e("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMax")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Adjustment used when calculating the maximum data value. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("suggestedMin")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Adjustment used when calculating the minimum data value. "),e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("ticks")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Tick configuration. "),e("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("weight")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("0")])]),t._v(" "),e("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),e("h2",{attrs:{id:"tick-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("These are only the common tick options supported by all axes. Please see specific axis documentation for all of the available tick options for that axis.")])]),t._v(" "),e("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("backdropColor")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[e("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),e("td",[t._v("Color of label backdrops.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("backdropPadding")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/padding.html"}},[e("code",[t._v("Padding")])])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",[e("code",[t._v("2")])]),t._v(" "),e("td",[t._v("Padding of label backdrop.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("callback")])]),t._v(" "),e("td",[e("code",[t._v("function")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td"),t._v(" "),e("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),e("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("display")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",[t._v("If true, show tick labels.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("color")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[e("code",[t._v("Chart.defaults.color")])]),t._v(" "),e("td",[t._v("Color of ticks.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("font")])]),t._v(" "),e("td",[e("code",[t._v("Font")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[e("code",[t._v("Chart.defaults.font")])]),t._v(" "),e("td",[t._v("See "),e("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("major")])]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",[e("code",[t._v("{}")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("padding")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",[e("code",[t._v("3")])]),t._v(" "),e("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("showLabelBackdrop")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[e("code",[t._v("true")]),t._v(" for radial scale, "),e("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),e("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("textStrokeColor")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("``")]),t._v(" "),e("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("textStrokeWidth")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[e("code",[t._v("0")])]),t._v(" "),e("td",[t._v("Stroke width around the text.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("z")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",[e("code",[t._v("0")])]),t._v(" "),e("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),e("h2",{attrs:{id:"axis-range-settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#axis-range-settings"}},[t._v("#")]),t._v(" Axis Range Settings")]),t._v(" "),e("p",[t._v("Given the number of axis range settings, it is important to understand how they all interact with each other.")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("suggestedMax")]),t._v(" and "),e("code",[t._v("suggestedMin")]),t._v(" settings only change the data values that are used to scale the axis. These are useful for extending the range of the axis while maintaining the auto fit behaviour.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" minDataValue "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("min")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("mostNegativeValue"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("suggestedMin"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" maxDataValue "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("max")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("mostPositiveValue"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("suggestedMax"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("In this example, the largest positive value is 50, but the data maximum is expanded out to 100. However, because the lowest data value is below the "),e("code",[t._v("suggestedMin")]),t._v(" setting, it is ignored.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'First dataset'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMin")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMax")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("In contrast to the "),e("code",[t._v("suggested*")]),t._v(" settings, the "),e("code",[t._v("min")]),t._v(" and "),e("code",[t._v("max")]),t._v(" settings set explicit ends to the axes. When these are set, some data points may not be visible.")]),t._v(" "),e("h2",{attrs:{id:"stacking"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stacking"}},[t._v("#")]),t._v(" Stacking")]),t._v(" "),e("p",[t._v("By default data is not stacked. If the "),e("code",[t._v("stacked")]),t._v(" option of the value scale (y-axis on horizontal chart) is "),e("code",[t._v("true")]),t._v(", positive and negative values are stacked separately. Additionally a "),e("code",[t._v("stack")]),t._v(" option can be defined per dataset to further divide into stack groups "),e("RouterLink",{attrs:{to:"/general/data-structures/#dataset-configuration"}},[t._v("more...")]),t._v(".\nFor some charts, you might want to stack positive and negative values together. That can be achieved by specifying "),e("code",[t._v("stacked: 'single'")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"callbacks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#callbacks"}},[t._v("#")]),t._v(" Callbacks")]),t._v(" "),e("p",[t._v("There are a number of config callbacks that can be used to change parameters in the scale at different points in the update process. The options are supplied at the top level of the axis options.")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Arguments")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("beforeUpdate")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback called before the update process starts.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeSetDimensions")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before dimensions are set.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterSetDimensions")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after dimensions are set.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeDataLimits")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before data limits are determined.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterDataLimits")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after data limits are determined.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeBuildTicks")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before ticks are created.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterBuildTicks")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after ticks are created. Useful for filtering ticks.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeTickToLabelConversion")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before ticks are converted into strings.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterTickToLabelConversion")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after ticks are converted into strings.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeCalculateLabelRotation")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before tick rotation is determined.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterCalculateLabelRotation")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after tick rotation is determined.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("beforeFit")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs before the scale fits to the canvas.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterFit")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs after the scale fits to the canvas.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("afterUpdate")])]),t._v(" "),e("td",[e("code",[t._v("axis")])]),t._v(" "),e("td",[t._v("Callback that runs at the end of the update process.")])])])]),t._v(" "),e("h3",{attrs:{id:"updating-axis-defaults"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#updating-axis-defaults"}},[t._v("#")]),t._v(" Updating Axis Defaults")]),t._v(" "),e("p",[t._v("The default configuration for a scale can be easily changed. All you need to do is set the new options to "),e("code",[t._v("Chart.defaults.scales[type]")]),t._v(".")]),t._v(" "),e("p",[t._v("For example, to set the minimum value of 0 for all linear scales, you would do the following. Any linear scales created after this time would now have a minimum of 0.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("Chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("linear"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h2",{attrs:{id:"creating-new-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-new-axes"}},[t._v("#")]),t._v(" Creating New Axes")]),t._v(" "),e("p",[t._v("To create a new axis, see the "),e("RouterLink",{attrs:{to:"/developers/axes.html"}},[t._v("developer docs")]),t._v(".")],1)])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/138.03ec5265.js b/scriptApl/chart.js/dist/docs/assets/js/138.03ec5265.js new file mode 100644 index 00000000..96c06b1a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/138.03ec5265.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{466:function(t,a,e){"use strict";e.r(a);var s=e(6),n=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"labeling-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#labeling-axes"}},[t._v("#")]),t._v(" Labeling Axes")]),t._v(" "),e("p",[t._v("When creating a chart, you want to tell the viewer what data they are viewing. To do this, you need to label the axis.")]),t._v(" "),e("h2",{attrs:{id:"scale-title-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#scale-title-configuration"}},[t._v("#")]),t._v(" Scale Title Configuration")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.scales[scaleId].title")]),t._v(", it defines options for the scale title. Note that this only applies to cartesian axes.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("display")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",[t._v("If true, display the axis title.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("align")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'center'")])]),t._v(" "),e("td",[t._v("Alignment of the axis title. Possible options are "),e("code",[t._v("'start'")]),t._v(", "),e("code",[t._v("'center'")]),t._v(" and "),e("code",[t._v("'end'")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("text")])]),t._v(" "),e("td",[e("code",[t._v("string")]),t._v("|"),e("code",[t._v("string[]")])]),t._v(" "),e("td",[e("code",[t._v("''")])]),t._v(" "),e("td",[t._v('The text for the title. (i.e. "# of People" or "Response Choices").')])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("color")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td",[e("code",[t._v("Chart.defaults.color")])]),t._v(" "),e("td",[t._v("Color of label.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("font")])]),t._v(" "),e("td",[e("code",[t._v("Font")])]),t._v(" "),e("td",[e("code",[t._v("Chart.defaults.font")])]),t._v(" "),e("td",[t._v("See "),e("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("padding")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/padding.html"}},[e("code",[t._v("Padding")])])],1),t._v(" "),e("td",[e("code",[t._v("4")])]),t._v(" "),e("td",[t._v("Padding to apply around scale labels. Only "),e("code",[t._v("top")]),t._v(", "),e("code",[t._v("bottom")]),t._v(" and "),e("code",[t._v("y")]),t._v(" are implemented.")])])])]),t._v(" "),e("h2",{attrs:{id:"creating-custom-tick-formats"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-custom-tick-formats"}},[t._v("#")]),t._v(" Creating Custom Tick Formats")]),t._v(" "),e("p",[t._v("It is also common to want to change the tick marks to include information about the data type. For example, adding a dollar sign ('$').\nTo do this, you need to override the "),e("code",[t._v("ticks.callback")]),t._v(" method in the axis configuration.")]),t._v(" "),e("p",[t._v("The method receives 3 arguments:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("value")]),t._v(" - the tick value in the "),e("strong",[t._v("internal data format")]),t._v(" of the associated scale.")]),t._v(" "),e("li",[e("code",[t._v("index")]),t._v(" - the tick index in the ticks array.")]),t._v(" "),e("li",[e("code",[t._v("ticks")]),t._v(" - the array containing all of the "),e("a",{attrs:{href:"../api/interfaces/Tick"}},[t._v("tick objects")]),t._v(".")])]),t._v(" "),e("p",[t._v("The call to the method is scoped to the scale. "),e("code",[t._v("this")]),t._v(" inside the method is the scale object.")]),t._v(" "),e("p",[t._v("If the callback returns "),e("code",[t._v("null")]),t._v(" or "),e("code",[t._v("undefined")]),t._v(" the associated grid line will be hidden.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"../axes/cartesian/category"}},[t._v("category axis")]),t._v(", which is the default x-axis for line and bar charts, uses the "),e("code",[t._v("index")]),t._v(" as internal data format. For accessing the label, use "),e("code",[t._v("this.getLabelForValue(value)")]),t._v(". "),e("RouterLink",{attrs:{to:"/api/classes/Scale.html#getlabelforvalue"}},[t._v("API: getLabelForValue")])],1)]),t._v(" "),e("p",[t._v("In the following example, every label of the Y-axis would be displayed with a dollar sign at the front.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("ticks")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Include a dollar sign in the ticks")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("callback")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ticks")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'$'")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" value"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("Keep in mind that overriding "),e("code",[t._v("ticks.callback")]),t._v(" means that you are responsible for all formatting of the label. Depending on your use case, you may want to call the default formatter and then modify its output. In the example above, that would look like:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// call the default formatter, forwarding `this`")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'$'")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" Chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Ticks"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("formatters"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("numeric")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("apply")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("value"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ticks"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("Related samples:")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"../samples/scale-options/ticks"}},[t._v("Tick configuration sample")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/139.924812c0.js b/scriptApl/chart.js/dist/docs/assets/js/139.924812c0.js new file mode 100644 index 00000000..0821dc7a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/139.924812c0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{468:function(n,a,e){"use strict";e.r(a);var t=e(6),s=Object(t.a)({},(function(){var n=this,a=n.$createElement,e=n._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"radial-axes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#radial-axes"}},[n._v("#")]),n._v(" Radial Axes")]),n._v(" "),e("p",[n._v("Radial axes are used specifically for the radar and polar area chart types. These axes overlay the chart area, rather than being positioned on one of the edges. One radial axis is included by default in Chart.js.")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/radial/linear.html"}},[n._v("radialLinear")])],1)]),n._v(" "),e("h2",{attrs:{id:"visual-components"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#visual-components"}},[n._v("#")]),n._v(" Visual Components")]),n._v(" "),e("p",[n._v("A radial axis is composed of visual components that can be individually configured. These components are:")]),n._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"#angle-lines"}},[n._v("angle lines")])]),n._v(" "),e("li",[e("a",{attrs:{href:"#grid-lines"}},[n._v("grid lines")])]),n._v(" "),e("li",[e("a",{attrs:{href:"#point-labels"}},[n._v("point labels")])]),n._v(" "),e("li",[e("a",{attrs:{href:"#ticks"}},[n._v("ticks")])])]),n._v(" "),e("h3",{attrs:{id:"angle-lines"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#angle-lines"}},[n._v("#")]),n._v(" Angle Lines")]),n._v(" "),e("p",[n._v("The grid lines for an axis are drawn on the chart area. They stretch out from the center towards the edge of the canvas. In the example below, they are red.")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data,\n options: {\n scales: {\n r: {\n angleLines: {\n color: 'red'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h3",{attrs:{id:"grid-lines"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#grid-lines"}},[n._v("#")]),n._v(" Grid Lines")]),n._v(" "),e("p",[n._v("The grid lines for an axis are drawn on the chart area. In the example below, they are red.")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data,\n options: {\n scales: {\n r: {\n grid: {\n color: 'red'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h3",{attrs:{id:"point-labels"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#point-labels"}},[n._v("#")]),n._v(" Point Labels")]),n._v(" "),e("p",[n._v("The point labels indicate the value for each angle line. In the example below, they are red.")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data,\n options: {\n scales: {\n r: {\n pointLabels: {\n color: 'red'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h3",{attrs:{id:"ticks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[n._v("#")]),n._v(" Ticks")]),n._v(" "),e("p",[n._v("The ticks are used to label values based on how far they are from the center of the axis. In the example below, they are red.")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgba(54, 162, 235, 0.5)',\n borderColor: 'rgb(54, 162, 235)',\n borderWidth: 1,\n data: [10, 20, 30, 40, 50, 0, 5],\n }]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data,\n options: {\n scales: {\n r: {\n ticks: {\n color: 'red'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/14.422fec10.js b/scriptApl/chart.js/dist/docs/assets/js/14.422fec10.js new file mode 100644 index 00000000..f9ae14dd --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/14.422fec10.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{345:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-basicplatform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-basicplatform"}},[t._v("#")]),t._v(" Class: BasicPlatform")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[a("code",[t._v("BasePlatform")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("BasicPlatform")])])])])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new BasicPlatform")]),t._v("()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#constructor"}},[t._v("constructor")])],1),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"acquirecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#acquirecontext"}},[t._v("#")]),t._v(" acquireContext")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("acquireContext")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("options?")]),t._v("): "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("p",[t._v("Called at chart construction time, returns a context2d instance implementing\nthe "),a("a",{attrs:{href:"https://www.w3.org/TR/2dcontext/",target:"_blank",rel:"noopener noreferrer"}},[t._v("W3C Canvas 2D Context API standard"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas from which to acquire context (platform specific)")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2DSettings")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart options")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#acquirecontext"}},[t._v("acquireContext")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2057",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2057"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addeventlistener"}},[t._v("#")]),t._v(" addEventListener")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Registers the specified listener on the given chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to listen for event")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to listen for")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Receives a notification (an object that implements the "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(" interface) when an event of the specified type occurs.")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#addeventlistener"}},[t._v("addEventListener")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2075",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2075"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdevicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdevicepixelratio"}},[t._v("#")]),t._v(" getDevicePixelRatio")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDevicePixelRatio")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("the current devicePixelRatio of the device this platform is connected to.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#getdevicepixelratio"}},[t._v("getDevicePixelRatio")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2086",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2086"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaximumsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaximumsize"}},[t._v("#")]),t._v(" getMaximumSize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMaximumSize")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("width?")]),t._v(", "),a("code",[t._v("height?")]),t._v(", "),a("code",[t._v("aspectRatio?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas for which to calculate the maximum size")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("aspectRatio?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("p",[t._v("the maximum size available.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#getmaximumsize"}},[t._v("getMaximumSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2094",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2094"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isattached"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isattached"}},[t._v("#")]),t._v(" isAttached")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isAttached")]),t._v("("),a("code",[t._v("canvas")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the canvas is attached to the platform, false if not.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#isattached"}},[t._v("isAttached")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2099",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2099"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"releasecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#releasecontext"}},[t._v("#")]),t._v(" releaseContext")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("releaseContext")]),t._v("("),a("code",[t._v("context")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Called at chart destruction time, releases any resources associated to the context\npreviously returned by the acquireContext() method.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("context")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The context2d instance")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the method succeeded, else false")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#releasecontext"}},[t._v("releaseContext")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2067",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2067"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removeeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removeeventlistener"}},[t._v("#")]),t._v(" removeEventListener")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("removeEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Removes the specified listener previously registered with addEventListener.")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to remove the listener")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to remove")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The listener function to remove from the event target.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#removeeventlistener"}},[t._v("removeEventListener")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2082",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2082"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateconfig"}},[t._v("#")]),t._v(" updateConfig")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateConfig")]),t._v("("),a("code",[t._v("config")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Updates config with platform specific requirements")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("config")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[a("code",[t._v("ChartConfiguration")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[a("code",[t._v("ChartConfigurationCustomTypesPerDataset")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#updateconfig"}},[t._v("updateConfig")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2104",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2104"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/140.a7967a5d.js b/scriptApl/chart.js/dist/docs/assets/js/140.a7967a5d.js new file mode 100644 index 00000000..4d80d7dc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/140.a7967a5d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{469:function(t,e,a){"use strict";a.r(e);var s=a(6),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"linear-radial-axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-radial-axis"}},[t._v("#")]),t._v(" Linear Radial Axis")]),t._v(" "),a("p",[t._v("The linear radial scale is used to chart numerical data. As the name suggests, linear interpolation is used to determine where a value lies in relation to the center of the axis.")]),t._v(" "),a("p",[t._v("The following additional configuration options are provided by the radial linear scale.")]),t._v(" "),a("h2",{attrs:{id:"configuration-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),a("h3",{attrs:{id:"linear-radial-axis-specific-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-radial-axis-specific-options"}},[t._v("#")]),t._v(" Linear Radial Axis specific options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("animate")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Whether to animate scaling the chart from the centre")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("angleLines")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Angle line configuration. "),a("a",{attrs:{href:"#angle-line-options"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("beginAtZero")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, scale will include 0 if it is not already included.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointLabels")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Point label configuration. "),a("a",{attrs:{href:"#point-label-options"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("startAngle")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Starting angle of the scale. In degrees, 0 is at top.")])])])]),t._v(" "),a("h3",{attrs:{id:"common-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-options-to-all-axes"}},[t._v("#")]),t._v(" Common options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId]")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("type")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("alignToPixels")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Align pixel values to device pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Background color of the scale area.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Controls the axis global visibility (visible when "),a("code",[t._v("true")]),t._v(", hidden when "),a("code",[t._v("false")]),t._v("). When "),a("code",[t._v("display: 'auto'")]),t._v(", the axis is visible only if at least one associated dataset is visible.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grid")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Grid line configuration. "),a("a",{attrs:{href:"#grid-line-configuration"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("min")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined minimum number for the scale, overrides minimum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("max")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined maximum number for the scale, overrides maximum value from data. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("reverse")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Reverse the scale.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stacked")])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Should the data be stacked. "),a("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMax")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the maximum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("suggestedMin")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Adjustment used when calculating the minimum data value. "),a("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("ticks")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Tick configuration. "),a("RouterLink",{attrs:{to:"/axes/#tick-configuration"}},[t._v("more...")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("weight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")])])])]),t._v(" "),a("h2",{attrs:{id:"tick-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),a("h3",{attrs:{id:"linear-radial-axis-specific-tick-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-radial-axis-specific-tick-options"}},[t._v("#")]),t._v(" Linear Radial Axis specific tick options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("count")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])]),t._v(" "),a("td",[t._v("The number of ticks to generate. If specified, this overrides the automatic generation.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("format")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("The "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat",target:"_blank",rel:"noopener noreferrer"}},[a("code",[t._v("Intl.NumberFormat")]),a("OutboundLink")],1),t._v(" options used by the default label formatter")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxTicksLimit")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("11")])]),t._v(" "),a("td",[t._v("Maximum number of ticks and gridlines to show.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("precision")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("If defined and "),a("code",[t._v("stepSize")]),t._v(" is not specified, the step size will be rounded to this many decimal places.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stepSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("User defined fixed step size for the scale. "),a("a",{attrs:{href:"#step-size"}},[t._v("more...")])])])])]),t._v(" "),a("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backdropColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),a("td",[t._v("Color of label backdrops.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backdropPadding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Padding of label backdrop.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callback")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),a("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, show tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of ticks.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("major")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("{}")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("3")])]),t._v(" "),a("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("showLabelBackdrop")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for radial scale, "),a("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),a("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[t._v("``")]),t._v(" "),a("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textStrokeWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Stroke width around the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("z")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),a("p",[t._v("The scriptable context is described in "),a("RouterLink",{attrs:{to:"/general/options.html#tick"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),a("h2",{attrs:{id:"grid-line-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#grid-line-configuration"}},[t._v("#")]),t._v(" Grid Line Configuration")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.scales[scaleId].grid")]),t._v(", it defines options for the grid lines of the axis.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Indexable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("borderDash")])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("[]")])]),t._v(" "),a("td",[t._v("Length and spacing of dashes on grid lines. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDashOffset")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("0.0")])]),t._v(" "),a("td",[t._v("Offset for line dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("circular")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, gridlines are circular (on radar and polar area charts only).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/axes/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.borderColor")])]),t._v(" "),a("td",[t._v("The color of the grid lines. If specified as an array, the first color applies to the first grid line, the second to the second grid line, and so on.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",{staticStyle:{"text-align":"center"}}),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If false, do not display grid lines for this axis.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("lineWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])]),t._v(" "),a("td",[t._v("Stroke width of grid lines.")])])])]),t._v(" "),a("p",[t._v("The scriptable context is described in "),a("RouterLink",{attrs:{to:"/axes/general/options.html#tick"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),a("h2",{attrs:{id:"axis-range-settings"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis-range-settings"}},[t._v("#")]),t._v(" Axis Range Settings")]),t._v(" "),a("p",[t._v("Given the number of axis range settings, it is important to understand how they all interact with each other.")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("suggestedMax")]),t._v(" and "),a("code",[t._v("suggestedMin")]),t._v(" settings only change the data values that are used to scale the axis. These are useful for extending the range of the axis while maintaining the auto fit behaviour.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" minDataValue "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("min")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("mostNegativeValue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("suggestedMin"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" maxDataValue "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("max")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("mostPositiveValue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("suggestedMax"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("In this example, the largest positive value is 50, but the data maximum is expanded out to 100. However, because the lowest data value is below the "),a("code",[t._v("suggestedMin")]),t._v(" setting, it is ignored.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'radar'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'First dataset'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("r")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMin")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMax")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("In contrast to the "),a("code",[t._v("suggested*")]),t._v(" settings, the "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(" settings set explicit ends to the axes. When these are set, some data points may not be visible.")]),t._v(" "),a("h2",{attrs:{id:"step-size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-size"}},[t._v("#")]),t._v(" Step Size")]),t._v(" "),a("p",[t._v("If set, the scale ticks will be enumerated by multiple of "),a("code",[t._v("stepSize")]),t._v(", having one tick per increment. If not set, the ticks are labeled automatically using the nice numbers algorithm.")]),t._v(" "),a("p",[t._v("This example sets up a chart with a y axis that creates ticks at "),a("code",[t._v("0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" options "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("r")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("max")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("ticks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("stepSize")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"angle-line-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#angle-line-options"}},[t._v("#")]),t._v(" Angle Line Options")]),t._v(" "),a("p",[t._v("The following options are used to configure angled lines that radiate from the center of the chart to the point labels.\nNamespace: "),a("code",[t._v("options.scales[scaleId].angleLines")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, angle lines are shown.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.borderColor")])]),t._v(" "),a("td",[t._v("Color of angled lines.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("lineWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])]),t._v(" "),a("td",[t._v("Width of angled lines.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDash")])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",[t._v("Yes"),a("sup",[t._v("1")])]),t._v(" "),a("td",[a("code",[t._v("[]")])]),t._v(" "),a("td",[t._v("Length and spacing of dashes on angled lines. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDashOffset")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0.0")])]),t._v(" "),a("td",[t._v("Offset for line dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])])])]),t._v(" "),a("ol",[a("li",[t._v("the "),a("code",[t._v("borderDash")]),t._v(" setting only accepts a static value or a function. Passing an array of arrays is not supported.")])]),t._v(" "),a("p",[t._v("The scriptable context is described in "),a("RouterLink",{attrs:{to:"/general/options.html#scale"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),a("h2",{attrs:{id:"point-label-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-label-options"}},[t._v("#")]),t._v(" Point Label Options")]),t._v(" "),a("p",[t._v("The following options are used to configure the point labels that are shown on the perimeter of the scale.\nNamespace: "),a("code",[t._v("options.scales[scaleId].pointLabels")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Scriptable")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backdropColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[a("code",[t._v("undefined")])]),t._v(" "),a("td",[t._v("Background color of the point label.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backdropPadding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Padding of label backdrop.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderRadius")])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Border radius of the point label")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, point labels are shown.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callback")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Callback function to transform data labels to point labels. The default implementation simply returns the current string.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of label.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("5")]),t._v(" "),a("td",[t._v("Padding between chart and point labels.")])]),t._v(" "),a("tr",[a("td",[a("RouterLink",{attrs:{to:"/samples/other-charts/polar-area-center-labels.html"}},[a("code",[t._v("centerPointLabels")])])],1),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, point labels are centered.")])])])]),t._v(" "),a("p",[t._v("The scriptable context is described in "),a("RouterLink",{attrs:{to:"/general/options.html#scale"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[t._v("Internally, the linear radial scale uses numeric data")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/141.34a018bb.js b/scriptApl/chart.js/dist/docs/assets/js/141.34a018bb.js new file mode 100644 index 00000000..cde0ca9a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/141.34a018bb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{470:function(t,e,d){"use strict";d.r(e);var a=d(6),r=Object(a.a)({},(function(){var t=this,e=t.$createElement,d=t._self._c||e;return d("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[d("h1",{attrs:{id:"styling"}},[d("a",{staticClass:"header-anchor",attrs:{href:"#styling"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),d("p",[t._v("There are a number of options to allow styling an axis. There are settings to control "),d("a",{attrs:{href:"#grid-line-configuration"}},[t._v("grid lines")]),t._v(" and "),d("a",{attrs:{href:"#tick-configuration"}},[t._v("ticks")]),t._v(".")]),t._v(" "),d("h2",{attrs:{id:"grid-line-configuration"}},[d("a",{staticClass:"header-anchor",attrs:{href:"#grid-line-configuration"}},[t._v("#")]),t._v(" Grid Line Configuration")]),t._v(" "),d("p",[t._v("Namespace: "),d("code",[t._v("options.scales[scaleId].grid")]),t._v(", it defines options for the grid lines that run perpendicular to the axis.")]),t._v(" "),d("table",[d("thead",[d("tr",[d("th",[t._v("Name")]),t._v(" "),d("th",[t._v("Type")]),t._v(" "),d("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),d("th",{staticStyle:{"text-align":"center"}},[t._v("Indexable")]),t._v(" "),d("th",[t._v("Default")]),t._v(" "),d("th",[t._v("Description")])])]),t._v(" "),d("tbody",[d("tr",[d("td",[d("code",[t._v("borderColor")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("Chart.defaults.borderColor")])]),t._v(" "),d("td",[t._v("The color of the border line.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("borderWidth")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("1")])]),t._v(" "),d("td",[t._v("The width of the border line.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("borderDash")])]),t._v(" "),d("td",[d("code",[t._v("number[]")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("[]")])]),t._v(" "),d("td",[t._v("Length and spacing of dashes on grid lines. See "),d("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),d("OutboundLink")],1),t._v(".")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("borderDashOffset")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("0.0")])]),t._v(" "),d("td",[t._v("Offset for line dashes. See "),d("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),d("OutboundLink")],1),t._v(".")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("circular")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("false")])]),t._v(" "),d("td",[t._v("If true, gridlines are circular (on radar and polar area charts only).")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("color")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("Chart.defaults.borderColor")])]),t._v(" "),d("td",[t._v("The color of the grid lines. If specified as an array, the first color applies to the first grid line, the second to the second grid line, and so on.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("display")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("true")])]),t._v(" "),d("td",[t._v("If false, do not display grid lines for this axis.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("drawBorder")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("true")])]),t._v(" "),d("td",[t._v("If true, draw a border at the edge between the axis and the chart area.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("drawOnChartArea")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("true")])]),t._v(" "),d("td",[t._v("If true, draw lines on the chart area inside the axis lines. This is useful when there are multiple axes and you need to control which grid lines are drawn.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("drawTicks")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("true")])]),t._v(" "),d("td",[t._v("If true, draw lines beside the ticks in the axis area beside the chart.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("lineWidth")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("1")])]),t._v(" "),d("td",[t._v("Stroke width of grid lines.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("offset")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("false")])]),t._v(" "),d("td",[t._v("If true, grid lines will be shifted to be between labels. This is set to "),d("code",[t._v("true")]),t._v(" for a bar chart by default.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("tickBorderDash")])]),t._v(" "),d("td",[d("code",[t._v("number[]")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td"),t._v(" "),d("td",[t._v("Length and spacing of the tick mark line. If not set, defaults to the grid line "),d("code",[t._v("borderDash")]),t._v(" value.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("tickBorderDashOffset")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td"),t._v(" "),d("td",[t._v("Offset for the line dash of the tick mark. If unset, defaults to the grid line "),d("code",[t._v("borderDashOffset")]),t._v(" value")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("tickColor")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td"),t._v(" "),d("td",[t._v("Color of the tick line. If unset, defaults to the grid line color.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("tickLength")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("8")])]),t._v(" "),d("td",[t._v("Length in pixels that the grid lines will draw into the axis area.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("tickWidth")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td"),t._v(" "),d("td",[t._v("Width of the tick mark in pixels. If unset, defaults to the grid line width.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("z")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("0")])]),t._v(" "),d("td",[t._v("z-index of gridline layer. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),d("p",[t._v("The scriptable context is described in "),d("RouterLink",{attrs:{to:"/general/options.html#tick"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),d("h2",{attrs:{id:"tick-configuration"}},[d("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[t._v("#")]),t._v(" Tick Configuration")]),t._v(" "),d("h3",{attrs:{id:"common-tick-options-to-all-axes"}},[d("a",{staticClass:"header-anchor",attrs:{href:"#common-tick-options-to-all-axes"}},[t._v("#")]),t._v(" Common tick options to all axes")]),t._v(" "),d("p",[t._v("Namespace: "),d("code",[t._v("options.scales[scaleId].ticks")])]),t._v(" "),d("table",[d("thead",[d("tr",[d("th",[t._v("Name")]),t._v(" "),d("th",[t._v("Type")]),t._v(" "),d("th",{staticStyle:{"text-align":"center"}},[t._v("Scriptable")]),t._v(" "),d("th",[t._v("Default")]),t._v(" "),d("th",[t._v("Description")])])]),t._v(" "),d("tbody",[d("tr",[d("td",[d("code",[t._v("backdropColor")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("'rgba(255, 255, 255, 0.75)'")])]),t._v(" "),d("td",[t._v("Color of label backdrops.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("backdropPadding")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/padding.html"}},[d("code",[t._v("Padding")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("2")])]),t._v(" "),d("td",[t._v("Padding of label backdrop.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("callback")])]),t._v(" "),d("td",[d("code",[t._v("function")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td"),t._v(" "),d("td",[t._v("Returns the string representation of the tick value as it should be displayed on the chart. See "),d("RouterLink",{attrs:{to:"/axes/labelling.html#creating-custom-tick-formats"}},[t._v("callback")]),t._v(".")],1)]),t._v(" "),d("tr",[d("td",[d("code",[t._v("display")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("true")])]),t._v(" "),d("td",[t._v("If true, show tick labels.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("color")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("Chart.defaults.color")])]),t._v(" "),d("td",[t._v("Color of ticks.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("font")])]),t._v(" "),d("td",[d("code",[t._v("Font")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("Chart.defaults.font")])]),t._v(" "),d("td",[t._v("See "),d("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),d("tr",[d("td",[d("code",[t._v("major")])]),t._v(" "),d("td",[d("code",[t._v("object")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("{}")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/axes/styling.html#major-tick-configuration"}},[t._v("Major ticks configuration")]),t._v(".")],1)]),t._v(" "),d("tr",[d("td",[d("code",[t._v("padding")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("3")])]),t._v(" "),d("td",[t._v("Sets the offset of the tick labels from the axis")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("showLabelBackdrop")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("true")]),t._v(" for radial scale, "),d("code",[t._v("false")]),t._v(" otherwise")]),t._v(" "),d("td",[t._v("If true, draw a background behind the tick labels.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("textStrokeColor")])]),t._v(" "),d("td",[d("RouterLink",{attrs:{to:"/general/colors.html"}},[d("code",[t._v("Color")])])],1),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[t._v("``")]),t._v(" "),d("td",[t._v("The color of the stroke around the text.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("textStrokeWidth")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),d("td",[d("code",[t._v("0")])]),t._v(" "),d("td",[t._v("Stroke width around the text.")])]),t._v(" "),d("tr",[d("td",[d("code",[t._v("z")])]),t._v(" "),d("td",[d("code",[t._v("number")])]),t._v(" "),d("td",{staticStyle:{"text-align":"center"}}),t._v(" "),d("td",[d("code",[t._v("0")])]),t._v(" "),d("td",[t._v("z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.")])])])]),t._v(" "),d("p",[t._v("The scriptable context is described in "),d("RouterLink",{attrs:{to:"/general/options.html#tick"}},[t._v("Options")]),t._v(" section.")],1),t._v(" "),d("h2",{attrs:{id:"major-tick-configuration"}},[d("a",{staticClass:"header-anchor",attrs:{href:"#major-tick-configuration"}},[t._v("#")]),t._v(" Major Tick Configuration")]),t._v(" "),d("p",[t._v("Namespace: "),d("code",[t._v("options.scales[scaleId].ticks.major")]),t._v(", it defines options for the major tick marks that are generated by the axis.")]),t._v(" "),d("table",[d("thead",[d("tr",[d("th",[t._v("Name")]),t._v(" "),d("th",[t._v("Type")]),t._v(" "),d("th",[t._v("Default")]),t._v(" "),d("th",[t._v("Description")])])]),t._v(" "),d("tbody",[d("tr",[d("td",[d("code",[t._v("enabled")])]),t._v(" "),d("td",[d("code",[t._v("boolean")])]),t._v(" "),d("td",[d("code",[t._v("false")])]),t._v(" "),d("td",[t._v("If true, major ticks are generated. A major tick will affect autoskipping and "),d("code",[t._v("major")]),t._v(" will be defined on ticks in the scriptable options context.")])])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/142.c5bfcdd4.js b/scriptApl/chart.js/dist/docs/assets/js/142.c5bfcdd4.js new file mode 100644 index 00000000..24d28135 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/142.c5bfcdd4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{471:function(t,a,e){"use strict";e.r(a);var s=e(6),r=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"area-chart"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#area-chart"}},[t._v("#")]),t._v(" Area Chart")]),t._v(" "),e("p",[t._v("Both "),e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("line")]),t._v(" and "),e("RouterLink",{attrs:{to:"/charts/radar.html"}},[t._v("radar")]),t._v(" charts support a "),e("code",[t._v("fill")]),t._v(" option on the dataset object which can be used to create space between two datasets or a dataset and a boundary, i.e. the scale "),e("code",[t._v("origin")]),t._v(", "),e("code",[t._v("start,")]),t._v(" or "),e("code",[t._v("end")]),t._v(" (see "),e("a",{attrs:{href:"#filling-modes"}},[t._v("filling modes")]),t._v(").")],1),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("This feature is implemented by the "),e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/master/src/plugins/plugin.filler/index.js",target:"_blank",rel:"noopener noreferrer"}},[e("code",[t._v("filler")]),t._v(" plugin"),e("OutboundLink")],1),t._v(".")])]),t._v(" "),e("h2",{attrs:{id:"filling-modes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#filling-modes"}},[t._v("#")]),t._v(" Filling modes")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Mode")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Values")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Absolute dataset index")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("number")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("1")]),t._v(", "),e("code",[t._v("2")]),t._v(", "),e("code",[t._v("3")]),t._v(", ...")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Relative dataset index")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("string")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("'-1'")]),t._v(", "),e("code",[t._v("'-2'")]),t._v(", "),e("code",[t._v("'+1'")]),t._v(", ...")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Boundary")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("string")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("'start'")]),t._v(", "),e("code",[t._v("'end'")]),t._v(", "),e("code",[t._v("'origin'")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Disabled "),e("sup",[t._v("1")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("boolean")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("false")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Stacked value below")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("string")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("'stack'")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Axis value")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("object")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("{ value: number; }")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Shape (fill inside line)")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("string")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("'shape'")])])])])]),t._v(" "),e("blockquote",[e("p",[e("sup",[t._v("1")]),t._v(" for backward compatibility, "),e("code",[t._v("fill: true")]),t._v(" is equivalent to "),e("code",[t._v("fill: 'origin'")]),e("br")])]),t._v(" "),e("h3",{attrs:{id:"example"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example"}},[t._v("#")]),t._v(" Example")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'origin'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 0: fill to 'origin'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'+2'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 1: fill to dataset 3")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 2: fill to dataset 1")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 3: no fill")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'-2'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 4: fill to dataset 2")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 5: fill to axis value 25")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("If you need to support multiple colors when filling from one dataset to another, you may specify an object with the following option :")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Param")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("target")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("number")]),t._v(", "),e("code",[t._v("string")]),t._v(", "),e("code",[t._v("boolean")]),t._v(", "),e("code",[t._v("object")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("The accepted values are the same as the filling mode values, so you may use absolute and relative dataset indexes and/or boundaries.")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("above")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("Color")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("If no color is set, the default color will be the background color of the chart.")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("below")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("Color")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Same as the above.")])])])]),t._v(" "),e("h3",{attrs:{id:"example-with-multiple-colors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-with-multiple-colors"}},[t._v("#")]),t._v(" Example with multiple colors")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("target")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'origin'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("above")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 0, 0)'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Area will be red above the origin")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("below")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(0, 0, 255)'")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// And blue below the origin")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("h2",{attrs:{id:"configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configuration"}},[t._v("#")]),t._v(" Configuration")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.plugins.filler")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Option")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Default")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("drawTime")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("string")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("beforeDatasetDraw")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Filler draw time. Supported values: "),e("code",[t._v("'beforeDraw'")]),t._v(", "),e("code",[t._v("'beforeDatasetDraw'")]),t._v(", "),e("code",[t._v("'beforeDatasetsDraw'")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[e("a",{attrs:{href:"#propagate"}},[e("code",[t._v("propagate")])])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("boolean")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[e("code",[t._v("true")])]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Fill propagation when target is hidden.")])])])]),t._v(" "),e("h3",{attrs:{id:"propagate"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#propagate"}},[t._v("#")]),t._v(" propagate")]),t._v(" "),e("p",[e("code",[t._v("propagate")]),t._v(" takes a "),e("code",[t._v("boolean")]),t._v(" value (default: "),e("code",[t._v("true")]),t._v(").")]),t._v(" "),e("p",[t._v("If "),e("code",[t._v("true")]),t._v(", the fill area will be recursively extended to the visible target defined by the "),e("code",[t._v("fill")]),t._v(" value of hidden dataset targets:")]),t._v(" "),e("h4",{attrs:{id:"example-using-propagate"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-using-propagate"}},[t._v("#")]),t._v(" Example using propagate")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'origin'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 0: fill to 'origin'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 1: fill to dataset 0")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 2: fill to dataset 1")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 3: no fill")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fill")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'-2'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 4: fill to dataset 2")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("filler")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("propagate")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[e("code",[t._v("propagate: true")]),t._v(":\n-if dataset 2 is hidden, dataset 4 will fill to dataset 1\n-if dataset 2 and 1 are hidden, dataset 4 will fill to "),e("code",[t._v("'origin'")])]),t._v(" "),e("p",[e("code",[t._v("propagate: false")]),t._v(":\n-if dataset 2 and/or 4 are hidden, dataset 4 will not be filled")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/143.05e388ba.js b/scriptApl/chart.js/dist/docs/assets/js/143.05e388ba.js new file mode 100644 index 00000000..18e5508c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/143.05e388ba.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{472:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"bar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bar-chart"}},[t._v("#")]),t._v(" Bar Chart")]),t._v(" "),a("p",[t._v("A bar chart provides a way of showing data values represented as vertical bars. It is sometimes used to show trend data, and the comparison of multiple data sets side by side.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First Dataset',\n data: [65, 59, 80, 81, 56, 55, 40],\n backgroundColor: [\n 'rgba(255, 99, 132, 0.2)',\n 'rgba(255, 159, 64, 0.2)',\n 'rgba(255, 205, 86, 0.2)',\n 'rgba(75, 192, 192, 0.2)',\n 'rgba(54, 162, 235, 0.2)',\n 'rgba(153, 102, 255, 0.2)',\n 'rgba(201, 203, 207, 0.2)'\n ],\n borderColor: [\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(54, 162, 235)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)'\n ],\n borderWidth: 1\n }]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n scales: {\n y: {\n beginAtZero: true\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.bar")]),t._v(" - options for all bar datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.bar")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#bar-configuration"}},[t._v("bar elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The bar chart allows a number of properties to be specified for each dataset.\nThese are used to set display properties for a specific dataset. For example,\nthe color of the bars is generally set this way.\nOnly the "),a("code",[t._v("data")]),t._v(" option needs to be specified in the dataset namespace.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("base")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#barpercentage"}},[a("code",[t._v("barPercentage")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0.9")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#barthickness"}},[a("code",[t._v("barThickness")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])])]),t._v(" "),a("td",[a("code",[t._v("string")]),t._v("|"),a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'start'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderwidth"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderradius"}},[a("code",[t._v("borderRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#categorypercentage"}},[a("code",[t._v("categoryPercentage")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0.8")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("object")]),t._v("|"),a("code",[t._v("object[]")]),t._v("| "),a("code",[t._v("number[]")]),t._v("|"),a("code",[t._v("string[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("grouped")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("true")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("indexAxis")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'x'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#inflateamount"}},[a("code",[t._v("inflateAmount")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("'auto'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'auto'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#maxbarthickness"}},[a("code",[t._v("maxBarThickness")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("minBarLength")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("label")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("''")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("order")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#types"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'circle'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("skipNull")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("stack")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'bar'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("xAxisID")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[t._v("first x axis")])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("yAxisID")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[t._v("first y axis")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"example-dataset-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#example-dataset-configuration"}},[t._v("#")]),t._v(" Example dataset configuration")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("barPercentage")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("barThickness")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("6")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("maxBarThickness")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("minBarLength")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("60")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("70")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("base")])]),t._v(" "),a("td",[t._v("Base value for the bar in data units along the value axis. If not set, defaults to the value axis base value.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grouped")])]),t._v(" "),a("td",[t._v("Should the bars be grouped on index axis. When "),a("code",[t._v("true")]),t._v(", all the datasets at same index value will be placed next to each other centering on that index value. When "),a("code",[t._v("false")]),t._v(", each bar is placed on its actual index-axis value.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("indexAxis")])]),t._v(" "),a("td",[t._v("The base axis of the dataset. "),a("code",[t._v("'x'")]),t._v(" for vertical bars and "),a("code",[t._v("'y'")]),t._v(" for horizontal bars.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("label")])]),t._v(" "),a("td",[t._v("The label for the dataset which appears in the legend and tooltips.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("order")])]),t._v(" "),a("td",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend. "),a("RouterLink",{attrs:{to:"/charts/mixed.html#drawing-order"}},[t._v("more")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("skipNull")])]),t._v(" "),a("td",[t._v("If "),a("code",[t._v("true")]),t._v(", null or undefined values will not be used for spacing calculations when determining bar size.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stack")])]),t._v(" "),a("td",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). "),a("a",{attrs:{href:"#stacked-bar-chart"}},[t._v("more")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("xAxisID")])]),t._v(" "),a("td",[t._v("The ID of the x-axis to plot this dataset on.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("yAxisID")])]),t._v(" "),a("td",[t._v("The ID of the y-axis to plot this dataset on.")])])])]),t._v(" "),a("h3",{attrs:{id:"styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#styling"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),a("p",[t._v("The style of each bar can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("The bar background color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("The bar border color.")])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])])]),t._v(" "),a("td",[t._v("The edge to skip when drawing bar.")])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderwidth"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[t._v("The bar border width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#borderradius"}},[a("code",[t._v("borderRadius")])])]),t._v(" "),a("td",[t._v("The bar border radius (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("minBarLength")])]),t._v(" "),a("td",[t._v("Set this to ensure that bars have a minimum length in pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",[t._v("Style of the point for legend. "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[t._v("more...")])],1)])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#bar-configuration"}},[a("code",[t._v("elements.bar.*")])]),t._v(" options.")],1),t._v(" "),a("h4",{attrs:{id:"borderskipped"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#borderskipped"}},[t._v("#")]),t._v(" borderSkipped")]),t._v(" "),a("p",[t._v("This setting is used to avoid drawing the bar stroke at the base of the fill, or disable the border radius.\nIn general, this does not need to be changed except when creating chart types\nthat derive from a bar chart.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("For negative bars in a vertical chart, "),a("code",[t._v("top")]),t._v(" and "),a("code",[t._v("bottom")]),t._v(" are flipped. Same goes for "),a("code",[t._v("left")]),t._v(" and "),a("code",[t._v("right")]),t._v(" in a horizontal chart.")])]),t._v(" "),a("p",[t._v("Options are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'start'")])]),t._v(" "),a("li",[a("code",[t._v("'end'")])]),t._v(" "),a("li",[a("code",[t._v("'middle'")]),t._v(" (only valid on stacked bars: the borders between bars are skipped)")]),t._v(" "),a("li",[a("code",[t._v("'bottom'")])]),t._v(" "),a("li",[a("code",[t._v("'left'")])]),t._v(" "),a("li",[a("code",[t._v("'top'")])]),t._v(" "),a("li",[a("code",[t._v("'right'")])]),t._v(" "),a("li",[a("code",[t._v("false")]),t._v(" (don't skip any borders)")]),t._v(" "),a("li",[a("code",[t._v("true")]),t._v(" (skip all borders)")])]),t._v(" "),a("h4",{attrs:{id:"borderwidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),a("p",[t._v("If this value is a number, it is applied to all sides of the rectangle (left, top, right, bottom), except "),a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])]),t._v(". If this value is an object, the "),a("code",[t._v("left")]),t._v(" property defines the left border width. Similarly, the "),a("code",[t._v("right")]),t._v(", "),a("code",[t._v("top")]),t._v(", and "),a("code",[t._v("bottom")]),t._v(" properties can also be specified. Omitted borders and "),a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])]),t._v(" are skipped.")]),t._v(" "),a("h4",{attrs:{id:"borderradius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[t._v("#")]),t._v(" borderRadius")]),t._v(" "),a("p",[t._v("If this value is a number, it is applied to all corners of the rectangle (topLeft, topRight, bottomLeft, bottomRight), except corners touching the "),a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])]),t._v(". If this value is an object, the "),a("code",[t._v("topLeft")]),t._v(" property defines the top-left corners border radius. Similarly, the "),a("code",[t._v("topRight")]),t._v(", "),a("code",[t._v("bottomLeft")]),t._v(", and "),a("code",[t._v("bottomRight")]),t._v(" properties can also be specified. Omitted corners and those touching the "),a("a",{attrs:{href:"#borderskipped"}},[a("code",[t._v("borderSkipped")])]),t._v(" are skipped. For example if the "),a("code",[t._v("top")]),t._v(" border is skipped, the border radius for the corners "),a("code",[t._v("topLeft")]),t._v(" and "),a("code",[t._v("topRight")]),t._v(" will be skipped as well.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Stacked Charts")]),t._v(" "),a("p",[t._v("When the border radius is supplied as a number and the chart is stacked, the radius will only be applied to the bars that are at the edges of the stack or where the bar is floating. The object syntax can be used to override this behavior.")])]),t._v(" "),a("h4",{attrs:{id:"inflateamount"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inflateamount"}},[t._v("#")]),t._v(" inflateAmount")]),t._v(" "),a("p",[t._v("This option can be used to inflate the rects that are used to draw the bars. This can be used to hide artifacts between bars when "),a("code",[t._v("barPercentage")]),t._v("(#barpercentage) * "),a("code",[t._v("categoryPercentage")]),t._v("(#categorypercentage) is 1. The default value "),a("code",[t._v("'auto'")]),t._v(" should work in most cases.")]),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each bar can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("hoverBackgroundColor")])]),t._v(" "),a("td",[t._v("The bar background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderColor")])]),t._v(" "),a("td",[t._v("The bar border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderWidth")])]),t._v(" "),a("td",[t._v("The bar border width when hovered (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderRadius")])]),t._v(" "),a("td",[t._v("The bar border radius when hovered (in pixels).")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#bar-configuration"}},[a("code",[t._v("elements.bar.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"barpercentage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barpercentage"}},[t._v("#")]),t._v(" barPercentage")]),t._v(" "),a("p",[t._v("Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other. "),a("a",{attrs:{href:"#barpercentage-vs-categorypercentage"}},[t._v("more...")])]),t._v(" "),a("h3",{attrs:{id:"categorypercentage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#categorypercentage"}},[t._v("#")]),t._v(" categoryPercentage")]),t._v(" "),a("p",[t._v("Percent (0-1) of the available width each category should be within the sample width. "),a("a",{attrs:{href:"#barpercentage-vs-categorypercentage"}},[t._v("more...")])]),t._v(" "),a("h3",{attrs:{id:"barthickness"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barthickness"}},[t._v("#")]),t._v(" barThickness")]),t._v(" "),a("p",[t._v("If this value is a number, it is applied to the width of each bar, in pixels. When this is enforced, "),a("code",[t._v("barPercentage")]),t._v(" and "),a("code",[t._v("categoryPercentage")]),t._v(" are ignored.")]),t._v(" "),a("p",[t._v("If set to "),a("code",[t._v("'flex'")]),t._v(", the base sample widths are calculated automatically based on the previous and following samples so that they take the full available widths without overlap. Then, bars are sized using "),a("code",[t._v("barPercentage")]),t._v(" and "),a("code",[t._v("categoryPercentage")]),t._v(". There is no gap when the percentage options are 1. This mode generates bars with different widths when data are not evenly spaced.")]),t._v(" "),a("p",[t._v("If not set (default), the base sample widths are calculated using the smallest interval that prevents bar overlapping, and bars are sized using "),a("code",[t._v("barPercentage")]),t._v(" and "),a("code",[t._v("categoryPercentage")]),t._v(". This mode always generates bars equally sized.")]),t._v(" "),a("h3",{attrs:{id:"maxbarthickness"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxbarthickness"}},[t._v("#")]),t._v(" maxBarThickness")]),t._v(" "),a("p",[t._v("Set this to ensure that bars are not sized thicker than this.")]),t._v(" "),a("h2",{attrs:{id:"scale-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale-configuration"}},[t._v("#")]),t._v(" Scale Configuration")]),t._v(" "),a("p",[t._v("The bar chart sets unique default values for the following configuration from the associated "),a("code",[t._v("scale")]),t._v(" options:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("offset")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, extra space is added to both edges and the axis is scaled to fit into the chart area.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("grid.offset")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, the bars for a particular data point fall between the grid lines. The grid line will move to the left by one half of the tick interval. If false, the grid line will go right down the middle of the bars. "),a("a",{attrs:{href:"#offsetgridlines"}},[t._v("more...")])])])])]),t._v(" "),a("h3",{attrs:{id:"example-scale-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#example-scale-configuration"}},[t._v("#")]),t._v(" Example scale configuration")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("options "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("grid")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("offset")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"offset-grid-lines"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offset-grid-lines"}},[t._v("#")]),t._v(" Offset Grid Lines")]),t._v(" "),a("p",[t._v("If true, the bars for a particular data point fall between the grid lines. The grid line will move to the left by one half of the tick interval, which is the space between the grid lines. If false, the grid line will go right down the middle of the bars. This is set to true for a category scale in a bar chart while false for other scales or chart types by default.")]),t._v(" "),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("It is common to want to apply a configuration setting to all created bar charts. The global bar chart settings are stored in "),a("code",[t._v("Chart.overrides.bar")]),t._v(". Changing the global options only affects charts created after the change. Existing charts are not changed.")]),t._v(" "),a("h2",{attrs:{id:"barpercentage-vs-categorypercentage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barpercentage-vs-categorypercentage"}},[t._v("#")]),t._v(" barPercentage vs categoryPercentage")]),t._v(" "),a("p",[t._v("The following shows the relationship between the bar percentage option and the category percentage option.")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("// categoryPercentage: 1.0\n// barPercentage: 1.0\nBar: | 1.0 | 1.0 |\nCategory: | 1.0 |\nSample: |===========|\n\n// categoryPercentage: 1.0\n// barPercentage: 0.5\nBar: |.5| |.5|\nCategory: | 1.0 |\nSample: |==============|\n\n// categoryPercentage: 0.5\n// barPercentage: 1.0\nBar: |1.0||1.0|\nCategory: | .5 |\nSample: |==================|\n")])])]),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("All of the supported "),a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("data structures")]),t._v(" can be used with bar charts.")],1),t._v(" "),a("h2",{attrs:{id:"stacked-bar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stacked-bar-chart"}},[t._v("#")]),t._v(" Stacked Bar Chart")]),t._v(" "),a("p",[t._v("Bar charts can be configured into stacked bar charts by changing the settings on the X and Y axes to enable stacking. Stacked bar charts can be used to show how one data series is made up of a number of smaller pieces.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" stackedBar "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("stacked")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("stacked")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"horizontal-bar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#horizontal-bar-chart"}},[t._v("#")]),t._v(" Horizontal Bar Chart")]),t._v(" "),a("p",[t._v("A horizontal bar chart is a variation on a vertical bar chart. It is sometimes used to show trend data, and the comparison of multiple data sets side by side.\nTo achieve this you will have to set the "),a("code",[t._v("indexAxis")]),t._v(" property in the options object to "),a("code",[t._v("'y'")]),t._v(".\nThe default for this property is "),a("code",[t._v("'x'")]),t._v(" and thus will show vertical bars.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n axis: 'y',\n label: 'My First Dataset',\n data: [65, 59, 80, 81, 56, 55, 40],\n fill: false,\n backgroundColor: [\n 'rgba(255, 99, 132, 0.2)',\n 'rgba(255, 159, 64, 0.2)',\n 'rgba(255, 205, 86, 0.2)',\n 'rgba(75, 192, 192, 0.2)',\n 'rgba(54, 162, 235, 0.2)',\n 'rgba(153, 102, 255, 0.2)',\n 'rgba(201, 203, 207, 0.2)'\n ],\n borderColor: [\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(54, 162, 235)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)'\n ],\n borderWidth: 1\n }]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data,\n options: {\n indexAxis: 'y',\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h3",{attrs:{id:"horizontal-bar-chart-config-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#horizontal-bar-chart-config-options"}},[t._v("#")]),t._v(" Horizontal Bar Chart config Options")]),t._v(" "),a("p",[t._v("The configuration options for the horizontal bar chart are the same as for the "),a("a",{attrs:{href:"#scale-configuration"}},[t._v("bar chart")]),t._v(". However, any options specified on the x-axis in a bar chart, are applied to the y-axis in a horizontal bar chart.")]),t._v(" "),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[a("code",[t._v("{x, y, _custom}")]),t._v(" where "),a("code",[t._v("_custom")]),t._v(" is an optional object defining stacked bar properties: "),a("code",[t._v("{start, end, barStart, barEnd, min, max}")]),t._v(". "),a("code",[t._v("start")]),t._v(" and "),a("code",[t._v("end")]),t._v(" are the input values. Those two are repeated in "),a("code",[t._v("barStart")]),t._v(" (closer to origin), "),a("code",[t._v("barEnd")]),t._v(" (further from origin), "),a("code",[t._v("min")]),t._v(" and "),a("code",[t._v("max")]),t._v(".")])],1)}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/144.a98bdbcc.js b/scriptApl/chart.js/dist/docs/assets/js/144.a98bdbcc.js new file mode 100644 index 00000000..d663e2b4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/144.a98bdbcc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{474:function(t,e,a){"use strict";a.r(e);var r=a(6),o=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"bubble-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubble-chart"}},[t._v("#")]),t._v(" Bubble Chart")]),t._v(" "),a("p",[t._v("A bubble chart is used to display three dimensions of data at the same time. The location of the bubble is determined by the first two dimensions and the corresponding horizontal and vertical axes. The third dimension is represented by the size of the individual bubbles.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst data = {\n datasets: [{\n label: 'First Dataset',\n data: [{\n x: 20,\n y: 30,\n r: 15\n }, {\n x: 40,\n y: 10,\n r: 10\n }],\n backgroundColor: 'rgb(255, 99, 132)'\n }]\n};\n// \n\n// \nconst config = {\n type: 'bubble',\n data: data,\n options: {}\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.bubble")]),t._v(" - options for all bubble datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.point")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("point elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The bubble chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of the bubbles is generally set this way.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("3")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("object[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("drawActiveElementsOnTop")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("4")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hitRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("label")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("order")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("pointStyle")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#types"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'circle'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("rotation")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("radius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("3")])])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("drawActiveElementsOnTop")])]),t._v(" "),a("td",[t._v("Draw the active bubbles of a dataset over the other bubbles of the dataset")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("label")])]),t._v(" "),a("td",[t._v("The label for the dataset which appears in the legend and tooltips.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("order")])]),t._v(" "),a("td",[t._v("The drawing order of dataset. Also affects order for tooltip and legend. "),a("RouterLink",{attrs:{to:"/charts/mixed.html#drawing-order"}},[t._v("more")])],1)])])]),t._v(" "),a("h3",{attrs:{id:"styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#styling"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),a("p",[t._v("The style of each bubble can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("bubble background color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("bubble border color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[t._v("bubble border width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",[t._v("bubble "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[t._v("shape style")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("rotation")])]),t._v(" "),a("td",[t._v("bubble rotation (in degrees).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("radius")])]),t._v(" "),a("td",[t._v("bubble radius (in pixels).")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[a("code",[t._v("elements.point.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each bubble can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("hitRadius")])]),t._v(" "),a("td",[t._v("bubble "),a("strong",[t._v("additional")]),t._v(" radius for hit detection (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBackgroundColor")])]),t._v(" "),a("td",[t._v("bubble background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderColor")])]),t._v(" "),a("td",[t._v("bubble border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderWidth")])]),t._v(" "),a("td",[t._v("bubble border width when hovered (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverRadius")])]),t._v(" "),a("td",[t._v("bubble "),a("strong",[t._v("additional")]),t._v(" radius when hovered (in pixels).")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[a("code",[t._v("elements.point.*")])]),t._v(" options.")],1),t._v(" "),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("We can also change the default values for the Bubble chart type. Doing so will give all bubble charts created after this point the new defaults. The default configuration for the bubble chart can be accessed at "),a("code",[t._v("Chart.overrides.bubble")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("Bubble chart datasets need to contain a "),a("code",[t._v("data")]),t._v(" array of points, each point represented by an object containing the following properties:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// X Value")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Y Value")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Bubble radius in pixels (not scaled).")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("r")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("strong",[t._v("Important:")]),t._v(" the radius property, "),a("code",[t._v("r")]),t._v(" is "),a("strong",[t._v("not")]),t._v(" scaled by the chart, it is the raw radius in pixels of the bubble that is drawn on the canvas.")]),t._v(" "),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[a("code",[t._v("{x, y, _custom}")]),t._v(" where "),a("code",[t._v("_custom")]),t._v(" is the radius.")])],1)}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/145.826b73e0.js b/scriptApl/chart.js/dist/docs/assets/js/145.826b73e0.js new file mode 100644 index 00000000..14b8f798 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/145.826b73e0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[145],{473:function(t,e,a){"use strict";a.r(e);var r=a(6),o=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"doughnut-and-pie-charts"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#doughnut-and-pie-charts"}},[t._v("#")]),t._v(" Doughnut and Pie Charts")]),t._v(" "),a("p",[t._v("Pie and doughnut charts are probably the most commonly used charts. They are divided into segments, the arc of each segment shows the proportional value of each piece of data.")]),t._v(" "),a("p",[t._v("They are excellent at showing the relational proportions between data.")]),t._v(" "),a("p",[t._v("Pie and doughnut charts are effectively the same class in Chart.js, but have one different default value - their "),a("code",[t._v("cutout")]),t._v(". This equates to what portion of the inner should be cut out. This defaults to "),a("code",[t._v("0")]),t._v(" for pie charts, and "),a("code",[t._v("'50%'")]),t._v(" for doughnuts.")]),t._v(" "),a("p",[t._v("They are also registered under two aliases in the "),a("code",[t._v("Chart")]),t._v(" core. Other than their different default value, and different alias, they are exactly the same.")]),t._v(" "),a("tabs",[a("tab",{attrs:{name:"Doughnut"}},[a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Red',\n 'Blue',\n 'Yellow'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [300, 50, 100],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(54, 162, 235)',\n 'rgb(255, 205, 86)'\n ],\n hoverOffset: 4\n }]\n};\n// \n\n// \nconst config = {\n type: 'doughnut',\n data: data,\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1),t._v(" "),a("tab",{attrs:{name:"Pie"}},[a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Red',\n 'Blue',\n 'Yellow'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [300, 50, 100],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(54, 162, 235)',\n 'rgb(255, 205, 86)'\n ],\n hoverOffset: 4\n }]\n};\n// \n\n// \nconst config = {\n type: 'pie',\n data: data,\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1)],1),t._v(" "),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.doughnut")]),t._v(" - options for all doughnut datasets")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.pie")]),t._v(" - options for all pie datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.arc")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[t._v("arc elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The doughnut/pie chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colours of the dataset's arcs are generally set this way.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#border-alignment"}},[a("code",[t._v("borderAlign")])])]),t._v(" "),a("td",[a("code",[t._v("'center'")]),t._v("|"),a("code",[t._v("'inner'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'center'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'#fff'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#border-radius"}},[a("code",[t._v("borderRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("2")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("circumference")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverOffset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("offset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("rotation")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("spacing")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("weight")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("1")])])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("circumference")])]),t._v(" "),a("td",[t._v("Per-dataset override for the sweep that the arcs cover")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("rotation")])]),t._v(" "),a("td",[t._v("Per-dataset override for the starting angle to draw arcs from")])])])]),t._v(" "),a("h3",{attrs:{id:"styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#styling"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),a("p",[t._v("The style of each arc can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("arc background color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("arc border color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderJoinStyle")])]),t._v(" "),a("td",[t._v("arc border join style. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[t._v("arc border width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("offset")])]),t._v(" "),a("td",[t._v("arc offset (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("spacing")])]),t._v(" "),a("td",[t._v("Fixed arc offset (in pixels). Similar to "),a("code",[t._v("offset")]),t._v(" but applies to all arcs.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("weight")])]),t._v(" "),a("td",[t._v("The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[a("code",[t._v("elements.arc.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"border-alignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border-alignment"}},[t._v("#")]),t._v(" Border Alignment")]),t._v(" "),a("p",[t._v("The following values are supported for "),a("code",[t._v("borderAlign")]),t._v(".")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'center'")]),t._v(" (default)")]),t._v(" "),a("li",[a("code",[t._v("'inner'")])])]),t._v(" "),a("p",[t._v("When "),a("code",[t._v("'center'")]),t._v(" is set, the borders of arcs next to each other will overlap. When "),a("code",[t._v("'inner'")]),t._v(" is set, it is guaranteed that all borders will not overlap.")]),t._v(" "),a("h3",{attrs:{id:"border-radius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border-radius"}},[t._v("#")]),t._v(" Border Radius")]),t._v(" "),a("p",[t._v("If this value is a number, it is applied to all corners of the arc (outerStart, outerEnd, innerStart, innerRight). If this value is an object, the "),a("code",[t._v("outerStart")]),t._v(" property defines the outer-start corner's border radius. Similarly, the "),a("code",[t._v("outerEnd")]),t._v(", "),a("code",[t._v("innerStart")]),t._v(", and "),a("code",[t._v("innerEnd")]),t._v(" properties can also be specified.")]),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each arc can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("hoverBackgroundColor")])]),t._v(" "),a("td",[t._v("arc background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderColor")])]),t._v(" "),a("td",[t._v("arc border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderJoinStyle")])]),t._v(" "),a("td",[t._v("arc border join style when hovered. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderWidth")])]),t._v(" "),a("td",[t._v("arc border width when hovered (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverOffset")])]),t._v(" "),a("td",[t._v("arc offset when hovered (in pixels).")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[a("code",[t._v("elements.arc.*")])]),t._v(" options.")],1),t._v(" "),a("h2",{attrs:{id:"config-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config-options"}},[t._v("#")]),t._v(" Config Options")]),t._v(" "),a("p",[t._v("These are the customisation options specific to Pie & Doughnut charts. These options are looked up on access, and form together with the global chart configuration the options of the chart.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("cutout")])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("50%")]),t._v(" - for doughnut, "),a("code",[t._v("0")]),t._v(" - for pie")]),t._v(" "),a("td",[t._v("The portion of the chart that is cut out of the middle. If "),a("code",[t._v("string")]),t._v(" and ending with '%', percentage of the chart radius. "),a("code",[t._v("number")]),t._v(" is considered to be pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("radius")])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("100%")])]),t._v(" "),a("td",[t._v("The outer radius of the chart. If "),a("code",[t._v("string")]),t._v(" and ending with '%', percentage of the maximum radius. "),a("code",[t._v("number")]),t._v(" is considered to be pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("rotation")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("0")]),t._v(" "),a("td",[t._v("Starting angle to draw arcs from.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("circumference")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[t._v("360")]),t._v(" "),a("td",[t._v("Sweep to allow arcs to cover.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("animation.animateRotate")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, the chart will animate in with a rotation animation. This property is in the "),a("code",[t._v("options.animation")]),t._v(" object.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("animation.animateScale")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("If true, will animate scaling the chart from the center outwards.")])])])]),t._v(" "),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("We can also change these default values for each Doughnut type that is created, this object is available at "),a("code",[t._v("Chart.overrides.doughnut")]),t._v(". Pie charts also have a clone of these defaults available to change at "),a("code",[t._v("Chart.overrides.pie")]),t._v(", with the only difference being "),a("code",[t._v("cutout")]),t._v(" being set to 0.")]),t._v(" "),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("For a pie chart, datasets need to contain an array of data points. The data points should be a number, Chart.js will total all of the numbers and calculate the relative proportion of each.")]),t._v(" "),a("p",[t._v("You also need to specify an array of labels so that tooltips appear correctly.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// These labels appear in the legend and in the tooltips when hovering different arcs")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Yellow'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Blue'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])],1)}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/146.001afadf.js b/scriptApl/chart.js/dist/docs/assets/js/146.001afadf.js new file mode 100644 index 00000000..799d6060 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/146.001afadf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{475:function(t,e,a){"use strict";a.r(e);var n=a(6),o=Object(n.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart"}},[t._v("#")]),t._v(" Line Chart")]),t._v(" "),a("p",[t._v("A line chart is a way of plotting data points on a line. Often, it is used to show trend data, or the comparison of two data sets.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First Dataset',\n data: [65, 59, 80, 81, 56, 55, 40],\n fill: false,\n borderColor: 'rgb(75, 192, 192)',\n tension: 0.1\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.line")]),t._v(" - options for all line datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.line")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#line-configuration"}},[t._v("line elements")])],1),t._v(" "),a("li",[a("code",[t._v("options.elements.point")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("point elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The line chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of a line is generally set this way.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderCapStyle")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'butt'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderDash")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("[]")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderDashOffset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0.0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'miter'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("3")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#cubicinterpolationmode"}},[a("code",[t._v("cubicInterpolationMode")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'default'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("object")]),t._v("|"),a("code",[t._v("object[]")]),t._v("| "),a("code",[t._v("number[]")]),t._v("|"),a("code",[t._v("string[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("drawActiveElementsOnTop")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("fill")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("false")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderCapStyle")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderDash")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderDashOffset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("indexAxis")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'x'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("label")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("''")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("order")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBackgroundColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBorderColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointHitRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBackgroundColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBorderColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("4")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("3")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointRotation")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointStyle")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#types"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'circle'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#segment"}},[a("code",[t._v("segment")])])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("showLine")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("true")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("spanGaps")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("stack")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'line'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#stepped"}},[a("code",[t._v("stepped")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("false")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("tension")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("xAxisID")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[t._v("first x axis")])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("yAxisID")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[t._v("first y axis")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("drawActiveElementsOnTop")])]),t._v(" "),a("td",[t._v("Draw the active points of a dataset over the other points of the dataset")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("indexAxis")])]),t._v(" "),a("td",[t._v("The base axis of the dataset. "),a("code",[t._v("'x'")]),t._v(" for horizontal lines and "),a("code",[t._v("'y'")]),t._v(" for vertical lines.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("label")])]),t._v(" "),a("td",[t._v("The label for the dataset which appears in the legend and tooltips.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("order")])]),t._v(" "),a("td",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend. "),a("RouterLink",{attrs:{to:"/charts/mixed.html#drawing-order"}},[t._v("more")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("stack")])]),t._v(" "),a("td",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). "),a("a",{attrs:{href:"#stacked-area-chart"}},[t._v("more")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("xAxisID")])]),t._v(" "),a("td",[t._v("The ID of the x-axis to plot this dataset on.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("yAxisID")])]),t._v(" "),a("td",[t._v("The ID of the y-axis to plot this dataset on.")])])])]),t._v(" "),a("h3",{attrs:{id:"point-styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-styling"}},[t._v("#")]),t._v(" Point Styling")]),t._v(" "),a("p",[t._v("The style of each point can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("pointBackgroundColor")])]),t._v(" "),a("td",[t._v("The fill color for points.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointBorderColor")])]),t._v(" "),a("td",[t._v("The border color for points.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointBorderWidth")])]),t._v(" "),a("td",[t._v("The width of the point border in pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHitRadius")])]),t._v(" "),a("td",[t._v("The pixel size of the non-displayed point that reacts to mouse events.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointRadius")])]),t._v(" "),a("td",[t._v("The radius of the point shape. If set to 0, the point is not rendered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointRotation")])]),t._v(" "),a("td",[t._v("The rotation of the point in degrees.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",[t._v("Style of the point. "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[t._v("more...")])],1)])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback first to the dataset options then to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[a("code",[t._v("elements.point.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"line-styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-styling"}},[t._v("#")]),t._v(" Line Styling")]),t._v(" "),a("p",[t._v("The style of the line can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("The line fill color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderCapStyle")])]),t._v(" "),a("td",[t._v("Cap style of the line. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineCap",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("The line color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDash")])]),t._v(" "),a("td",[t._v("Length and spacing of dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDashOffset")])]),t._v(" "),a("td",[t._v("Offset for line dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderJoinStyle")])]),t._v(" "),a("td",[t._v("Line joint style. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[t._v("The line width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("fill")])]),t._v(" "),a("td",[t._v("How to fill the area under the line. See "),a("RouterLink",{attrs:{to:"/charts/area.html"}},[t._v("area charts")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("tension")])]),t._v(" "),a("td",[t._v("Bezier curve tension of the line. Set to 0 to draw straightlines. This option is ignored if monotone cubic interpolation is used.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("showLine")])]),t._v(" "),a("td",[t._v("If false, the line is not drawn for this dataset.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("spanGaps")])]),t._v(" "),a("td",[t._v("If true, lines will be drawn between points with no or null data. If false, points with "),a("code",[t._v("null")]),t._v(" data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.")])])])]),t._v(" "),a("p",[t._v("If the value is "),a("code",[t._v("undefined")]),t._v(", the values fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#line-configuration"}},[a("code",[t._v("elements.line.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each point can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("pointHoverBackgroundColor")])]),t._v(" "),a("td",[t._v("Point background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverBorderColor")])]),t._v(" "),a("td",[t._v("Point border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverBorderWidth")])]),t._v(" "),a("td",[t._v("Border width of point when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverRadius")])]),t._v(" "),a("td",[t._v("The radius of the point when hovered.")])])])]),t._v(" "),a("h3",{attrs:{id:"cubicinterpolationmode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cubicinterpolationmode"}},[t._v("#")]),t._v(" cubicInterpolationMode")]),t._v(" "),a("p",[t._v("The following interpolation modes are supported.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'default'")])]),t._v(" "),a("li",[a("code",[t._v("'monotone'")])])]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("'default'")]),t._v(" algorithm uses a custom weighted cubic interpolation, which produces pleasant curves for all types of datasets.")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("'monotone'")]),t._v(" algorithm is more suited to "),a("code",[t._v("y = f(x)")]),t._v(" datasets: it preserves monotonicity (or piecewise monotonicity) of the dataset being interpolated, and ensures local extremums (if any) stay at input data points.")]),t._v(" "),a("p",[t._v("If left untouched ("),a("code",[t._v("undefined")]),t._v("), the global "),a("code",[t._v("options.elements.line.cubicInterpolationMode")]),t._v(" property is used.")]),t._v(" "),a("h3",{attrs:{id:"segment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#segment"}},[t._v("#")]),t._v(" Segment")]),t._v(" "),a("p",[t._v("Line segment styles can be overridden by scriptable options in the "),a("code",[t._v("segment")]),t._v(" object. Currently all of the "),a("code",[t._v("border*")]),t._v(" and "),a("code",[t._v("backgroundColor")]),t._v(" options are supported. The segment styles are resolved for each section of the line between each point. "),a("code",[t._v("undefined")]),t._v(" fallbacks to main line styles.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("To be able to style gaps, you need the "),a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("spanGaps")])]),t._v(" option enabled.")])]),t._v(" "),a("p",[t._v("Context for the scriptable segment contains the following properties:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'segment'")])]),t._v(" "),a("li",[a("code",[t._v("p0")]),t._v(": first point element")]),t._v(" "),a("li",[a("code",[t._v("p1")]),t._v(": second point element")]),t._v(" "),a("li",[a("code",[t._v("p0DataIndex")]),t._v(": index of first point in the data array")]),t._v(" "),a("li",[a("code",[t._v("p1DataIndex")]),t._v(": index of second point in the data array")]),t._v(" "),a("li",[a("code",[t._v("datasetIndex")]),t._v(": dataset index")])]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/samples/line/segments.html"}},[t._v("Example usage")])],1),t._v(" "),a("h3",{attrs:{id:"stepped"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stepped"}},[t._v("#")]),t._v(" Stepped")]),t._v(" "),a("p",[t._v("The following values are supported for "),a("code",[t._v("stepped")]),t._v(".")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("false")]),t._v(": No Step Interpolation (default)")]),t._v(" "),a("li",[a("code",[t._v("true")]),t._v(": Step-before Interpolation (eq. "),a("code",[t._v("'before'")]),t._v(")")]),t._v(" "),a("li",[a("code",[t._v("'before'")]),t._v(": Step-before Interpolation")]),t._v(" "),a("li",[a("code",[t._v("'after'")]),t._v(": Step-after Interpolation")]),t._v(" "),a("li",[a("code",[t._v("'middle'")]),t._v(": Step-middle Interpolation")])]),t._v(" "),a("p",[t._v("If the "),a("code",[t._v("stepped")]),t._v(" value is set to anything other than false, "),a("code",[t._v("tension")]),t._v(" will be ignored.")]),t._v(" "),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("It is common to want to apply a configuration setting to all created line charts. The global line chart settings are stored in "),a("code",[t._v("Chart.overrides.line")]),t._v(". Changing the global options only affects charts created after the change. Existing charts are not changed.")]),t._v(" "),a("p",[t._v("For example, to configure all line charts with "),a("code",[t._v("spanGaps = true")]),t._v(" you would do:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("overrides"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("line"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("spanGaps "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("All of the supported "),a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("data structures")]),t._v(" can be used with line charts.")],1),t._v(" "),a("h2",{attrs:{id:"stacked-area-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stacked-area-chart"}},[t._v("#")]),t._v(" Stacked Area Chart")]),t._v(" "),a("p",[t._v("Line charts can be configured into stacked area charts by changing the settings on the y-axis to enable stacking. Stacked area charts can be used to show how one data trend is made up of a number of smaller pieces.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" stackedLine "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("stacked")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"vertical-line-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vertical-line-chart"}},[t._v("#")]),t._v(" Vertical Line Chart")]),t._v(" "),a("p",[t._v("A vertical line chart is a variation on the horizontal line chart.\nTo achieve this you will have to set the "),a("code",[t._v("indexAxis")]),t._v(" property in the options object to "),a("code",[t._v("'y'")]),t._v(".\nThe default for this property is "),a("code",[t._v("'x'")]),t._v(" and thus will show horizontal lines.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [{\n axis: 'y',\n label: 'My First Dataset',\n data: [65, 59, 80, 81, 56, 55, 40],\n fill: false,\n backgroundColor: [\n 'rgba(255, 99, 132, 0.2)',\n 'rgba(255, 159, 64, 0.2)',\n 'rgba(255, 205, 86, 0.2)',\n 'rgba(75, 192, 192, 0.2)',\n 'rgba(54, 162, 235, 0.2)',\n 'rgba(153, 102, 255, 0.2)',\n 'rgba(201, 203, 207, 0.2)'\n ],\n borderColor: [\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(54, 162, 235)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)'\n ],\n borderWidth: 1\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n indexAxis: 'y',\n scales: {\n x: {\n beginAtZero: true\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h3",{attrs:{id:"config-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config-options"}},[t._v("#")]),t._v(" Config Options")]),t._v(" "),a("p",[t._v("The configuration options for the vertical line chart are the same as for the "),a("a",{attrs:{href:"#configuration-options"}},[t._v("line chart")]),t._v(". However, any options specified on the x-axis in a line chart, are applied to the y-axis in a vertical line chart.")]),t._v(" "),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[a("code",[t._v("{x, y}")])])],1)}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/147.fcadaef3.js b/scriptApl/chart.js/dist/docs/assets/js/147.fcadaef3.js new file mode 100644 index 00000000..fa553daf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/147.fcadaef3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{476:function(t,a,s){"use strict";s.r(a);var n=s(6),r=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"mixed-chart-types"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#mixed-chart-types"}},[t._v("#")]),t._v(" Mixed Chart Types")]),t._v(" "),s("p",[t._v("With Chart.js, it is possible to create mixed charts that are a combination of two or more different chart types. A common example is a bar chart that also includes a line dataset.")]),t._v(" "),s("p",[t._v("When creating a mixed chart, we specify the chart type on each dataset.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" mixedChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Bar Dataset'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Line Dataset'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" options\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("At this point, we have a chart rendering how we'd like. It's important to note that the default options for the charts are only considered at the dataset level and are not merged at the chart level in this case.")]),t._v(" "),s("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'January',\n 'February',\n 'March',\n 'April'\n ],\n datasets: [{\n type: 'bar',\n label: 'Bar Dataset',\n data: [10, 20, 30, 40],\n borderColor: 'rgb(255, 99, 132)',\n backgroundColor: 'rgba(255, 99, 132, 0.2)'\n }, {\n type: 'line',\n label: 'Line Dataset',\n data: [50, 50, 50, 50],\n fill: false,\n borderColor: 'rgb(54, 162, 235)'\n }]\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n scales: {\n y: {\n beginAtZero: true\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),s("h2",{attrs:{id:"drawing-order"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#drawing-order"}},[t._v("#")]),t._v(" Drawing order")]),t._v(" "),s("p",[t._v("By default, datasets are drawn such that the first one is top-most. This can be altered by specifying "),s("code",[t._v("order")]),t._v(" option to datasets. "),s("code",[t._v("order")]),t._v(" defaults to "),s("code",[t._v("0")]),t._v(". Note that this also affects stacking, legend, and tooltip. So it's essentially the same as reordering the datasets.")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("order")]),t._v(" property behaves like a weight instead of a specific order, so the higher the number, the sooner that dataset is drawn on the canvas and thus other datasets with a lower order number will get drawn over it.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" mixedChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Bar Dataset'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("40")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this dataset is drawn below")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("order")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Line Dataset'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this dataset is drawn on top")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("order")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" options\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])],1)}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/148.604863a4.js b/scriptApl/chart.js/dist/docs/assets/js/148.604863a4.js new file mode 100644 index 00000000..6ff629de --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/148.604863a4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{478:function(t,e,a){"use strict";a.r(e);var r=a(6),o=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"polar-area-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polar-area-chart"}},[t._v("#")]),t._v(" Polar Area Chart")]),t._v(" "),a("p",[t._v("Polar area charts are similar to pie charts, but each segment has the same angle - the radius of the segment differs depending on the value.")]),t._v(" "),a("p",[t._v("This type of chart is often useful when we want to show a comparison data similar to a pie chart, but also show a scale of values for context.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Red',\n 'Green',\n 'Yellow',\n 'Grey',\n 'Blue'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [11, 16, 7, 3, 14],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(75, 192, 192)',\n 'rgb(255, 205, 86)',\n 'rgb(201, 203, 207)',\n 'rgb(54, 162, 235)'\n ]\n }]\n};\n// \n\n// \nconst config = {\n type: 'polarArea',\n data: data,\n options: {}\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.polarArea")]),t._v(" - options for all polarArea datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.arc")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[t._v("arc elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The following options can be included in a polar area chart dataset to configure options for that specific dataset.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#border-alignment"}},[a("code",[t._v("borderAlign")])])]),t._v(" "),a("td",[a("code",[t._v("'center'")]),t._v("|"),a("code",[t._v("'inner'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'center'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'#fff'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("2")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#styling"}},[a("code",[t._v("circular")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("true")])])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])])])]),t._v(" "),a("h3",{attrs:{id:"styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#styling"}},[t._v("#")]),t._v(" Styling")]),t._v(" "),a("p",[t._v("The style of each arc can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("arc background color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("arc border color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderJoinStyle")])]),t._v(" "),a("td",[t._v("arc border join style. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[t._v("arc border width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("circular")])]),t._v(" "),a("td",[t._v("By default the Arc is curved. If "),a("code",[t._v("circular: false")]),t._v(" the Arc will be flat.")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[a("code",[t._v("elements.arc.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"border-alignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border-alignment"}},[t._v("#")]),t._v(" Border Alignment")]),t._v(" "),a("p",[t._v("The following values are supported for "),a("code",[t._v("borderAlign")]),t._v(".")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'center'")]),t._v(" (default)")]),t._v(" "),a("li",[a("code",[t._v("'inner'")])])]),t._v(" "),a("p",[t._v("When "),a("code",[t._v("'center'")]),t._v(" is set, the borders of arcs next to each other will overlap. When "),a("code",[t._v("'inner'")]),t._v(" is set, it is guaranteed that all the borders do not overlap.")]),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each arc can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("hoverBackgroundColor")])]),t._v(" "),a("td",[t._v("arc background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderColor")])]),t._v(" "),a("td",[t._v("arc border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderJoinStyle")])]),t._v(" "),a("td",[t._v("arc border join style when hovered. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("hoverBorderWidth")])]),t._v(" "),a("td",[t._v("arc border width when hovered (in pixels).")])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#arc-configuration"}},[a("code",[t._v("elements.arc.*")])]),t._v(" options.")],1),t._v(" "),a("h2",{attrs:{id:"config-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config-options"}},[t._v("#")]),t._v(" Config Options")]),t._v(" "),a("p",[t._v("These are the customisation options specific to Polar Area charts. These options are looked up on access, and form together with the "),a("a",{attrs:{href:"#default-options"}},[t._v("global chart default options")]),t._v(" the options of the chart.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("animation.animateRotate")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, the chart will animate in with a rotation animation. This property is in the "),a("code",[t._v("options.animation")]),t._v(" object.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("animation.animateScale")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, will animate scaling the chart from the center outwards.")])])])]),t._v(" "),a("p",[t._v("The polar area chart uses the "),a("RouterLink",{attrs:{to:"/axes/radial/linear.html"}},[t._v("radialLinear")]),t._v(" scale. Additional configuration is provided via the scale.")],1),t._v(" "),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("We can also change these default values for each PolarArea type that is created, this object is available at "),a("code",[t._v("Chart.overrides.polarArea")]),t._v(". Changing the global options only affects charts created after the change. Existing charts are not changed.")]),t._v(" "),a("p",[t._v("For example, to configure all new polar area charts with "),a("code",[t._v("animateScale = false")]),t._v(" you would do:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("overrides"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("polarArea"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animation"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animateScale "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("For a polar area chart, datasets need to contain an array of data points. The data points should be a number, Chart.js will total all of the numbers and calculate the relative proportion of each.")]),t._v(" "),a("p",[t._v("You also need to specify an array of labels so that tooltips appear correctly for each slice.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// These labels appear in the legend and in the tooltips when hovering different arcs")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Yellow'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Blue'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])],1)}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/149.6509ed9f.js b/scriptApl/chart.js/dist/docs/assets/js/149.6509ed9f.js new file mode 100644 index 00000000..301ede42 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/149.6509ed9f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[149],{477:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"radar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radar-chart"}},[t._v("#")]),t._v(" Radar Chart")]),t._v(" "),a("p",[t._v("A radar chart is a way of showing multiple data points and the variation between them.")]),t._v(" "),a("p",[t._v("They are often useful for comparing the points of two or more different data sets.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Eating',\n 'Drinking',\n 'Sleeping',\n 'Designing',\n 'Coding',\n 'Cycling',\n 'Running'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [65, 59, 90, 81, 56, 55, 40],\n fill: true,\n backgroundColor: 'rgba(255, 99, 132, 0.2)',\n borderColor: 'rgb(255, 99, 132)',\n pointBackgroundColor: 'rgb(255, 99, 132)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgb(255, 99, 132)'\n }, {\n label: 'My Second Dataset',\n data: [28, 48, 40, 19, 96, 27, 100],\n fill: true,\n backgroundColor: 'rgba(54, 162, 235, 0.2)',\n borderColor: 'rgb(54, 162, 235)',\n pointBackgroundColor: 'rgb(54, 162, 235)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgb(54, 162, 235)'\n }]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data: data,\n options: {\n elements: {\n line: {\n borderWidth: 3\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"dataset-properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),a("p",[t._v("Namespaces:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),a("li",[a("code",[t._v("options.datasets.line")]),t._v(" - options for all line datasets")]),t._v(" "),a("li",[a("code",[t._v("options.elements.line")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#line-configuration"}},[t._v("line elements")])],1),t._v(" "),a("li",[a("code",[t._v("options.elements.point")]),t._v(" - options for all "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("point elements")])],1),t._v(" "),a("li",[a("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),a("p",[t._v("The radar chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of a line is generally set this way.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#indexable-options"}},[t._v("Indexable")])],1),t._v(" "),a("th",[t._v("Default")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("backgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderCapStyle")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'butt'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderDash")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("[]")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderDashOffset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0.0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("'miter'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("borderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("3")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBackgroundColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderCapStyle")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderColor")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderDash")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderDashOffset")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderJoinStyle")])])]),t._v(" "),a("td",[a("code",[t._v("'round'")]),t._v("|"),a("code",[t._v("'bevel'")]),t._v("|"),a("code",[t._v("'miter'")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("hoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("clip")])])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")]),t._v("|"),a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#data-structure"}},[a("code",[t._v("data")])])]),t._v(" "),a("td",[a("code",[t._v("number[]")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("strong",[t._v("required")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("fill")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")]),t._v("|"),a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("false")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("label")])])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("''")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#general"}},[a("code",[t._v("order")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("tension")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBackgroundColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBorderColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.1)'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointHitRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBackgroundColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBorderColor")])])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverBorderWidth")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("1")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#interactions"}},[a("code",[t._v("pointHoverRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("4")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointRadius")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("3")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointRotation")])])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("0")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#point-styling"}},[a("code",[t._v("pointStyle")])])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#types"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[a("code",[t._v("'circle'")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"#line-styling"}},[a("code",[t._v("spanGaps")])])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("-")]),t._v(" "),a("td",[a("code",[t._v("undefined")])])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback to the scopes described in "),a("a",{attrs:{href:"../general/options"}},[t._v("option resolution")])]),t._v(" "),a("h3",{attrs:{id:"general"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#general"}},[t._v("#")]),t._v(" General")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("clip")])]),t._v(" "),a("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. "),a("code",[t._v("0")]),t._v(" = clip at chartArea. Clipping can also be configured per side: "),a("code",[t._v("clip: {left: 5, top: false, right: -2, bottom: 0}")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("label")])]),t._v(" "),a("td",[t._v("The label for the dataset which appears in the legend and tooltips.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("order")])]),t._v(" "),a("td",[t._v("The drawing order of dataset. Also affects order for tooltip and legend. "),a("RouterLink",{attrs:{to:"/charts/mixed.html#drawing-order"}},[t._v("more")])],1)])])]),t._v(" "),a("h3",{attrs:{id:"point-styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-styling"}},[t._v("#")]),t._v(" Point Styling")]),t._v(" "),a("p",[t._v("The style of each point can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("pointBackgroundColor")])]),t._v(" "),a("td",[t._v("The fill color for points.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointBorderColor")])]),t._v(" "),a("td",[t._v("The border color for points.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointBorderWidth")])]),t._v(" "),a("td",[t._v("The width of the point border in pixels.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHitRadius")])]),t._v(" "),a("td",[t._v("The pixel size of the non-displayed point that reacts to mouse events.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointRadius")])]),t._v(" "),a("td",[t._v("The radius of the point shape. If set to 0, the point is not rendered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointRotation")])]),t._v(" "),a("td",[t._v("The rotation of the point in degrees.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",[t._v("Style of the point. "),a("a",{attrs:{href:"../configuration/elements#point-styles"}},[t._v("more...")])])])])]),t._v(" "),a("p",[t._v("All these values, if "),a("code",[t._v("undefined")]),t._v(", fallback first to the dataset options then to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[a("code",[t._v("elements.point.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"line-styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-styling"}},[t._v("#")]),t._v(" Line Styling")]),t._v(" "),a("p",[t._v("The style of the line can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[t._v("The line fill color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderCapStyle")])]),t._v(" "),a("td",[t._v("Cap style of the line. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineCap",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[t._v("The line color.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDash")])]),t._v(" "),a("td",[t._v("Length and spacing of dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderDashOffset")])]),t._v(" "),a("td",[t._v("Offset for line dashes. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderJoinStyle")])]),t._v(" "),a("td",[t._v("Line joint style. See "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[t._v("The line width (in pixels).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("fill")])]),t._v(" "),a("td",[t._v("How to fill the area under the line. See "),a("RouterLink",{attrs:{to:"/charts/area.html"}},[t._v("area charts")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("tension")])]),t._v(" "),a("td",[t._v("Bezier curve tension of the line. Set to 0 to draw straight lines.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("spanGaps")])]),t._v(" "),a("td",[t._v("If true, lines will be drawn between points with no or null data. If false, points with "),a("code",[t._v("null")]),t._v(" data will create a break in the line.")])])])]),t._v(" "),a("p",[t._v("If the value is "),a("code",[t._v("undefined")]),t._v(", the values fallback to the associated "),a("RouterLink",{attrs:{to:"/configuration/elements.html#line-configuration"}},[a("code",[t._v("elements.line.*")])]),t._v(" options.")],1),t._v(" "),a("h3",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("The interaction with each point can be controlled with the following properties:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("pointHoverBackgroundColor")])]),t._v(" "),a("td",[t._v("Point background color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverBorderColor")])]),t._v(" "),a("td",[t._v("Point border color when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverBorderWidth")])]),t._v(" "),a("td",[t._v("Border width of point when hovered.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointHoverRadius")])]),t._v(" "),a("td",[t._v("The radius of the point when hovered.")])])])]),t._v(" "),a("h2",{attrs:{id:"scale-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale-options"}},[t._v("#")]),t._v(" Scale Options")]),t._v(" "),a("p",[t._v("The radar chart supports only a single scale. The options for this scale are defined in the "),a("code",[t._v("scales.r")]),t._v(" property, which can be referenced from the "),a("a",{attrs:{href:"../axes/radial/linear"}},[t._v("Linear Radial Axis page")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[t._v("options "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("r")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("angleLines")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMin")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("suggestedMax")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"default-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#default-options"}},[t._v("#")]),t._v(" Default Options")]),t._v(" "),a("p",[t._v("It is common to want to apply a configuration setting to all created radar charts. The global radar chart settings are stored in "),a("code",[t._v("Chart.overrides.radar")]),t._v(". Changing the global options only affects charts created after the change. Existing charts are not changed.")]),t._v(" "),a("h2",{attrs:{id:"data-structure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("data")]),t._v(" property of a dataset for a radar chart is specified as an array of numbers. Each point in the data array corresponds to the label at the same index.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),a("p",[t._v("For a radar chart, to provide context of what each point means, we include an array of strings that show around each point in the chart.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Running'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Swimming'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Eating'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Cycling'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"internal-data-format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),a("p",[a("code",[t._v("{x, y}")])])],1)}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/15.09a69fc3.js b/scriptApl/chart.js/dist/docs/assets/js/15.09a69fc3.js new file mode 100644 index 00000000..c821dcd2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/15.09a69fc3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{346:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-chart-ttype-tdata-tlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-chart-ttype-tdata-tlabel"}},[t._v("#")]),t._v(" Class: Chart")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new Chart")]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">("),a("code",[t._v("item")]),t._v(", "),a("code",[t._v("config")]),t._v(")")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(" = keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("item")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartitem"}},[a("code",[t._v("ChartItem")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("config")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[a("code",[t._v("ChartConfiguration")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v("> | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[a("code",[t._v("ChartConfigurationCustomTypesPerDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L504",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:504"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"aspectratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aspectratio"}},[t._v("#")]),t._v(" aspectRatio")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("aspectRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L491",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:491"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"attached"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#attached"}},[t._v("#")]),t._v(" attached")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("attached")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L496",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:496"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"boxes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#boxes"}},[t._v("#")]),t._v(" boxes")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("boxes")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L492",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:492"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"canvas"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#canvas"}},[t._v("#")]),t._v(" canvas")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("canvas")]),t._v(": "),a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L486",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:486"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartarea"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartarea"}},[t._v("#")]),t._v(" chartArea")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chartArea")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L494",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:494"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config"}},[t._v("#")]),t._v(" config")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("config")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[a("code",[t._v("ChartConfiguration")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v("> | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[a("code",[t._v("ChartConfigurationCustomTypesPerDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L488",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:488"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ctx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx"}},[t._v("#")]),t._v(" ctx")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("ctx")]),t._v(": "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L487",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:487"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"currentdevicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#currentdevicepixelratio"}},[t._v("#")]),t._v(" currentDevicePixelRatio")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("currentDevicePixelRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L493",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:493"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("data")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[a("code",[t._v("ChartData")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L501",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:501"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L490",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:490"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L485",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:485"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"legend"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend"}},[t._v("#")]),t._v(" legend")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("legend")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[a("code",[t._v("LegendElement")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L498",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:498"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("DeepPartial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#datasetchartoptions"}},[a("code",[t._v("DatasetChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#scalechartoptions"}},[a("code",[t._v("ScaleChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"chartOptions"')]),t._v("]>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L502",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:502"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#platform"}},[t._v("#")]),t._v(" platform")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("platform")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[a("code",[t._v("BasePlatform")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L484",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:484"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scales"}},[t._v("#")]),t._v(" scales")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("scales")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"index-signature"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-signature"}},[t._v("#")]),t._v(" Index signature")]),t._v(" "),a("p",[t._v("▪ [key: "),a("code",[t._v("string")]),t._v("]: "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L495",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:495"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" tooltip")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("tooltip")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L499",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:499"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L489",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:489"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"defaults"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defaults"}},[t._v("#")]),t._v(" defaults")]),t._v(" "),a("p",[t._v("▪ "),a("code",[t._v("Static")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("defaults")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Defaults.html"}},[a("code",[t._v("Defaults")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L542",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:542"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"instances"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#instances"}},[t._v("#")]),t._v(" instances")]),t._v(" "),a("p",[t._v("▪ "),a("code",[t._v("Static")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("instances")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"index-signature-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-signature-2"}},[t._v("#")]),t._v(" Index signature")]),t._v(" "),a("p",[t._v("▪ [key: "),a("code",[t._v("string")]),t._v("]: "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L545",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:545"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"overrides"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" overrides")]),t._v(" "),a("p",[t._v("▪ "),a("code",[t._v("Static")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("overrides")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#overrides"}},[a("code",[t._v("Overrides")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L543",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:543"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"registry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#registry"}},[t._v("#")]),t._v(" registry")]),t._v(" "),a("p",[t._v("▪ "),a("code",[t._v("Static")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("registry")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Registry.html"}},[a("code",[t._v("Registry")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L546",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:546"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"version"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#version"}},[t._v("#")]),t._v(" version")]),t._v(" "),a("p",[t._v("▪ "),a("code",[t._v("Static")]),t._v(" "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("version")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L544",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:544"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"bindevents"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bindevents"}},[t._v("#")]),t._v(" bindEvents")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("bindEvents")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L536",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:536"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildorupdatecontrollers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildorupdatecontrollers"}},[t._v("#")]),t._v(" buildOrUpdateControllers")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildOrUpdateControllers")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L512",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:512"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildorupdatescales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildorupdatescales"}},[t._v("#")]),t._v(" buildOrUpdateScales")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildOrUpdateScales")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L511",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:511"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"clear"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clear"}},[t._v("#")]),t._v(" clear")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("clear")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L506",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:506"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"destroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#destroy"}},[t._v("#")]),t._v(" destroy")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("destroy")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L534",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:534"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L516",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:516"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ensurescaleshaveids"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ensurescaleshaveids"}},[t._v("#")]),t._v(" ensureScalesHaveIDs")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("ensureScalesHaveIDs")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L510",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:510"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getactiveelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getactiveelements"}},[t._v("#")]),t._v(" getActiveElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getActiveElements")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L531",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:531"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdatavisibility"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdatavisibility"}},[t._v("#")]),t._v(" getDataVisibility")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDataVisibility")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L527",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:527"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdatasetmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdatasetmeta"}},[t._v("#")]),t._v(" getDatasetMeta")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDatasetMeta")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L522",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:522"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getelementsateventformode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getelementsateventformode"}},[t._v("#")]),t._v(" getElementsAtEventForMode")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getElementsAtEventForMode")]),t._v("("),a("code",[t._v("e")]),t._v(", "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("options")]),t._v(", "),a("code",[t._v("useFinalPosition")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("e")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Event")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionOptions.html"}},[a("code",[t._v("InteractionOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L519",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:519"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getsortedvisibledatasetmetas"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getsortedvisibledatasetmetas"}},[t._v("#")]),t._v(" getSortedVisibleDatasetMetas")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getSortedVisibleDatasetMetas")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L521",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:521"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getvisibledatasetcount"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getvisibledatasetcount"}},[t._v("#")]),t._v(" getVisibleDatasetCount")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getVisibleDatasetCount")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L523",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:523"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hide"}},[t._v("#")]),t._v(" hide")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("hide")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("dataIndex?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("dataIndex?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L528",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:528"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isdatasetvisible"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isdatasetvisible"}},[t._v("#")]),t._v(" isDatasetVisible")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isDatasetVisible")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L524",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:524"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ispointinarea"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ispointinarea"}},[t._v("#")]),t._v(" isPointInArea")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("isPointInArea")]),t._v("("),a("code",[t._v("point")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("point")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L518",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:518"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"notifyplugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#notifyplugins"}},[t._v("#")]),t._v(" notifyPlugins")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("notifyPlugins")]),t._v("("),a("code",[t._v("hook")]),t._v(", "),a("code",[t._v("args?")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("hook")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L540",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:540"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"render"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#render"}},[t._v("#")]),t._v(" render")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("render")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L515",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:515"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("reset")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L513",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:513"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resize"}},[t._v("#")]),t._v(" resize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("resize")]),t._v("("),a("code",[t._v("width?")]),t._v(", "),a("code",[t._v("height?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L509",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:509"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setactiveelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setactiveelements"}},[t._v("#")]),t._v(" setActiveElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setActiveElements")]),t._v("("),a("code",[t._v("active")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("active")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[a("code",[t._v("ActiveDataPoint")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L532",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:532"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setdatasetvisibility"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setdatasetvisibility"}},[t._v("#")]),t._v(" setDatasetVisibility")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setDatasetVisibility")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("visible")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("visible")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L525",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:525"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"show"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#show"}},[t._v("#")]),t._v(" show")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("show")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("dataIndex?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("dataIndex?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L529",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:529"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stop"}},[t._v("#")]),t._v(" stop")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("stop")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L507",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:507"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tobase64image"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tobase64image"}},[t._v("#")]),t._v(" toBase64Image")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("toBase64Image")]),t._v("("),a("code",[t._v("type?")]),t._v(", "),a("code",[t._v("quality?")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("quality?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L535",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:535"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"toggledatavisibility"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#toggledatavisibility"}},[t._v("#")]),t._v(" toggleDataVisibility")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("toggleDataVisibility")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L526",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:526"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"unbindevents"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#unbindevents"}},[t._v("#")]),t._v(" unbindEvents")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("unbindEvents")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L537",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:537"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("mode?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L514",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:514"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatehoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatehoverstyle"}},[t._v("#")]),t._v(" updateHoverStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateHoverStyle")]),t._v("("),a("code",[t._v("items")]),t._v(", "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("enabled")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("items")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"dataset"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("enabled")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-52"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L538",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:538"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getchart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getchart"}},[t._v("#")]),t._v(" getChart")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Static")]),t._v(" "),a("strong",[t._v("getChart")]),t._v("("),a("code",[t._v("key")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("key")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("HTMLCanvasElement")]),t._v(" | "),a("code",[t._v("CanvasRenderingContext2D")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-53"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L547",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:547"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"register"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#register"}},[t._v("#")]),t._v(" register")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Static")]),t._v(" "),a("strong",[t._v("register")]),t._v("(..."),a("code",[t._v("items")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...items")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-54"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L548",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:548"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"unregister"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#unregister"}},[t._v("#")]),t._v(" unregister")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Static")]),t._v(" "),a("strong",[t._v("unregister")]),t._v("(..."),a("code",[t._v("items")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("...items")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-55"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L549",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:549"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/150.fd8575ca.js b/scriptApl/chart.js/dist/docs/assets/js/150.fd8575ca.js new file mode 100644 index 00000000..0d2b1901 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/150.fd8575ca.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[150],{479:function(t,a,e){"use strict";e.r(a);var s=e(6),r=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"scatter-chart"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#scatter-chart"}},[t._v("#")]),t._v(" Scatter Chart")]),t._v(" "),e("p",[t._v("Scatter charts are based on basic line charts with the x axis changed to a linear axis. To use a scatter chart, data must be passed as objects containing X and Y properties. The example below creates a scatter chart with 4 points.")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst data = {\n datasets: [{\n label: 'Scatter Dataset',\n data: [{\n x: -10,\n y: 0\n }, {\n x: 0,\n y: 10\n }, {\n x: 10,\n y: 5\n }, {\n x: 0.5,\n y: 5.5\n }],\n backgroundColor: 'rgb(255, 99, 132)'\n }],\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n scales: {\n x: {\n type: 'linear',\n position: 'bottom'\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"dataset-properties"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dataset-properties"}},[t._v("#")]),t._v(" Dataset Properties")]),t._v(" "),e("p",[t._v("Namespaces:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("data.datasets[index]")]),t._v(" - options for this dataset only")]),t._v(" "),e("li",[e("code",[t._v("options.datasets.scatter")]),t._v(" - options for all scatter datasets")]),t._v(" "),e("li",[e("code",[t._v("options.elements.line")]),t._v(" - options for all "),e("RouterLink",{attrs:{to:"/configuration/elements.html#line-configuration"}},[t._v("line elements")])],1),t._v(" "),e("li",[e("code",[t._v("options.elements.point")]),t._v(" - options for all "),e("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("point elements")])],1),t._v(" "),e("li",[e("code",[t._v("options")]),t._v(" - options for the whole chart")])]),t._v(" "),e("p",[t._v("The scatter chart supports all of the same properties as the "),e("RouterLink",{attrs:{to:"/charts/line.html#dataset-properties"}},[t._v("line chart")]),t._v(".\nBy default, the scatter chart will override the showLine property of the line chart to "),e("code",[t._v("false")]),t._v(".")],1),t._v(" "),e("p",[t._v("The index scale is of the type "),e("code",[t._v("linear")]),t._v(". This means if you are using the labels array the values have to be numbers or parsable to numbers, the same applies to the object format for the keys.")]),t._v(" "),e("h2",{attrs:{id:"data-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-structure"}},[t._v("#")]),t._v(" Data Structure")]),t._v(" "),e("p",[t._v("Unlike the line chart where data can be supplied in two different formats, the scatter chart only accepts data in a point format.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("15")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),e("h2",{attrs:{id:"internal-data-format"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#internal-data-format"}},[t._v("#")]),t._v(" Internal data format")]),t._v(" "),e("p",[e("code",[t._v("{x, y}")])])],1)}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/151.67ecd4a3.js b/scriptApl/chart.js/dist/docs/assets/js/151.67ecd4a3.js new file mode 100644 index 00000000..dd2c6020 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/151.67ecd4a3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[151],{480:function(t,a,e){"use strict";e.r(a);var n=e(6),o=Object(n.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"animations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" Animations")]),t._v(" "),e("p",[t._v("Chart.js animates charts out of the box. A number of options are provided to configure how the animation looks and how long it takes.")]),t._v(" "),e("tabs",[e("tab",{attrs:{name:"Looping tension [property]"}},[e("chart-editor",{attrs:{code:"// \nconst data = {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\n datasets: [{\n label: 'Looping tension',\n data: [65, 59, 80, 81, 26, 55, 40],\n fill: false,\n borderColor: 'rgb(75, 192, 192)',\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n animations: {\n tension: {\n duration: 1000,\n easing: 'linear',\n from: 1,\n to: 0,\n loop: true\n }\n },\n scales: {\n y: { // defining min and max so hiding the dataset does not change scale range\n min: 0,\n max: 100\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1),t._v(" "),e("tab",{attrs:{name:"Hide and show [mode]"}},[e("chart-editor",{attrs:{code:"// \nconst data = {\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\n datasets: [{\n label: 'Try hiding me',\n data: [65, 59, 80, 81, 26, 55, 40],\n fill: false,\n borderColor: 'rgb(75, 192, 192)',\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n transitions: {\n show: {\n animations: {\n x: {\n from: 0\n },\n y: {\n from: 0\n }\n }\n },\n hide: {\n animations: {\n x: {\n to: 0\n },\n y: {\n to: 0\n }\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1)],1),t._v(" "),e("h2",{attrs:{id:"animation-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#animation-configuration"}},[t._v("#")]),t._v(" Animation configuration")]),t._v(" "),e("p",[t._v("Animation configuration consists of 3 keys.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Details")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("animation")]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td",[e("a",{attrs:{href:"#animation"}},[t._v("animation")])])]),t._v(" "),e("tr",[e("td",[t._v("animations")]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td",[e("a",{attrs:{href:"#animations"}},[t._v("animations")])])]),t._v(" "),e("tr",[e("td",[t._v("transitions")]),t._v(" "),e("td",[e("code",[t._v("object")])]),t._v(" "),e("td",[e("a",{attrs:{href:"#transitions"}},[t._v("transitions")])])])])]),t._v(" "),e("p",[t._v("These keys can be configured in following paths:")]),t._v(" "),e("ul",[e("li",[t._v("`` - chart options")]),t._v(" "),e("li",[e("code",[t._v("datasets[type]")]),t._v(" - dataset type options")]),t._v(" "),e("li",[e("code",[t._v("overrides[type]")]),t._v(" - chart type options")])]),t._v(" "),e("p",[t._v("These paths are valid under "),e("code",[t._v("defaults")]),t._v(" for global configuration and "),e("code",[t._v("options")]),t._v(" for instance configuration.")]),t._v(" "),e("h2",{attrs:{id:"animation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),e("p",[t._v("The default configuration is defined here: "),e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/master/src/core/core.animations.js",target:"_blank"}},[t._v("core.animations.js")])]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.animation")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("duration")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("1000")])]),t._v(" "),e("td",[t._v("The number of milliseconds an animation takes.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("easing")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'easeOutQuart'")])]),t._v(" "),e("td",[t._v("Easing function to use. "),e("a",{attrs:{href:"#easing"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("delay")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("undefined")])]),t._v(" "),e("td",[t._v("Delay before starting the animations.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("loop")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("undefined")])]),t._v(" "),e("td",[t._v("If set to "),e("code",[t._v("true")]),t._v(", the animations loop endlessly.")])])])]),t._v(" "),e("p",[t._v("These defaults can be overridden in "),e("code",[t._v("options.animation")]),t._v(" or "),e("code",[t._v("dataset.animation")]),t._v(" and "),e("code",[t._v("tooltip.animation")]),t._v(". These keys are also "),e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"animations-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#animations-2"}},[t._v("#")]),t._v(" animations")]),t._v(" "),e("p",[t._v("Animations options configures which element properties are animated and how.\nIn addition to the main "),e("a",{attrs:{href:"#animation-configuration"}},[t._v("animation configuration")]),t._v(", the following options are available:")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.animations[animation]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("properties")])]),t._v(" "),e("td",[e("code",[t._v("string[]")])]),t._v(" "),e("td",[e("code",[t._v("key")])]),t._v(" "),e("td",[t._v("The property names this configuration applies to. Defaults to the key name of this object.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("type")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("typeof property")])]),t._v(" "),e("td",[t._v("Type of property, determines the interpolator used. Possible values: "),e("code",[t._v("'number'")]),t._v(", "),e("code",[t._v("'color'")]),t._v(" and "),e("code",[t._v("'boolean'")]),t._v(". Only really needed for "),e("code",[t._v("'color'")]),t._v(", because "),e("code",[t._v("typeof")]),t._v(" does not get that right.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("from")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("Color")]),t._v("|"),e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("undefined")])]),t._v(" "),e("td",[t._v("Start value for the animation. Current value is used when "),e("code",[t._v("undefined")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("to")])]),t._v(" "),e("td",[e("code",[t._v("number")]),t._v("|"),e("code",[t._v("Color")]),t._v("|"),e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("undefined")])]),t._v(" "),e("td",[t._v("End value for the animation. Updated value is used when "),e("code",[t._v("undefined")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("fn")])]),t._v(" "),e("td",[e("code",[t._v("(from: T, to: T, factor: number) => T;")])]),t._v(" "),e("td",[e("code",[t._v("undefined")])]),t._v(" "),e("td",[t._v("Optional custom interpolator, instead of using a predefined interpolator from "),e("code",[t._v("type")])])])])]),t._v(" "),e("h3",{attrs:{id:"default-animations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#default-animations"}},[t._v("#")]),t._v(" Default animations")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Option")]),t._v(" "),e("th",[t._v("Value")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("numbers")])]),t._v(" "),e("td",[e("code",[t._v("properties")])]),t._v(" "),e("td",[e("code",[t._v("['x', 'y', 'borderWidth', 'radius', 'tension']")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("numbers")])]),t._v(" "),e("td",[e("code",[t._v("type")])]),t._v(" "),e("td",[e("code",[t._v("'number'")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("colors")])]),t._v(" "),e("td",[e("code",[t._v("properties")])]),t._v(" "),e("td",[e("code",[t._v("['color', 'borderColor', 'backgroundColor']")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("colors")])]),t._v(" "),e("td",[e("code",[t._v("type")])]),t._v(" "),e("td",[e("code",[t._v("'color'")])])])])]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),e("p",[t._v("These default animations are overridden by most of the dataset controllers.")])]),t._v(" "),e("h2",{attrs:{id:"transitions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),e("p",[t._v("The core transitions are "),e("code",[t._v("'active'")]),t._v(", "),e("code",[t._v("'hide'")]),t._v(", "),e("code",[t._v("'reset'")]),t._v(", "),e("code",[t._v("'resize'")]),t._v(", "),e("code",[t._v("'show'")]),t._v(".\nA custom transition can be used by passing a custom "),e("code",[t._v("mode")]),t._v(" to "),e("RouterLink",{attrs:{to:"/developers/api.html#updatemode"}},[t._v("update")]),t._v(".\nTransition extends the main "),e("a",{attrs:{href:"#animation-configuration"}},[t._v("animation configuration")]),t._v(" and "),e("a",{attrs:{href:"#animations-configuration"}},[t._v("animations configuration")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"default-transitions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#default-transitions"}},[t._v("#")]),t._v(" Default transitions")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.transitions[mode]")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Mode")]),t._v(" "),e("th",[t._v("Option")]),t._v(" "),e("th",[t._v("Value")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("'active'")])]),t._v(" "),e("td",[t._v("animation.duration")]),t._v(" "),e("td",[t._v("400")]),t._v(" "),e("td",[t._v("Override default duration to 400ms for hover animations")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("'resize'")])]),t._v(" "),e("td",[t._v("animation.duration")]),t._v(" "),e("td",[t._v("0")]),t._v(" "),e("td",[t._v("Override default duration to 0ms (= no animation) for resize")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("'show'")])]),t._v(" "),e("td",[t._v("animations.colors")]),t._v(" "),e("td",[e("code",[t._v("{ type: 'color', properties: ['borderColor', 'backgroundColor'], from: 'transparent' }")])]),t._v(" "),e("td",[t._v("Colors are faded in from transparent when dataset is shown using legend / "),e("RouterLink",{attrs:{to:"/developers/api.html#showdatasetIndex"}},[t._v("api")]),t._v(".")],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("'show'")])]),t._v(" "),e("td",[t._v("animations.visible")]),t._v(" "),e("td",[e("code",[t._v("{ type: 'boolean', duration: 0 }")])]),t._v(" "),e("td",[t._v("Dataset visibility is immediately changed to true so the color transition from transparent is visible.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("'hide'")])]),t._v(" "),e("td",[t._v("animations.colors")]),t._v(" "),e("td",[e("code",[t._v("{ type: 'color', properties: ['borderColor', 'backgroundColor'], to: 'transparent' }")])]),t._v(" "),e("td",[t._v("Colors are faded to transparent when dataset id hidden using legend / "),e("RouterLink",{attrs:{to:"/developers/api.html#hidedatasetIndex"}},[t._v("api")]),t._v(".")],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("'hide'")])]),t._v(" "),e("td",[t._v("animations.visible")]),t._v(" "),e("td",[e("code",[t._v("{ type: 'boolean', easing: 'easeInExpo' }")])]),t._v(" "),e("td",[t._v("Visibility is changed to false at a very late phase of animation")])])])]),t._v(" "),e("h2",{attrs:{id:"disabling-animation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#disabling-animation"}},[t._v("#")]),t._v(" Disabling animation")]),t._v(" "),e("p",[t._v("To disable an animation configuration, the animation node must be set to "),e("code",[t._v("false")]),t._v(", with the exception for animation modes which can be disabled by setting the "),e("code",[t._v("duration")]),t._v(" to "),e("code",[t._v("0")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animation "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disables all animations")]),t._v("\nchart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animations"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("colors "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disables animation defined by the collection of 'colors' properties")]),t._v("\nchart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animations"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disables animation defined by the 'x' property")]),t._v("\nchart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("transitions"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("active"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("animation"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("duration "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disables the animation for 'active' mode")]),t._v("\n")])])]),e("h2",{attrs:{id:"easing"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#easing"}},[t._v("#")]),t._v(" Easing")]),t._v(" "),e("p",[t._v("Available options are:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("'linear'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInQuad'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutQuad'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutQuad'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInCubic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutCubic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutCubic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInQuart'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutQuart'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutQuart'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInQuint'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutQuint'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutQuint'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInSine'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutSine'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutSine'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInExpo'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutExpo'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutExpo'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInCirc'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutCirc'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutCirc'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInElastic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutElastic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutElastic'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInBack'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutBack'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutBack'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInBounce'")])]),t._v(" "),e("li",[e("code",[t._v("'easeOutBounce'")])]),t._v(" "),e("li",[e("code",[t._v("'easeInOutBounce'")])])]),t._v(" "),e("p",[t._v("See "),e("a",{attrs:{href:"http://robertpenner.com/easing/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Robert Penner's easing equations"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"animation-callbacks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#animation-callbacks"}},[t._v("#")]),t._v(" Animation Callbacks")]),t._v(" "),e("p",[t._v("The animation configuration provides callbacks which are useful for synchronizing an external draw to the chart animation.\nThe callbacks can be set only at main "),e("a",{attrs:{href:"#animation-configuration"}},[t._v("animation configuration")]),t._v(".")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.animation")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("onProgress")])]),t._v(" "),e("td",[e("code",[t._v("function")])]),t._v(" "),e("td",[e("code",[t._v("null")])]),t._v(" "),e("td",[t._v("Callback called on each step of an animation.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("onComplete")])]),t._v(" "),e("td",[e("code",[t._v("function")])]),t._v(" "),e("td",[e("code",[t._v("null")])]),t._v(" "),e("td",[t._v("Callback called when all animations are completed.")])])])]),t._v(" "),e("p",[t._v("The callback is passed the following object:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Chart object")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("chart")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Number of animations still in progress")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("currentStep")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// `true` for the initial animation of the chart")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("initial")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" boolean"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Total number of animations at the start of current animation")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("numSteps")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("The following example fills a progress bar during the chart animation.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("animation")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onProgress")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("animation")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n progress"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" animation"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("currentStep "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" animation"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("numSteps"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("Another example usage of these callbacks can be found "),e("RouterLink",{attrs:{to:"/samples/advanced/progress-bar.html"}},[t._v("in this progress bar sample.")]),t._v(" which displays a progress bar showing how far along the animation is.")],1)],1)}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/152.481a7bd4.js b/scriptApl/chart.js/dist/docs/assets/js/152.481a7bd4.js new file mode 100644 index 00000000..e4e69e24 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/152.481a7bd4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[152],{482:function(n,t,a){"use strict";a.r(t);var e=a(6),o=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"canvas-background"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#canvas-background"}},[n._v("#")]),n._v(" Canvas background")]),n._v(" "),a("p",[n._v("In some use cases you would want a background image or color over the whole canvas. There is no built-in support for this, the way you can achieve this is by writing a custom plugin.")]),n._v(" "),a("p",[n._v("In the two example plugins underneath here you can see how you can draw a color or image to the canvas as background. This way of giving the chart a background is only necessary if you want to export the chart with that specific background.\nFor normal use you can set the background more easily with "),a("a",{attrs:{href:"https://www.w3schools.com/cssref/css3_pr_background.asp",target:"_blank",rel:"noopener noreferrer"}},[n._v("CSS"),a("OutboundLink")],1),n._v(".")]),n._v(" "),a("tabs",[a("tab",{attrs:{name:"Color"}},[a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Red',\n 'Blue',\n 'Yellow'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [300, 50, 100],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(54, 162, 235)',\n 'rgb(255, 205, 86)'\n ],\n hoverOffset: 4\n }]\n};\n// \n\n// \n// Note: changes to the plugin code is not reflected to the chart, because the plugin is loaded at chart construction time and editor changes only trigger an chart.update().\nconst plugin = {\n id: 'custom_canvas_background_color',\n beforeDraw: (chart) => {\n const {ctx} = chart;\n ctx.save();\n ctx.globalCompositeOperation = 'destination-over';\n ctx.fillStyle = 'lightGreen';\n ctx.fillRect(0, 0, chart.width, chart.height);\n ctx.restore();\n }\n};\n// \n\n// \nconst config = {\n type: 'doughnut',\n data: data,\n plugins: [plugin],\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1),n._v(" "),a("tab",{attrs:{name:"Image"}},[a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [\n 'Red',\n 'Blue',\n 'Yellow'\n ],\n datasets: [{\n label: 'My First Dataset',\n data: [300, 50, 100],\n backgroundColor: [\n 'rgb(255, 99, 132)',\n 'rgb(54, 162, 235)',\n 'rgb(255, 205, 86)'\n ],\n hoverOffset: 4\n }]\n};\n// \n\n// \n// Note: changes to the plugin code is not reflected to the chart, because the plugin is loaded at chart construction time and editor changes only trigger an chart.update().\nconst image = new Image();\nimage.src = 'https://www.chartjs.org/img/chartjs-logo.svg';\n\nconst plugin = {\n id: 'custom_canvas_background_image',\n beforeDraw: (chart) => {\n if (image.complete) {\n const ctx = chart.ctx;\n const {top, left, width, height} = chart.chartArea;\n const x = left + width / 2 - image.width / 2;\n const y = top + height / 2 - image.height / 2;\n ctx.drawImage(image, x, y);\n } else {\n image.onload = () => chart.draw();\n }\n }\n};\n// \n\n// \nconst config = {\n type: 'doughnut',\n data: data,\n plugins: [plugin],\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}})],1)],1)],1)}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/153.dbf3f3aa.js b/scriptApl/chart.js/dist/docs/assets/js/153.dbf3f3aa.js new file mode 100644 index 00000000..3b3720db --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/153.dbf3f3aa.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[153],{481:function(t,e,a){"use strict";a.r(e);var i=a(6),r=Object(i.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"data-decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-decimation"}},[t._v("#")]),t._v(" Data Decimation")]),t._v(" "),a("p",[t._v("The decimation plugin can be used with line charts to automatically decimate data at the start of the chart lifecycle. Before enabling this plugin, review the "),a("a",{attrs:{href:"#requirements"}},[t._v("requirements")]),t._v(" to ensure that it will work with the chart you want to create.")]),t._v(" "),a("h2",{attrs:{id:"configuration-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.decimation")]),t._v(", the global options for the plugin are defined in "),a("code",[t._v("Chart.defaults.plugins.decimation")]),t._v(".")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("enabled")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Is decimation enabled?")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("algorithm")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'min-max'")])]),t._v(" "),a("td",[t._v("Decimation algorithm to use. See the "),a("a",{attrs:{href:"#decimation-algorithms"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("samples")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("If the "),a("code",[t._v("'lttb'")]),t._v(" algorithm is used, this is the number of samples in the output dataset. Defaults to the canvas width to pick 1 sample per pixel.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("threshold")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("If the number of samples in the current axis range is above this value, the decimation will be triggered. Defaults to 4 times the canvas width."),a("br"),t._v("The number of point after decimation can be higher than the "),a("code",[t._v("threshold")]),t._v(" value.")])])])]),t._v(" "),a("h2",{attrs:{id:"decimation-algorithms"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#decimation-algorithms"}},[t._v("#")]),t._v(" Decimation Algorithms")]),t._v(" "),a("p",[t._v("Decimation algorithm to use for data. Options are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'lttb'")])]),t._v(" "),a("li",[a("code",[t._v("'min-max'")])])]),t._v(" "),a("h3",{attrs:{id:"largest-triangle-three-bucket-lttb-decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#largest-triangle-three-bucket-lttb-decimation"}},[t._v("#")]),t._v(" Largest Triangle Three Bucket (LTTB) Decimation")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/sveinn-steinarsson/flot-downsample",target:"_blank",rel:"noopener noreferrer"}},[t._v("LTTB"),a("OutboundLink")],1),t._v(" decimation reduces the number of data points significantly. This is most useful for showing trends in data using only a few data points.")]),t._v(" "),a("h3",{attrs:{id:"min-max-decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min-max-decimation"}},[t._v("#")]),t._v(" Min/Max Decimation")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://digital.ni.com/public.nsf/allkb/F694FFEEA0ACF282862576020075F784",target:"_blank",rel:"noopener noreferrer"}},[t._v("Min/max"),a("OutboundLink")],1),t._v(" decimation will preserve peaks in your data but could require up to 4 points for each pixel. This type of decimation would work well for a very noisy signal where you need to see data peaks.")]),t._v(" "),a("h2",{attrs:{id:"requirements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[t._v("#")]),t._v(" Requirements")]),t._v(" "),a("p",[t._v("To use the decimation plugin, the following requirements must be met:")]),t._v(" "),a("ol",[a("li",[t._v("The dataset must have an "),a("RouterLink",{attrs:{to:"/charts/line.html#general"}},[a("code",[t._v("indexAxis")])]),t._v(" of "),a("code",[t._v("'x'")])],1),t._v(" "),a("li",[t._v("The dataset must be a line")]),t._v(" "),a("li",[t._v("The X axis for the dataset must be either a "),a("RouterLink",{attrs:{to:"/axes/cartesian/linear.html"}},[a("code",[t._v("'linear'")])]),t._v(" or "),a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[a("code",[t._v("'time'")])]),t._v(" type axis")],1),t._v(" "),a("li",[t._v("Data must not need parsing, i.e. "),a("RouterLink",{attrs:{to:"/general/data-structures.html#dataset-configuration"}},[a("code",[t._v("parsing")])]),t._v(" must be "),a("code",[t._v("false")])],1),t._v(" "),a("li",[t._v("The dataset object must be mutable. The plugin stores the original data as "),a("code",[t._v("dataset._data")]),t._v(" and then defines a new "),a("code",[t._v("data")]),t._v(" property on the dataset.")]),t._v(" "),a("li",[t._v("There must be more points on the chart than the threshold value. Take a look at the Configuration Options for more information.")])]),t._v(" "),a("h2",{attrs:{id:"related-samples"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#related-samples"}},[t._v("#")]),t._v(" Related Samples")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"../samples/advanced/data-decimation"}},[t._v("Data Decimation Sample")])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/154.2aa9c67d.js b/scriptApl/chart.js/dist/docs/assets/js/154.2aa9c67d.js new file mode 100644 index 00000000..ef12d8ae --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/154.2aa9c67d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{483:function(e,t,i){"use strict";i.r(t);var a=i(6),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"device-pixel-ratio"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#device-pixel-ratio"}},[e._v("#")]),e._v(" Device Pixel Ratio")]),e._v(" "),i("p",[e._v("By default the chart's canvas will use a 1:1 pixel ratio, unless the physical display has a higher pixel ratio (e.g. Retina displays).")]),e._v(" "),i("p",[e._v("For applications where a chart will be converted to a bitmap, or printed to a higher DPI medium it can be desirable to render the chart at a higher resolution than the default.")]),e._v(" "),i("p",[e._v("Setting "),i("code",[e._v("devicePixelRatio")]),e._v(" to a value other than 1 will force the canvas size to be scaled by that amount, relative to the container size. There should be no visible difference on screen; the difference will only be visible when the image is zoomed or printed.")]),e._v(" "),i("h2",{attrs:{id:"configuration-options"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[e._v("#")]),e._v(" Configuration Options")]),e._v(" "),i("p",[e._v("Namespace: "),i("code",[e._v("options")])]),e._v(" "),i("table",[i("thead",[i("tr",[i("th",[e._v("Name")]),e._v(" "),i("th",[e._v("Type")]),e._v(" "),i("th",[e._v("Default")]),e._v(" "),i("th",[e._v("Description")])])]),e._v(" "),i("tbody",[i("tr",[i("td",[i("code",[e._v("devicePixelRatio")])]),e._v(" "),i("td",[i("code",[e._v("number")])]),e._v(" "),i("td",[i("code",[e._v("window.devicePixelRatio")])]),e._v(" "),i("td",[e._v("Override the window's default devicePixelRatio.")])])])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/155.e3367ebc.js b/scriptApl/chart.js/dist/docs/assets/js/155.e3367ebc.js new file mode 100644 index 00000000..a6ba86a5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/155.e3367ebc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[155],{484:function(e,t,o){"use strict";o.r(t);var r=o(6),v=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"elements"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#elements"}},[e._v("#")]),e._v(" Elements")]),e._v(" "),o("p",[e._v("While chart types provide settings to configure the styling of each dataset, you sometimes want to style "),o("strong",[e._v("all datasets the same way")]),e._v(". A common example would be to stroke all of the bars in a bar chart with the same colour but change the fill per dataset. Options can be configured for four different types of elements: "),o("strong",[o("a",{attrs:{href:"#arc-configuration"}},[e._v("arc")])]),e._v(", "),o("strong",[o("a",{attrs:{href:"#line-configuration"}},[e._v("lines")])]),e._v(", "),o("strong",[o("a",{attrs:{href:"#point-configuration"}},[e._v("points")])]),e._v(", and "),o("strong",[o("a",{attrs:{href:"#bar-configuration"}},[e._v("bars")])]),e._v(". When set, these options apply to all objects of that type unless specifically overridden by the configuration attached to a dataset.")]),e._v(" "),o("h2",{attrs:{id:"global-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#global-configuration"}},[e._v("#")]),e._v(" Global Configuration")]),e._v(" "),o("p",[e._v("The element options can be specified per chart or globally. The global options for elements are defined in "),o("code",[e._v("Chart.defaults.elements")]),e._v(". For example, to set the border width of all bar charts globally you would do:")]),e._v(" "),o("div",{staticClass:"language-javascript extra-class"},[o("pre",{pre:!0,attrs:{class:"language-javascript"}},[o("code",[e._v("Chart"),o("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("defaults"),o("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("elements"),o("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("bar"),o("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("borderWidth "),o("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" "),o("span",{pre:!0,attrs:{class:"token number"}},[e._v("2")]),o("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(";")]),e._v("\n")])])]),o("h2",{attrs:{id:"point-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#point-configuration"}},[e._v("#")]),e._v(" Point Configuration")]),e._v(" "),o("p",[e._v("Point elements are used to represent the points in a line, radar or bubble chart.")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options.elements.point")]),e._v(", global point options: "),o("code",[e._v("Chart.defaults.elements.point")]),e._v(".")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("radius")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("3")])]),e._v(" "),o("td",[e._v("Point radius.")])]),e._v(" "),o("tr",[o("td",[o("a",{attrs:{href:"#point-styles"}},[o("code",[e._v("pointStyle")])])]),e._v(" "),o("td",[o("a",{attrs:{href:"#types"}},[o("code",[e._v("pointStyle")])])]),e._v(" "),o("td",[o("code",[e._v("'circle'")])]),e._v(" "),o("td",[e._v("Point style.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("rotation")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Point rotation (in degrees).")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("backgroundColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.backgroundColor")])]),e._v(" "),o("td",[e._v("Point fill color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderWidth")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("1")])]),e._v(" "),o("td",[e._v("Point stroke width.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("'Chart.defaults.borderColor")])]),e._v(" "),o("td",[e._v("Point stroke color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("hitRadius")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("1")])]),e._v(" "),o("td",[e._v("Extra radius added to point radius for hit detection.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("hoverRadius")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("4")])]),e._v(" "),o("td",[e._v("Point radius when hovered.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("hoverBorderWidth")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("1")])]),e._v(" "),o("td",[e._v("Stroke width when hovered.")])])])]),e._v(" "),o("h3",{attrs:{id:"point-styles"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#point-styles"}},[e._v("#")]),e._v(" Point Styles")]),e._v(" "),o("h4",{attrs:{id:"types"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#types"}},[e._v("#")]),e._v(" Types")]),e._v(" "),o("p",[e._v("The "),o("code",[e._v("pointStyle")]),e._v(" argument accepts the following type of inputs: "),o("code",[e._v("string")]),e._v(", "),o("code",[e._v("Image")]),e._v(" and "),o("code",[e._v("HTMLCanvasElement")])]),e._v(" "),o("h4",{attrs:{id:"info"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#info"}},[e._v("#")]),e._v(" Info")]),e._v(" "),o("p",[e._v("When a string is provided, the following values are supported:")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("'circle'")])]),e._v(" "),o("li",[o("code",[e._v("'cross'")])]),e._v(" "),o("li",[o("code",[e._v("'crossRot'")])]),e._v(" "),o("li",[o("code",[e._v("'dash'")])]),e._v(" "),o("li",[o("code",[e._v("'line'")])]),e._v(" "),o("li",[o("code",[e._v("'rect'")])]),e._v(" "),o("li",[o("code",[e._v("'rectRounded'")])]),e._v(" "),o("li",[o("code",[e._v("'rectRot'")])]),e._v(" "),o("li",[o("code",[e._v("'star'")])]),e._v(" "),o("li",[o("code",[e._v("'triangle'")])])]),e._v(" "),o("p",[e._v("If the value is an image or a canvas element, that image or canvas element is drawn on the canvas using "),o("a",{attrs:{href:"https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/drawImage",target:"_blank",rel:"noopener noreferrer"}},[e._v("drawImage"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h2",{attrs:{id:"line-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#line-configuration"}},[e._v("#")]),e._v(" Line Configuration")]),e._v(" "),o("p",[e._v("Line elements are used to represent the line in a line chart.")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options.elements.line")]),e._v(", global line options: "),o("code",[e._v("Chart.defaults.elements.line")]),e._v(".")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("tension")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Bézier curve tension ("),o("code",[e._v("0")]),e._v(" for no Bézier curves).")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("backgroundColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.backgroundColor")])]),e._v(" "),o("td",[e._v("Line fill color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderWidth")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("3")])]),e._v(" "),o("td",[e._v("Line stroke width.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.borderColor")])]),e._v(" "),o("td",[e._v("Line stroke color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderCapStyle")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("'butt'")])]),e._v(" "),o("td",[e._v("Line cap style. See "),o("a",{attrs:{href:"https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap",target:"_blank",rel:"noopener noreferrer"}},[e._v("MDN"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderDash")])]),e._v(" "),o("td",[o("code",[e._v("number[]")])]),e._v(" "),o("td",[o("code",[e._v("[]")])]),e._v(" "),o("td",[e._v("Line dash. See "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash",target:"_blank",rel:"noopener noreferrer"}},[e._v("MDN"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderDashOffset")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0.0")])]),e._v(" "),o("td",[e._v("Line dash offset. See "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset",target:"_blank",rel:"noopener noreferrer"}},[e._v("MDN"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderJoinStyle")])]),e._v(" "),o("td",[o("code",[e._v("'round'")]),e._v("|"),o("code",[e._v("'bevel'")]),e._v("|"),o("code",[e._v("'miter'")])]),e._v(" "),o("td",[o("code",[e._v("'miter'")])]),e._v(" "),o("td",[e._v("Line join style. See "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[e._v("MDN"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("capBezierPoints")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("true")])]),e._v(" "),o("td",[o("code",[e._v("true")]),e._v(" to keep Bézier control inside the chart, "),o("code",[e._v("false")]),e._v(" for no restriction.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("cubicInterpolationMode")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("'default'")])]),e._v(" "),o("td",[e._v("Interpolation mode to apply. "),o("RouterLink",{attrs:{to:"/charts/line.html#cubicinterpolationmode"}},[e._v("See more...")])],1)]),e._v(" "),o("tr",[o("td",[o("code",[e._v("fill")])]),e._v(" "),o("td",[o("code",[e._v("boolean")]),e._v("|"),o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("false")])]),e._v(" "),o("td",[e._v("How to fill the area under the line. See "),o("RouterLink",{attrs:{to:"/charts/area.html#filling-modes"}},[e._v("area charts")]),e._v(".")],1)]),e._v(" "),o("tr",[o("td",[o("code",[e._v("stepped")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("false")])]),e._v(" "),o("td",[o("code",[e._v("true")]),e._v(" to show the line as a stepped line ("),o("code",[e._v("tension")]),e._v(" will be ignored).")])])])]),e._v(" "),o("h2",{attrs:{id:"bar-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#bar-configuration"}},[e._v("#")]),e._v(" Bar Configuration")]),e._v(" "),o("p",[e._v("Bar elements are used to represent the bars in a bar chart.")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options.elements.bar")]),e._v(", global bar options: "),o("code",[e._v("Chart.defaults.elements.bar")]),e._v(".")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("backgroundColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.backgroundColor")])]),e._v(" "),o("td",[e._v("Bar fill color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderWidth")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("Bar stroke width.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.borderColor")])]),e._v(" "),o("td",[e._v("Bar stroke color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderSkipped")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("'start'")])]),e._v(" "),o("td",[e._v("Skipped (excluded) border: "),o("code",[e._v("'start'")]),e._v(", "),o("code",[e._v("'end'")]),e._v(", "),o("code",[e._v("'middle'")]),e._v(", "),o("code",[e._v("'bottom'")]),e._v(", "),o("code",[e._v("'left'")]),e._v(", "),o("code",[e._v("'top'")]),e._v(", "),o("code",[e._v("'right'")]),e._v(" or "),o("code",[e._v("false")]),e._v(".")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderRadius")])]),e._v(" "),o("td",[o("code",[e._v("number")]),e._v("|"),o("code",[e._v("object")])]),e._v(" "),o("td",[o("code",[e._v("0")])]),e._v(" "),o("td",[e._v("The bar border radius (in pixels).")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("inflateAmount")])]),e._v(" "),o("td",[o("code",[e._v("number")]),e._v("|"),o("code",[e._v("'auto'")])]),e._v(" "),o("td",[o("code",[e._v("'auto'")])]),e._v(" "),o("td",[e._v("The amount of pixels to inflate the bar rectangle(s) when drawing.")])]),e._v(" "),o("tr",[o("td",[o("a",{attrs:{href:"#point-styles"}},[o("code",[e._v("pointStyle")])])]),e._v(" "),o("td",[o("code",[e._v("string")]),e._v("|"),o("code",[e._v("Image")]),e._v("|"),o("code",[e._v("HTMLCanvasElement")])]),e._v(" "),o("td",[o("code",[e._v("'circle'")])]),e._v(" "),o("td",[e._v("Style of the point for legend.")])])])]),e._v(" "),o("h2",{attrs:{id:"arc-configuration"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#arc-configuration"}},[e._v("#")]),e._v(" Arc Configuration")]),e._v(" "),o("p",[e._v("Arcs are used in the polar area, doughnut and pie charts.")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options.elements.arc")]),e._v(", global arc options: "),o("code",[e._v("Chart.defaults.elements.arc")]),e._v(".")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("angle")]),e._v(" - for polar only")]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("circumference / (arc count)")])]),e._v(" "),o("td",[e._v("Arc angle to cover.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("backgroundColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("Chart.defaults.backgroundColor")])]),e._v(" "),o("td",[e._v("Arc fill color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderAlign")])]),e._v(" "),o("td",[o("code",[e._v("'center'")]),e._v("|"),o("code",[e._v("'inner'")])]),e._v(" "),o("td",[o("code",[e._v("'center'")])]),e._v(" "),o("td",[e._v("Arc stroke alignment.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderColor")])]),e._v(" "),o("td",[o("RouterLink",{attrs:{to:"/general/colors.html"}},[o("code",[e._v("Color")])])],1),e._v(" "),o("td",[o("code",[e._v("'#fff'")])]),e._v(" "),o("td",[e._v("Arc stroke color.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderJoinStyle")])]),e._v(" "),o("td",[o("code",[e._v("'round'")]),e._v("|"),o("code",[e._v("'bevel'")]),e._v("|"),o("code",[e._v("'miter'")])]),e._v(" "),o("td",[o("code",[e._v("'bevel'")]),e._v("|"),o("code",[e._v("'round'")])]),e._v(" "),o("td",[e._v("Line join style. See "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin",target:"_blank",rel:"noopener noreferrer"}},[e._v("MDN"),o("OutboundLink")],1),e._v(". The default is "),o("code",[e._v("'round'")]),e._v(" when "),o("code",[e._v("borderAlign")]),e._v(" is "),o("code",[e._v("'inner'")])])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("borderWidth")])]),e._v(" "),o("td",[o("code",[e._v("number")])]),e._v(" "),o("td",[o("code",[e._v("2")])]),e._v(" "),o("td",[e._v("Arc stroke width.")])]),e._v(" "),o("tr",[o("td",[o("code",[e._v("circular")])]),e._v(" "),o("td",[o("code",[e._v("boolean")])]),e._v(" "),o("td",[o("code",[e._v("true")])]),e._v(" "),o("td",[e._v("By default the Arc is curved. If "),o("code",[e._v("circular: false")]),e._v(" the Arc will be flat")])])])])])}),[],!1,null,null,null);t.default=v.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/156.a5bb942d.js b/scriptApl/chart.js/dist/docs/assets/js/156.a5bb942d.js new file mode 100644 index 00000000..c26d4efe --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/156.a5bb942d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{485:function(t,a,s){"use strict";s.r(a);var e=s(6),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#configuration"}},[t._v("#")]),t._v(" Configuration")]),t._v(" "),s("p",[t._v("The configuration is used to change how the chart behaves. There are properties to control styling, fonts, the legend, etc.")]),t._v(" "),s("h2",{attrs:{id:"configuration-object-structure"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#configuration-object-structure"}},[t._v("#")]),t._v(" Configuration object structure")]),t._v(" "),s("p",[t._v("The top level structure of Chart.js configuration:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" config "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h3",{attrs:{id:"type"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),s("p",[t._v("Chart type determines the main type of the chart.")]),t._v(" "),s("p",[s("strong",[t._v("note")]),t._v(" A dataset can override the "),s("code",[t._v("type")]),t._v(", this is how mixed charts are constructed.")]),t._v(" "),s("h3",{attrs:{id:"data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),s("p",[t._v("See "),s("a",{attrs:{href:"../general/data-structures"}},[t._v("Data Structures")]),t._v(" for details.")]),t._v(" "),s("h3",{attrs:{id:"options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),s("p",[t._v("Majority of the documentation talks about these options.")]),t._v(" "),s("h3",{attrs:{id:"plugins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),s("p",[t._v("Inline plugins can be included in this array. It is an alternative way of adding plugins for single chart (vs registering the plugin globally).\nMore about plugins in the "),s("RouterLink",{attrs:{to:"/developers/plugins.html"}},[t._v("developers section")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"global-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#global-configuration"}},[t._v("#")]),t._v(" Global Configuration")]),t._v(" "),s("p",[t._v("This concept was introduced in Chart.js 1.0 to keep configuration "),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Don%27t_repeat_yourself",target:"_blank",rel:"noopener noreferrer"}},[t._v("DRY"),s("OutboundLink")],1),t._v(", and allow for changing options globally across chart types, avoiding the need to specify options for each instance, or the default for a particular chart type.")]),t._v(" "),s("p",[t._v("Chart.js merges the options object passed to the chart with the global configuration using chart type defaults and scales defaults appropriately. This way you can be as specific as you would like in your individual chart configuration, while still changing the defaults for all chart types where applicable. The global general options are defined in "),s("code",[t._v("Chart.defaults")]),t._v(". The defaults for each chart type are discussed in the documentation for that chart type.")]),t._v(" "),s("p",[t._v("The following example would set the interaction mode to 'nearest' for all charts where this was not overridden by the chart type defaults or the options passed to the constructor on creation.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("interaction"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("mode "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'nearest'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Interaction mode is set to nearest because it was not overridden here")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chartInteractionModeNearest "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This chart would have the interaction mode that was passed in")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chartDifferentInteractionMode "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Overrides the global setting")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'index'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"dataset-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dataset-configuration"}},[t._v("#")]),t._v(" Dataset Configuration")]),t._v(" "),s("p",[t._v("Options may be configured directly on the dataset. The dataset options can be changed at multiple different levels. See "),s("RouterLink",{attrs:{to:"/general/options.html#dataset-level-options"}},[t._v("options")]),t._v(" for details on how the options are resolved.")],1),t._v(" "),s("p",[t._v("The following example would set the "),s("code",[t._v("showLine")]),t._v(" option to 'false' for all line datasets except for those overridden by options passed to the dataset on creation.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Do not show lines for all datasets by default")]),t._v("\nChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("line"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("showLine "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This chart would show a line only for the third dataset")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("showLine")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// overrides the `line` dataset default")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'scatter'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 'line' dataset default does not affect this dataset since it's a 'scatter'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/157.09caef4e.js b/scriptApl/chart.js/dist/docs/assets/js/157.09caef4e.js new file mode 100644 index 00000000..623d702c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/157.09caef4e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{486:function(t,s,a){"use strict";a.r(s);var n=a(6),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[t._v("#")]),t._v(" Interactions")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.interaction")]),t._v(", the global interaction configuration is at "),a("code",[t._v("Chart.defaults.interaction")]),t._v(". To configure which events trigger chart interactions, see "),a("a",{attrs:{href:"#events"}},[t._v("events")]),t._v(".")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("mode")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'nearest'")])]),t._v(" "),a("td",[t._v("Sets which elements appear in the interaction. See "),a("a",{attrs:{href:"#modes"}},[t._v("Interaction Modes")]),t._v(" for details.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("intersect")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("if true, the interaction mode only applies when the mouse position intersects an item on the chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("axis")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'x'")])]),t._v(" "),a("td",[t._v("Can be set to "),a("code",[t._v("'x'")]),t._v(", "),a("code",[t._v("'y'")]),t._v(", "),a("code",[t._v("'xy'")]),t._v(" or "),a("code",[t._v("'r'")]),t._v(" to define which directions are used in calculating distances. Defaults to "),a("code",[t._v("'x'")]),t._v(" for "),a("code",[t._v("'index'")]),t._v(" mode and "),a("code",[t._v("'xy'")]),t._v(" in "),a("code",[t._v("dataset")]),t._v(" and "),a("code",[t._v("'nearest'")]),t._v(" modes.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("includeInvisible")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.")])])])]),t._v(" "),a("p",[t._v("By default, these options apply to both the hover and tooltip interactions. The same options can be set in the "),a("code",[t._v("options.hover")]),t._v(" namespace, in which case they will only affect the hover interaction. Similarly, the options can be set in the "),a("code",[t._v("options.plugins.tooltip")]),t._v(" namespace to independently configure the tooltip interactions.")]),t._v(" "),a("h2",{attrs:{id:"events"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[t._v("#")]),t._v(" Events")]),t._v(" "),a("p",[t._v("The following properties define how the chart interacts with events.\nNamespace: "),a("code",[t._v("options")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("events")])]),t._v(" "),a("td",[a("code",[t._v("string[]")])]),t._v(" "),a("td",[a("code",[t._v("['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove']")])]),t._v(" "),a("td",[t._v("The "),a("code",[t._v("events")]),t._v(" option defines the browser events that the chart should listen to for. Each of these events trigger hover and are passed to plugins. "),a("a",{attrs:{href:"#event-option"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("onHover")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("Called when any of the events fire over chartArea. Passed the event, an array of active elements (bars, points, etc), and the chart.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("onClick")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("Called if the event is of type "),a("code",[t._v("'mouseup'")]),t._v(", "),a("code",[t._v("'click'")]),t._v(" or '"),a("code",[t._v("'contextmenu'")]),t._v(" over chartArea. Passed the event, an array of active elements, and the chart.")])])])]),t._v(" "),a("h3",{attrs:{id:"event-option"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#event-option"}},[t._v("#")]),t._v(" Event Option")]),t._v(" "),a("p",[t._v("For example, to have the chart only respond to click events, you could do:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This chart will not respond to mousemove, etc")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("events")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'click'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Events for each plugin can be further limited by defining (allowed) events array in plugin options:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// All of these (default) events trigger a hover and are passed to all plugins,")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// unless limited at plugin options")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("events")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mousemove'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mouseout'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'click'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'touchstart'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'touchmove'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Tooltip will only receive click events")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("events")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'click'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Events that do not fire over chartArea, like "),a("code",[t._v("mouseout")]),t._v(", can be captured using a simple plugin:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// these are the default events:")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myEventCatcher'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("beforeEvent")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" args"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" pluginOptions")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" event "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" args"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("event"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("event"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("type "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mouseout'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// process the event")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("For more information about plugins, see "),a("RouterLink",{attrs:{to:"/developers/plugins.html"}},[t._v("Plugins")])],1),t._v(" "),a("h3",{attrs:{id:"converting-events-to-data-values"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#converting-events-to-data-values"}},[t._v("#")]),t._v(" Converting Events to Data Values")]),t._v(" "),a("p",[t._v("A common occurrence is taking an event, such as a click, and finding the data coordinates on the chart where the event occurred. Chart.js provides helpers that make this a straightforward process.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onClick")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("e")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" canvasPosition "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("helpers"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getRelativePosition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Substitute the appropriate scale IDs")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" dataX "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getValueForPixel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("canvasPosition"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" dataY "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getValueForPixel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("canvasPosition"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("When using a bundler, the helper functions have to be imported seperatly, for a full explanation of this please head over to the "),a("RouterLink",{attrs:{to:"/getting-started/integration.html#helper-functions"}},[t._v("integration")]),t._v(" page")],1),t._v(" "),a("h2",{attrs:{id:"modes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#modes"}},[t._v("#")]),t._v(" Modes")]),t._v(" "),a("p",[t._v("When configuring the interaction with the graph via "),a("code",[t._v("interaction")]),t._v(", "),a("code",[t._v("hover")]),t._v(" or "),a("code",[t._v("tooltips")]),t._v(", a number of different modes are available.")]),t._v(" "),a("p",[a("code",[t._v("options.hover")]),t._v(" and "),a("code",[t._v("options.plugins.tooltip")]),t._v(" extend from "),a("code",[t._v("options.interaction")]),t._v(". So if "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("intersect")]),t._v(" or any other common settings are configured only in "),a("code",[t._v("options.interaction")]),t._v(", both hover and tooltips obey that.")]),t._v(" "),a("p",[t._v("The modes are detailed below and how they behave in conjunction with the "),a("code",[t._v("intersect")]),t._v(" setting.")]),t._v(" "),a("p",[t._v("See how different modes work with the tooltip in "),a("RouterLink",{attrs:{to:"/samples/tooltip/interactions.html"}},[t._v("tooltip interactions sample")])],1),t._v(" "),a("h3",{attrs:{id:"point"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point"}},[t._v("#")]),t._v(" point")]),t._v(" "),a("p",[t._v("Finds all of the items that intersect the point.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'point'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"nearest"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#nearest"}},[t._v("#")]),t._v(" nearest")]),t._v(" "),a("p",[t._v("Gets the items that are at the nearest distance to the point. The nearest item is determined based on the distance to the center of the chart item (point, bar). You can use the "),a("code",[t._v("axis")]),t._v(" setting to define which coordinates are considered in distance calculation. If "),a("code",[t._v("intersect")]),t._v(" is true, this is only triggered when the mouse position intersects an item in the graph. This is very useful for combo charts where points are hidden behind bars.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'nearest'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("Finds item at the same index. If the "),a("code",[t._v("intersect")]),t._v(" setting is true, the first intersecting item is used to determine the index in the data. If "),a("code",[t._v("intersect")]),t._v(" false the nearest item, in the x direction, is used to determine the index.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'index'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("To use index mode in a chart like the horizontal bar chart, where we search along the y direction, you can use the "),a("code",[t._v("axis")]),t._v(" setting introduced in v2.7.0. By setting this value to "),a("code",[t._v("'y'")]),t._v(" on the y direction is used.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'index'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("axis")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'y'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"dataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset"}},[t._v("#")]),t._v(" dataset")]),t._v(" "),a("p",[t._v("Finds items in the same dataset. If the "),a("code",[t._v("intersect")]),t._v(" setting is true, the first intersecting item is used to determine the index in the data. If "),a("code",[t._v("intersect")]),t._v(" false the nearest item is used to determine the index.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'dataset'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("Returns all items that would intersect based on the "),a("code",[t._v("X")]),t._v(" coordinate of the position only. Would be useful for a vertical cursor implementation. Note that this only applies to cartesian charts.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'x'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("Returns all items that would intersect based on the "),a("code",[t._v("Y")]),t._v(" coordinate of the position. This would be useful for a horizontal cursor implementation. Note that this only applies to cartesian charts.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'y'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"custom-interaction-modes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#custom-interaction-modes"}},[t._v("#")]),t._v(" Custom Interaction Modes")]),t._v(" "),a("p",[t._v("New modes can be defined by adding functions to the "),a("code",[t._v("Chart.Interaction.modes")]),t._v(" map. You can use the "),a("code",[t._v("Chart.Interaction.evaluateInteractionItems")]),t._v(" function to help implement these.")]),t._v(" "),a("p",[t._v("Example:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" Interaction "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" getRelativePosition "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js/helpers'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n * Custom interaction mode\n * @function Interaction.modes.myCustomMode\n * @param {Chart} chart - the chart we are returning items from\n * @param {Event} e - the event we are find things at\n * @param {InteractionOptions} options - options to use\n * @param {boolean} [useFinalPosition] - use final element position (animation target)\n * @return {InteractionItem[]} - items that are found\n */")]),t._v("\nInteraction"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("modes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("myCustomMode")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" useFinalPosition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" position "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getRelativePosition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" items "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n Interaction"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("evaluateInteractionItems")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'x'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" position"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("element"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" datasetIndex"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("element"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("inXRange")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("position"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" useFinalPosition"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("myCustomLogic")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("element"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n items"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("element"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" datasetIndex"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" items"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Then, to use it...")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("js")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("interaction")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myCustomMode'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("If you're using TypeScript, you'll also need to register the new mode:")]),t._v(" "),a("div",{staticClass:"language-typescript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-typescript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("declare")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("module")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("InteractionModeMap")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n myCustomMode"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" InteractionModeFunction"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/158.1f82587f.js b/scriptApl/chart.js/dist/docs/assets/js/158.1f82587f.js new file mode 100644 index 00000000..060d30c0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/158.1f82587f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[158],{487:function(t,e,a){"use strict";a.r(e);var o=a(6),d=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout"}},[t._v("#")]),t._v(" Layout")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.layout")]),t._v(", the global options for the chart layout is defined in "),a("code",[t._v("Chart.defaults.layout")]),t._v(".")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("autoPadding")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("No")]),t._v(" "),a("td",[t._v("Apply automatic padding so visible elements are completely drawn.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),a("td",[t._v("The padding to add inside the chart.")])])])])])}),[],!1,null,null,null);e.default=d.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/159.4cebd9d3.js b/scriptApl/chart.js/dist/docs/assets/js/159.4cebd9d3.js new file mode 100644 index 00000000..bdbe4c6e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/159.4cebd9d3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[159],{488:function(t,e,a){"use strict";a.r(e);var s=a(6),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"legend"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend"}},[t._v("#")]),t._v(" Legend")]),t._v(" "),a("p",[t._v("The chart legend displays data about the datasets that are appearing on the chart.")]),t._v(" "),a("h2",{attrs:{id:"configuration-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration options")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.legend")]),t._v(", the global options for the chart legend is defined in "),a("code",[t._v("Chart.defaults.plugins.legend")]),t._v(".")]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("The doughnut, pie, and polar area charts override the legend defaults. To change the overrides for those chart types, the options are defined in "),a("code",[t._v("Chart.overrides[type].plugins.legend")]),t._v(".")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Is the legend shown?")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("position")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'top'")])]),t._v(" "),a("td",[t._v("Position of the legend. "),a("a",{attrs:{href:"#position"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("align")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'center'")])]),t._v(" "),a("td",[t._v("Alignment of the legend. "),a("a",{attrs:{href:"#align"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxHeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Maximum height of the legend, in pixels")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("maxWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Maximum width of the legend, in pixels")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("fullSize")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("onClick")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("A callback that is called when a click event is registered on a label item. Arguments: "),a("code",[t._v("[event, legendItem, legend]")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("onHover")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("A callback that is called when a 'mousemove' event is registered on top of a label item. Arguments: "),a("code",[t._v("[event, legendItem, legend]")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("onLeave")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item. Arguments: "),a("code",[t._v("[event, legendItem, legend]")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("reverse")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Legend will show datasets in reverse order.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labels")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("See the "),a("a",{attrs:{href:"#legend-label-configuration"}},[t._v("Legend Label Configuration")]),t._v(" section below.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("rtl")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for rendering the legends from right to left.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textDirection")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("canvas' default")]),t._v(" "),a("td",[t._v("This will force the text direction "),a("code",[t._v("'rtl'")]),t._v(" or "),a("code",[t._v("'ltr'")]),t._v(" on the canvas for rendering the legend, regardless of the css specified on the canvas")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("title")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("See the "),a("a",{attrs:{href:"#legend-title-configuration"}},[t._v("Legend Title Configuration")]),t._v(" section below.")])])])]),t._v(" "),a("h2",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" Position")]),t._v(" "),a("p",[t._v("Position of the legend. Options are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'top'")])]),t._v(" "),a("li",[a("code",[t._v("'left'")])]),t._v(" "),a("li",[a("code",[t._v("'bottom'")])]),t._v(" "),a("li",[a("code",[t._v("'right'")])]),t._v(" "),a("li",[a("code",[t._v("'chartArea'")])])]),t._v(" "),a("p",[t._v("When using the "),a("code",[t._v("'chartArea'")]),t._v(" option the legend position is at the moment not configurable, it will always be on the left side of the chart in the middle.")]),t._v(" "),a("h2",{attrs:{id:"align"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#align"}},[t._v("#")]),t._v(" Align")]),t._v(" "),a("p",[t._v("Alignment of the legend. Options are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'start'")])]),t._v(" "),a("li",[a("code",[t._v("'center'")])]),t._v(" "),a("li",[a("code",[t._v("'end'")])])]),t._v(" "),a("p",[t._v("Defaults to "),a("code",[t._v("'center'")]),t._v(" for unrecognized values.")]),t._v(" "),a("h2",{attrs:{id:"legend-label-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend-label-configuration"}},[t._v("#")]),t._v(" Legend Label Configuration")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.legend.labels")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("boxWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("40")])]),t._v(" "),a("td",[t._v("Width of coloured box.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("boxHeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("font.size")])]),t._v(" "),a("td",[t._v("Height of the coloured box.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of label and the strikethrough.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("10")])]),t._v(" "),a("td",[t._v("Padding between rows of colored boxes.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("generateLabels")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Generates legend items for each thing in the legend. Default implementation returns the text + styling for the color box. See "),a("a",{attrs:{href:"#legend-item-interface"}},[t._v("Legend Item")]),t._v(" for details.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("filter")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("Filters legend items out of the legend. Receives 2 parameters, a "),a("a",{attrs:{href:"#legend-item-interface"}},[t._v("Legend Item")]),t._v(" and the chart data.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("sort")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("Sorts legend items. Type is : "),a("code",[t._v("sort(a: LegendItem, b: LegendItem, data: ChartData): number;")]),t._v(". Receives 3 parameters, two "),a("a",{attrs:{href:"#legend-item-interface"}},[t._v("Legend Items")]),t._v(" and the chart data. The return value of the function is a number that indicates the order of the two legend item parameters. The ordering matches the "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description",target:"_blank",rel:"noopener noreferrer"}},[t._v("return value"),a("OutboundLink")],1),t._v(" of "),a("code",[t._v("Array.prototype.sort()")])])]),t._v(" "),a("tr",[a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/configuration/elements.html#types"}},[a("code",[t._v("pointStyle")])])],1),t._v(" "),a("td",[a("code",[t._v("'circle'")])]),t._v(" "),a("td",[t._v("If specified, this style of point is used for the legend. Only used if "),a("code",[t._v("usePointStyle")]),t._v(" is true.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'center'")])]),t._v(" "),a("td",[t._v("Horizontal alignment of the label text. Options are: "),a("code",[t._v("'left'")]),t._v(", "),a("code",[t._v("'right'")]),t._v(" or "),a("code",[t._v("'center'")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("usePointStyle")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Label style will match corresponding point style (size is based on pointStyleWidth or the minimum value between boxWidth and font.size).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("pointStyleWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("If "),a("code",[t._v("usePointStyle")]),t._v(" is true, the width of the point style used for the legend (only for "),a("code",[t._v("circle")]),t._v(", "),a("code",[t._v("rect")]),t._v(" and "),a("code",[t._v("line")]),t._v(" point stlye).")])])])]),t._v(" "),a("h2",{attrs:{id:"legend-title-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend-title-configuration"}},[t._v("#")]),t._v(" Legend Title Configuration")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.legend.title")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("color")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.color")])]),t._v(" "),a("td",[t._v("Color of text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("display")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Is the legend title displayed.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("font")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[a("code",[t._v("Chart.defaults.font")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Padding around the title.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("text")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("The string title.")])])])]),t._v(" "),a("h2",{attrs:{id:"legend-item-interface"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend-item-interface"}},[t._v("#")]),t._v(" Legend Item Interface")]),t._v(" "),a("p",[t._v("Items passed to the legend "),a("code",[t._v("onClick")]),t._v(" function are the ones returned from "),a("code",[t._v("labels.generateLabels")]),t._v(". These items must implement the following interface.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Label that will be displayed")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Border radius of the legend item.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Introduced in 3.1.0")]),t._v("\n borderRadius"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" BorderRadius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Index of the associated dataset")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasetIndex")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Fill style of the legend box")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fillStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Text color")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("fontColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("hidden")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" boolean"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For box border. See https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("lineCap")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("lineDash")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("lineDashOffset")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("lineJoin")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Width of box border")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("lineWidth")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Stroke style of the legend box")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("strokeStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Point style of the legend box (only used if usePointStyle is true)")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("pointStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" Image "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" HTMLCanvasElement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Rotation of the point in degrees (only used if usePointStyle is true)")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("rotation")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"example"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#example"}},[t._v("#")]),t._v(" Example")]),t._v(" "),a("p",[t._v("The following example will create a chart with the legend enabled and turn all of the text red in color.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("legend")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 99, 132)'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"custom-on-click-actions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#custom-on-click-actions"}},[t._v("#")]),t._v(" Custom On Click Actions")]),t._v(" "),a("p",[t._v("It can be common to want to trigger different behaviour when clicking an item in the legend. This can be easily achieved using a callback in the config object.")]),t._v(" "),a("p",[t._v("The default legend click handler is:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legend")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasetIndex"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ci "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("isDatasetVisible")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("hide")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hidden "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("show")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hidden "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("Lets say we wanted instead to link the display of the first two datasets. We could change the click handler accordingly.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" defaultLegendClickHandler "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("plugins"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("onClick"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" pieDoughnutLegendClickHandler "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("controllers"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("doughnut"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("overrides"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("plugins"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("onClick"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("newLegendClickHandler")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legend")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasetIndex"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" type "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Do the original logic")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("type "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'pie'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" type "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'doughnut'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("pieDoughnutLegendClickHandler")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("defaultLegendClickHandler")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("e"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legendItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" ci "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" legend"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getDatasetMeta")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getDatasetMeta")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("forEach")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("meta")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n meta"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hidden "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" meta"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hidden "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hidden "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ci"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("legend")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("onClick")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" newLegendClickHandler\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Now when you click the legend in this chart, the visibility of the first two datasets will be linked together.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/16.0414f390.js b/scriptApl/chart.js/dist/docs/assets/js/16.0414f390.js new file mode 100644 index 00000000..37f080cc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/16.0414f390.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{347:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-datasetcontroller-ttype-telement-tdatasetelement-tparseddata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-datasetcontroller-ttype-telement-tdatasetelement-tparseddata"}},[t._v("#")]),t._v(" Class: DatasetController")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TDatasetElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TParsedData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#parseddatatype"}},[a("code",[t._v("ParsedDataType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("DatasetController")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutController.html"}},[a("code",[t._v("DoughnutController")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new DatasetController")]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TParsedData")]),t._v(">("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(")")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(" = keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("TElement")]),t._v("> = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TDatasetElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v("> = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TParsedData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#parseddatatype"}},[a("code",[t._v("ParsedDataType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L579",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:579"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"cachedmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cachedmeta"}},[t._v("#")]),t._v(" _cachedMeta")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("_cachedMeta")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L583",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:583"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L581",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:581"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"enableoptionsharing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enableoptionsharing"}},[t._v("#")]),t._v(" enableOptionSharing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("enableOptionSharing")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L584",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:584"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L582",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:582"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"supportsdecimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#supportsdecimation"}},[t._v("#")]),t._v(" supportsDecimation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("supportsDecimation")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L588",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:588"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"addelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addelements"}},[t._v("#")]),t._v(" addElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addElements")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L604",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:604"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"applystack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#applystack"}},[t._v("#")]),t._v(" applyStack")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("applyStack")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:640"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildorupdateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildorupdateelements"}},[t._v("#")]),t._v(" buildOrUpdateElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildOrUpdateElements")]),t._v("("),a("code",[t._v("resetNewElements?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("resetNewElements?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L605",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:605"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L602",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:602"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L597",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:597"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getallparsedvalues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getallparsedvalues"}},[t._v("#")]),t._v(" getAllParsedValues")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getAllParsedValues")]),t._v("("),a("code",[t._v("scale")]),t._v("): "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L591",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:591"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdataset"}},[t._v("#")]),t._v(" getDataset")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDataset")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L599",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:599"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelandvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelandvalue"}},[t._v("#")]),t._v(" getLabelAndValue")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getLabelAndValue")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("label")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:592"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaxoverflow"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaxoverflow"}},[t._v("#")]),t._v(" getMaxOverflow")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMaxOverflow")]),t._v("(): "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L596",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:596"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmeta"}},[t._v("#")]),t._v(" getMeta")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMeta")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L600",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:600"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("canStack?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L647",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:647"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getparsed"}},[t._v("#")]),t._v(" getParsed")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getParsed")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("TParsedData")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("TParsedData")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L639",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:639"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getscaleforid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getscaleforid"}},[t._v("#")]),t._v(" getScaleForId")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getScaleForId")]),t._v("("),a("code",[t._v("scaleID")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scaleID")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getsharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getsharedoptions"}},[t._v("#")]),t._v(" getSharedOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getSharedOptions")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("p",[t._v("Utility for checking if the options are shared and should be animated separately.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L614",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:614"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getstyle"}},[t._v("#")]),t._v(" getStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getStyle")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("active")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("active")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L607",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:607"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"includeoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#includeoptions"}},[t._v("#")]),t._v(" includeOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("includeOptions")]),t._v("("),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("sharedOptions")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Utility for determining if "),a("code",[t._v("options")]),t._v(" should be included in the updated properties")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L619",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:619"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"initialize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#initialize"}},[t._v("#")]),t._v(" initialize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("initialize")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L603",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:603"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linkscales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linkscales"}},[t._v("#")]),t._v(" linkScales")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("linkScales")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L590",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:590"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L635",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:635"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsearraydata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsearraydata"}},[t._v("#")]),t._v(" parseArrayData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseArrayData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L637",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:637"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseobjectdata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseobjectdata"}},[t._v("#")]),t._v(" parseObjectData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseObjectData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L638",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:638"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseprimitivedata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseprimitivedata"}},[t._v("#")]),t._v(" parsePrimitiveData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parsePrimitiveData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L636",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:636"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removehoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removehoverstyle"}},[t._v("#")]),t._v(" removeHoverStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("removeHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L632",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:632"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("reset")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L598",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:598"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedataelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedataelementoptions"}},[t._v("#")]),t._v(" resolveDataElementOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDataElementOptions")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L609",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:609"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedatasetelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedatasetelementoptions"}},[t._v("#")]),t._v(" resolveDatasetElementOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDatasetElementOptions")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L608",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:608"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"sethoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sethoverstyle"}},[t._v("#")]),t._v(" setHoverStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L633",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:633"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L594",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:594"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelement"}},[t._v("#")]),t._v(" updateElement")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateElement")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("properties")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility for updating an element with new properties, using animations when appropriate.")]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")]),t._v(" | "),a("code",[t._v("TDatasetElement")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("properties")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L625",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:625"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelements"}},[t._v("#")]),t._v(" updateElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateElements")]),t._v("("),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L593",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:593"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateindex"}},[t._v("#")]),t._v(" updateIndex")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateIndex")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L595",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:595"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updaterangefromparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updaterangefromparsed"}},[t._v("#")]),t._v(" updateRangeFromParsed")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateRangeFromParsed")]),t._v("("),a("code",[t._v("range")]),t._v(", "),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v(", "),a("code",[t._v("stack")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("stack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L641",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:641"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatesharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatesharedoptions"}},[t._v("#")]),t._v(" updateSharedOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateSharedOptions")]),t._v("("),a("code",[t._v("sharedOptions")]),t._v(", "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("newOptions")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility to animate the shared options, that are potentially affecting multiple elements.")]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("newOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L631",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:631"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/160.47df8215.js b/scriptApl/chart.js/dist/docs/assets/js/160.47df8215.js new file mode 100644 index 00000000..68a3ee63 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/160.47df8215.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{489:function(e,t,o){"use strict";o.r(t);var a=o(6),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"locale"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#locale"}},[e._v("#")]),e._v(" Locale")]),e._v(" "),o("p",[e._v("For applications where the numbers of ticks on scales must be formatted accordingly with a language sensitive number formatting, you can enable this kind of formatting by setting the "),o("code",[e._v("locale")]),e._v(" option.")]),e._v(" "),o("p",[e._v("The locale is a string that is a "),o("a",{attrs:{href:"https://www.unicode.org/reports/tr35/tr35.html#BCP_47_Conformance",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unicode BCP 47 locale identifier"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("A Unicode BCP 47 locale identifier consists of")]),e._v(" "),o("ol",[o("li",[e._v("a language code,")]),e._v(" "),o("li",[e._v("(optionally) a script code,")]),e._v(" "),o("li",[e._v("(optionally) a region (or country) code,")]),e._v(" "),o("li",[e._v("(optionally) one or more variant codes, and")]),e._v(" "),o("li",[e._v("(optionally) one or more extension sequences,")])]),e._v(" "),o("p",[e._v("with all present components separated by hyphens.")]),e._v(" "),o("p",[e._v("By default the chart is using the default locale of the platform which is running on.")]),e._v(" "),o("h2",{attrs:{id:"configuration-options"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[e._v("#")]),e._v(" Configuration Options")]),e._v(" "),o("p",[e._v("Namespace: "),o("code",[e._v("options")])]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Name")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Default")]),e._v(" "),o("th",[e._v("Description")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[o("code",[e._v("locale")])]),e._v(" "),o("td",[o("code",[e._v("string")])]),e._v(" "),o("td",[o("code",[e._v("undefined")])]),e._v(" "),o("td",[e._v("a string with a BCP 47 language tag, leveraging on "),o("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat",target:"_blank",rel:"noopener noreferrer"}},[e._v("INTL NumberFormat"),o("OutboundLink")],1),e._v(".")])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/161.fac79692.js b/scriptApl/chart.js/dist/docs/assets/js/161.fac79692.js new file mode 100644 index 00000000..aab35332 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/161.fac79692.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{490:function(t,a,e){"use strict";e.r(a);var s=e(6),n=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"responsive-charts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#responsive-charts"}},[t._v("#")]),t._v(" Responsive Charts")]),t._v(" "),e("p",[t._v("When it comes to changing the chart size based on the window size, a major limitation is that the canvas "),e("em",[t._v("render")]),t._v(" size ("),e("code",[t._v("canvas.width")]),t._v(" and "),e("code",[t._v(".height")]),t._v(") can "),e("strong",[t._v("not")]),t._v(" be expressed with relative values, contrary to the "),e("em",[t._v("display")]),t._v(" size ("),e("code",[t._v("canvas.style.width")]),t._v(" and "),e("code",[t._v(".height")]),t._v("). Furthermore, these sizes are independent from each other and thus the canvas "),e("em",[t._v("render")]),t._v(" size does not adjust automatically based on the "),e("em",[t._v("display")]),t._v(" size, making the rendering inaccurate.")]),t._v(" "),e("p",[t._v("The following examples "),e("strong",[t._v("do not work")]),t._v(":")]),t._v(" "),e("ul",[e("li",[e("code",[t._v('')]),t._v(": "),e("strong",[t._v("invalid")]),t._v(" values, the canvas doesn't resize ("),e("a",{attrs:{href:"https://codepen.io/chartjs/pen/oWLZaR",target:"_blank",rel:"noopener noreferrer"}},[t._v("example"),e("OutboundLink")],1),t._v(")")]),t._v(" "),e("li",[e("code",[t._v('')]),t._v(": "),e("strong",[t._v("invalid")]),t._v(" behavior, the canvas is resized but becomes blurry ("),e("a",{attrs:{href:"https://codepen.io/chartjs/pen/WjxpmO",target:"_blank",rel:"noopener noreferrer"}},[t._v("example"),e("OutboundLink")],1),t._v(")")]),t._v(" "),e("li",[e("code",[t._v('')]),t._v(": "),e("strong",[t._v("invalid")]),t._v(" behavior, the canvas continually shrinks. Chart.js needs a dedicated container for each canvas and this styling should be applied there.")])]),t._v(" "),e("p",[t._v("Chart.js provides a "),e("a",{attrs:{href:"#configuration-options"}},[t._v("few options")]),t._v(" to enable responsiveness and control the resize behavior of charts by detecting when the canvas "),e("em",[t._v("display")]),t._v(" size changes and update the "),e("em",[t._v("render")]),t._v(" size accordingly.")]),t._v(" "),e("h2",{attrs:{id:"configuration-options"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configuration-options"}},[t._v("#")]),t._v(" Configuration Options")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("responsive")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",[t._v("Resizes the chart canvas when its container does ("),e("a",{attrs:{href:"#important-note"}},[t._v("important note...")]),t._v(").")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("maintainAspectRatio")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",[t._v("Maintain the original canvas aspect ratio "),e("code",[t._v("(width / height)")]),t._v(" when resizing.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("aspectRatio")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("1")]),t._v("|"),e("code",[t._v("2")])]),t._v(" "),e("td",[t._v("Canvas aspect ratio (i.e. "),e("code",[t._v("width / height")]),t._v(", a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style. The default value varies by chart type; Radial charts (doughnut, pie, polarArea, radar) default to "),e("code",[t._v("1")]),t._v(" and others default to "),e("code",[t._v("2")]),t._v(".")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("onResize")])]),t._v(" "),e("td",[e("code",[t._v("function")])]),t._v(" "),e("td",[e("code",[t._v("null")])]),t._v(" "),e("td",[t._v("Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("resizeDelay")])]),t._v(" "),e("td",[e("code",[t._v("number")])]),t._v(" "),e("td",[e("code",[t._v("0")])]),t._v(" "),e("td",[t._v("Delay the resize update by the given amount of milliseconds. This can ease the resize process by debouncing the update of the elements.")])])])]),t._v(" "),e("h2",{attrs:{id:"important-note"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#important-note"}},[t._v("#")]),t._v(" Important Note")]),t._v(" "),e("p",[t._v("Detecting when the canvas size changes can not be done directly from the "),e("code",[t._v("canvas")]),t._v(" element. Chart.js uses its parent container to update the canvas "),e("em",[t._v("render")]),t._v(" and "),e("em",[t._v("display")]),t._v(" sizes. However, this method requires the container to be "),e("strong",[t._v("relatively positioned")]),t._v(" and "),e("strong",[t._v("dedicated to the chart canvas only")]),t._v(". Responsiveness can then be achieved by setting relative values for the container size ("),e("a",{attrs:{href:"https://codepen.io/chartjs/pen/YVWZbz",target:"_blank",rel:"noopener noreferrer"}},[t._v("example"),e("OutboundLink")],1),t._v("):")]),t._v(" "),e("div",{staticClass:"language-html extra-class"},[e("pre",{pre:!0,attrs:{class:"language-html"}},[e("code",[e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),e("span",{pre:!0,attrs:{class:"token attr-value"}},[e("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("chart-container"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),e("span",{pre:!0,attrs:{class:"token special-attr"}},[e("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("style")]),e("span",{pre:!0,attrs:{class:"token attr-value"}},[e("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),e("span",{pre:!0,attrs:{class:"token value css language-css"}},[e("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("40vh"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("80vw")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])])]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),e("span",{pre:!0,attrs:{class:"token attr-value"}},[e("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token tag"}},[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),e("p",[t._v("The chart can also be programmatically resized by modifying the container size:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("canvas"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("parentNode"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("height "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'128px'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nchart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("canvas"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("parentNode"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("width "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'128px'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("Note that in order for the above code to correctly resize the chart height, the "),e("a",{attrs:{href:"#configuration-options"}},[e("code",[t._v("maintainAspectRatio")])]),t._v(" option must also be set to "),e("code",[t._v("false")]),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"printing-resizable-charts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#printing-resizable-charts"}},[t._v("#")]),t._v(" Printing Resizable Charts")]),t._v(" "),e("p",[t._v("CSS media queries allow changing styles when printing a page. The CSS applied from these media queries may cause charts to need to resize. However, the resize won't happen automatically. To support resizing charts when printing, you need to hook the "),e("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeprint",target:"_blank",rel:"noopener noreferrer"}},[t._v("onbeforeprint"),e("OutboundLink")],1),t._v(" event and manually trigger resizing of each chart.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("beforePrintHandler")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" id "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" Chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("instances"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Chart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("instances"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("id"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("You may also find that, due to complexities in when the browser lays out the document for printing and when resize events are fired, Chart.js is unable to properly resize for the print layout. To work around this, you can pass an explicit size to "),e("code",[t._v(".resize()")]),t._v(" then use an "),e("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onafterprint",target:"_blank",rel:"noopener noreferrer"}},[t._v("onafterprint"),e("OutboundLink")],1),t._v(" event to restore the automatic size when done.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[t._v("window"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("addEventListener")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'beforeprint'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n myChart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("600")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("600")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nwindow"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("addEventListener")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'afterprint'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n myChart"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/162.9f2f870f.js b/scriptApl/chart.js/dist/docs/assets/js/162.9f2f870f.js new file mode 100644 index 00000000..fcbfe2d0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/162.9f2f870f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[162],{491:function(t,a,s){"use strict";s.r(a);var e=s(6),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"subtitle"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#subtitle"}},[t._v("#")]),t._v(" Subtitle")]),t._v(" "),s("p",[t._v("Subtitle is a second title placed under the main title, by default. It has exactly the same configuration options with the main "),s("RouterLink",{attrs:{to:"/configuration/title.html"}},[t._v("title")]),t._v(".")],1),t._v(" "),s("h2",{attrs:{id:"subtitle-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#subtitle-configuration"}},[t._v("#")]),t._v(" Subtitle Configuration")]),t._v(" "),s("p",[t._v("Namespace: "),s("code",[t._v("options.plugins.subtitle")]),t._v(". The global defaults for subtitle are configured in "),s("code",[t._v("Chart.defaults.plugins.subtitle")]),t._v(".")]),t._v(" "),s("p",[t._v("Exactly the same configuration options with "),s("RouterLink",{attrs:{to:"/configuration/title.html"}},[t._v("title")]),t._v(" are available for subtitle, the namespaces only differ.")],1),t._v(" "),s("h2",{attrs:{id:"example-usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#example-usage"}},[t._v("#")]),t._v(" Example Usage")]),t._v(" "),s("p",[t._v("The example below would enable a title of 'Custom Chart Subtitle' on the chart that is created.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("subtitle")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("text")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Custom Chart Subtitle'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/163.4f1604f9.js b/scriptApl/chart.js/dist/docs/assets/js/163.4f1604f9.js new file mode 100644 index 00000000..b2cc8385 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/163.4f1604f9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{492:function(t,a,e){"use strict";e.r(a);var s=e(6),r=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"title"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" Title")]),t._v(" "),e("p",[t._v("The chart title defines text to draw at the top of the chart.")]),t._v(" "),e("h2",{attrs:{id:"title-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#title-configuration"}},[t._v("#")]),t._v(" Title Configuration")]),t._v(" "),e("p",[t._v("Namespace: "),e("code",[t._v("options.plugins.title")]),t._v(", the global options for the chart title is defined in "),e("code",[t._v("Chart.defaults.plugins.title")]),t._v(".")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Name")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Default")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable")])],1),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("code",[t._v("align")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'center'")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Alignment of the title. "),e("a",{attrs:{href:"#align"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("color")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/colors.html"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("td",[e("code",[t._v("Chart.defaults.color")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Color of text.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("display")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("false")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Is the title shown?")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("fullSize")])]),t._v(" "),e("td",[e("code",[t._v("boolean")])]),t._v(" "),e("td",[e("code",[t._v("true")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Marks that this box should take the full width/height of the canvas. If "),e("code",[t._v("false")]),t._v(", the box is sized and placed above/beside the chart area.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("position")])]),t._v(" "),e("td",[e("code",[t._v("string")])]),t._v(" "),e("td",[e("code",[t._v("'top'")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Position of title. "),e("a",{attrs:{href:"#position"}},[t._v("more...")])])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("font")])]),t._v(" "),e("td",[e("code",[t._v("Font")])]),t._v(" "),e("td",[e("code",[t._v("{weight: 'bold'}")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("See "),e("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")])],1)]),t._v(" "),e("tr",[e("td",[e("code",[t._v("padding")])]),t._v(" "),e("td",[e("RouterLink",{attrs:{to:"/general/padding.html"}},[e("code",[t._v("Padding")])])],1),t._v(" "),e("td",[e("code",[t._v("10")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Padding to apply around the title. Only "),e("code",[t._v("top")]),t._v(" and "),e("code",[t._v("bottom")]),t._v(" are implemented.")])]),t._v(" "),e("tr",[e("td",[e("code",[t._v("text")])]),t._v(" "),e("td",[e("code",[t._v("string")]),t._v("|"),e("code",[t._v("string[]")])]),t._v(" "),e("td",[e("code",[t._v("''")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("Yes")]),t._v(" "),e("td",[t._v("Title text to display. If specified as an array, text is rendered on multiple lines.")])])])]),t._v(" "),e("h3",{attrs:{id:"position"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" Position")]),t._v(" "),e("p",[t._v("Possible title position values are:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("'top'")])]),t._v(" "),e("li",[e("code",[t._v("'left'")])]),t._v(" "),e("li",[e("code",[t._v("'bottom'")])]),t._v(" "),e("li",[e("code",[t._v("'right'")])])]),t._v(" "),e("h2",{attrs:{id:"align"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#align"}},[t._v("#")]),t._v(" Align")]),t._v(" "),e("p",[t._v("Alignment of the title. Options are:")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("'start'")])]),t._v(" "),e("li",[e("code",[t._v("'center'")])]),t._v(" "),e("li",[e("code",[t._v("'end'")])])]),t._v(" "),e("h2",{attrs:{id:"example-usage"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-usage"}},[t._v("#")]),t._v(" Example Usage")]),t._v(" "),e("p",[t._v("The example below would enable a title of 'Custom Chart Title' on the chart that is created.")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("text")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Custom Chart Title'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),e("p",[t._v("This example shows how to specify separate top and bottom title text padding:")]),t._v(" "),e("div",{staticClass:"language-javascript extra-class"},[e("pre",{pre:!0,attrs:{class:"language-javascript"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("text")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Custom Chart Title'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("padding")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("top")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bottom")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/164.7f8d8643.js b/scriptApl/chart.js/dist/docs/assets/js/164.7f8d8643.js new file mode 100644 index 00000000..c097aadf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/164.7f8d8643.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{493:function(t,s,a){"use strict";a.r(s);var e=a(6),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" Tooltip")]),t._v(" "),a("h2",{attrs:{id:"tooltip-configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip-configuration"}},[t._v("#")]),t._v(" Tooltip Configuration")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.tooltip")]),t._v(", the global options for the chart tooltips is defined in "),a("code",[t._v("Chart.defaults.plugins.tooltip")]),t._v(".")]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("The bubble, doughnut, pie, polar area, and scatter charts override the tooltip defaults. To change the overrides for those chart types, the options are defined in "),a("code",[t._v("Chart.overrides[type].plugins.tooltip")]),t._v(".")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Type")]),t._v(" "),a("th",[t._v("Default")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("enabled")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("Are on-canvas tooltips enabled?")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("external")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td",[a("code",[t._v("null")])]),t._v(" "),a("td",[t._v("See "),a("a",{attrs:{href:"#external-custom-tooltips"}},[t._v("external tooltip")]),t._v(" section.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("mode")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("interaction.mode")])]),t._v(" "),a("td",[t._v("Sets which elements appear in the tooltip. "),a("RouterLink",{attrs:{to:"/configuration/interactions.html#modes"}},[t._v("more...")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("intersect")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("interaction.intersect")])]),t._v(" "),a("td",[t._v("If true, the tooltip mode applies only when the mouse position intersects with an element. If false, the mode will be applied at all times.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("position")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'average'")])]),t._v(" "),a("td",[t._v("The mode for positioning the tooltip. "),a("a",{attrs:{href:"#position-modes"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("callbacks")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("See the "),a("a",{attrs:{href:"#tooltip-callbacks"}},[t._v("callbacks section")]),t._v(".")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("itemSort")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Sort tooltip items. "),a("a",{attrs:{href:"#sort-callback"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("filter")])]),t._v(" "),a("td",[a("code",[t._v("function")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Filter tooltip items. "),a("a",{attrs:{href:"#filter-callback"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("backgroundColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0.8)'")])]),t._v(" "),a("td",[t._v("Background color of the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("titleColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'#fff'")])]),t._v(" "),a("td",[t._v("Color of title text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("titleFont")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[a("code",[t._v("{weight: 'bold'}")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("titleAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'left'")])]),t._v(" "),a("td",[t._v("Horizontal alignment of the title text lines. "),a("a",{attrs:{href:"#text-alignment"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("titleSpacing")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Spacing to add to top and bottom of each title line.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("titleMarginBottom")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("6")])]),t._v(" "),a("td",[t._v("Margin to add on bottom of title section.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("bodyColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'#fff'")])]),t._v(" "),a("td",[t._v("Color of body text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("bodyFont")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[a("code",[t._v("{}")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("bodyAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'left'")])]),t._v(" "),a("td",[t._v("Horizontal alignment of the body text lines. "),a("a",{attrs:{href:"#text-alignment"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("bodySpacing")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Spacing to add to top and bottom of each tooltip item.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footerColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'#fff'")])]),t._v(" "),a("td",[t._v("Color of footer text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footerFont")])]),t._v(" "),a("td",[a("code",[t._v("Font")])]),t._v(" "),a("td",[a("code",[t._v("{weight: 'bold'}")])]),t._v(" "),a("td",[t._v("See "),a("RouterLink",{attrs:{to:"/general/fonts.html"}},[t._v("Fonts")]),t._v(".")],1)]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footerAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("'left'")])]),t._v(" "),a("td",[t._v("Horizontal alignment of the footer text lines. "),a("a",{attrs:{href:"#text-alignment"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footerSpacing")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Spacing to add to top and bottom of each footer line.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footerMarginTop")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("6")])]),t._v(" "),a("td",[t._v("Margin to add before drawing the footer.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("padding")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/padding.html"}},[a("code",[t._v("Padding")])])],1),t._v(" "),a("td",[a("code",[t._v("6")])]),t._v(" "),a("td",[t._v("Padding inside the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("caretPadding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("2")])]),t._v(" "),a("td",[t._v("Extra distance to move the end of the tooltip arrow away from the tooltip point.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("caretSize")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("5")])]),t._v(" "),a("td",[t._v("Size, in px, of the tooltip arrow.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("cornerRadius")])]),t._v(" "),a("td",[a("code",[t._v("number")]),t._v("|"),a("code",[t._v("object")])]),t._v(" "),a("td",[a("code",[t._v("6")])]),t._v(" "),a("td",[t._v("Radius of tooltip corner curves.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("multiKeyBackground")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'#fff'")])]),t._v(" "),a("td",[t._v("Color to draw behind the colored boxes when multiple items are in the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("displayColors")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("true")])]),t._v(" "),a("td",[t._v("If true, color boxes are shown in the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("boxWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("bodyFont.size")])]),t._v(" "),a("td",[t._v("Width of the color box if displayColors is true.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("boxHeight")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("bodyFont.size")])]),t._v(" "),a("td",[t._v("Height of the color box if displayColors is true.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("boxPadding")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("1")])]),t._v(" "),a("td",[t._v("Padding between the color box and the text.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("usePointStyle")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td",[a("code",[t._v("false")])]),t._v(" "),a("td",[t._v("Use the corresponding point style (from dataset options) instead of color boxes, ex: star, triangle etc. (size is based on the minimum value between boxWidth and boxHeight).")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderColor")])]),t._v(" "),a("td",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",[a("code",[t._v("'rgba(0, 0, 0, 0)'")])]),t._v(" "),a("td",[t._v("Color of the border.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("borderWidth")])]),t._v(" "),a("td",[a("code",[t._v("number")])]),t._v(" "),a("td",[a("code",[t._v("0")])]),t._v(" "),a("td",[t._v("Size of the border.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("rtl")])]),t._v(" "),a("td",[a("code",[t._v("boolean")])]),t._v(" "),a("td"),t._v(" "),a("td",[a("code",[t._v("true")]),t._v(" for rendering the tooltip from right to left.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("textDirection")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[t._v("canvas' default")]),t._v(" "),a("td",[t._v("This will force the text direction "),a("code",[t._v("'rtl' or 'ltr")]),t._v(" on the canvas for rendering the tooltips, regardless of the css specified on the canvas")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("xAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("undefined")])]),t._v(" "),a("td",[t._v("Position of the tooltip caret in the X direction. "),a("a",{attrs:{href:"#tooltip-alignment"}},[t._v("more")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("yAlign")])]),t._v(" "),a("td",[a("code",[t._v("string")])]),t._v(" "),a("td",[a("code",[t._v("undefined")])]),t._v(" "),a("td",[t._v("Position of the tooltip caret in the Y direction. "),a("a",{attrs:{href:"#tooltip-alignment"}},[t._v("more")])])])])]),t._v(" "),a("h3",{attrs:{id:"position-modes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position-modes"}},[t._v("#")]),t._v(" Position Modes")]),t._v(" "),a("p",[t._v("Possible modes are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'average'")])]),t._v(" "),a("li",[a("code",[t._v("'nearest'")])])]),t._v(" "),a("p",[a("code",[t._v("'average'")]),t._v(" mode will place the tooltip at the average position of the items displayed in the tooltip. "),a("code",[t._v("'nearest'")]),t._v(" will place the tooltip at the position of the element closest to the event position.")]),t._v(" "),a("p",[t._v("You can also define "),a("a",{attrs:{href:"#custom-position-modes"}},[t._v("custom position modes")]),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"tooltip-alignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip-alignment"}},[t._v("#")]),t._v(" Tooltip Alignment")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("xAlign")]),t._v(" and "),a("code",[t._v("yAlign")]),t._v(" options define the position of the tooltip caret. If these parameters are unset, the optimal caret position is determined.")]),t._v(" "),a("p",[t._v("The following values for the "),a("code",[t._v("xAlign")]),t._v(" setting are supported.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'left'")])]),t._v(" "),a("li",[a("code",[t._v("'center'")])]),t._v(" "),a("li",[a("code",[t._v("'right'")])])]),t._v(" "),a("p",[t._v("The following values for the "),a("code",[t._v("yAlign")]),t._v(" setting are supported.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'top'")])]),t._v(" "),a("li",[a("code",[t._v("'center'")])]),t._v(" "),a("li",[a("code",[t._v("'bottom'")])])]),t._v(" "),a("h3",{attrs:{id:"text-alignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#text-alignment"}},[t._v("#")]),t._v(" Text Alignment")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("titleAlign")]),t._v(", "),a("code",[t._v("bodyAlign")]),t._v(" and "),a("code",[t._v("footerAlign")]),t._v(" options define the horizontal position of the text lines with respect to the tooltip box. The following values are supported.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("'left'")]),t._v(" (default)")]),t._v(" "),a("li",[a("code",[t._v("'right'")])]),t._v(" "),a("li",[a("code",[t._v("'center'")])])]),t._v(" "),a("p",[t._v("These options are only applied to text lines. Color boxes are always aligned to the left edge.")]),t._v(" "),a("h3",{attrs:{id:"sort-callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sort-callback"}},[t._v("#")]),t._v(" Sort Callback")]),t._v(" "),a("p",[t._v("Allows sorting of "),a("a",{attrs:{href:"#tooltip-item-context"}},[t._v("tooltip items")]),t._v(". Must implement at minimum a function that can be passed to "),a("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort",target:"_blank",rel:"noopener noreferrer"}},[t._v("Array.prototype.sort"),a("OutboundLink")],1),t._v(". This function can also accept a third parameter that is the data object passed to the chart.")]),t._v(" "),a("h3",{attrs:{id:"filter-callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#filter-callback"}},[t._v("#")]),t._v(" Filter Callback")]),t._v(" "),a("p",[t._v("Allows filtering of "),a("a",{attrs:{href:"#tooltip-item-context"}},[t._v("tooltip items")]),t._v(". Must implement at minimum a function that can be passed to "),a("a",{attrs:{href:"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter",target:"_blank",rel:"noopener noreferrer"}},[t._v("Array.prototype.filter"),a("OutboundLink")],1),t._v(". This function can also accept a fourth parameter that is the data object passed to the chart.")]),t._v(" "),a("h2",{attrs:{id:"tooltip-callbacks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip-callbacks"}},[t._v("#")]),t._v(" Tooltip Callbacks")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("options.plugins.tooltip.callbacks")]),t._v(", the tooltip has the following callbacks for providing text. For all functions, "),a("code",[t._v("this")]),t._v(" will be the tooltip object created from the "),a("code",[t._v("Tooltip")]),t._v(" constructor.")]),t._v(" "),a("p",[t._v("Namespace: "),a("code",[t._v("data.datasets[].tooltip.callbacks")]),t._v(", items marked with "),a("code",[t._v("Yes")]),t._v(" in the column "),a("code",[t._v("Dataset override")]),t._v(" can be overridden per dataset.")]),t._v(" "),a("p",[t._v("A "),a("a",{attrs:{href:"#tooltip-item-context"}},[t._v("tooltip item context")]),t._v(" is generated for each item that appears in the tooltip. This is the primary model that the callback methods interact with. For functions that return text, arrays of strings are treated as multiple lines of text.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Name")]),t._v(" "),a("th",[t._v("Arguments")]),t._v(" "),a("th",[t._v("Return Type")]),t._v(" "),a("th",[t._v("Dataset override")]),t._v(" "),a("th",[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("code",[t._v("beforeTitle")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns the text to render before the title.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("title")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render as the title of the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("afterTitle")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render after the title.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("beforeBody")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render before the body section.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("beforeLabel")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns text to render before an individual label. This will be called for each item in the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("label")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns text to render for an individual item in the tooltip. "),a("a",{attrs:{href:"#label-callback"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelColor")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns the colors to render for the tooltip item. "),a("a",{attrs:{href:"#label-color-callback"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelTextColor")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("Color")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns the colors for the text of the label for the tooltip item.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("labelPointStyle")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("object")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns the point style to use instead of color boxes if usePointStyle is true (object with values "),a("code",[t._v("pointStyle")]),t._v(" and "),a("code",[t._v("rotation")]),t._v("). Default implementation uses the point style from the dataset points. "),a("a",{attrs:{href:"#label-point-style-callback"}},[t._v("more...")])])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("afterLabel")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td",[t._v("Yes")]),t._v(" "),a("td",[t._v("Returns text to render after an individual label.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("afterBody")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render after the body section.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("beforeFooter")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render before the footer section.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("footer")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Returns text to render as the footer of the tooltip.")])]),t._v(" "),a("tr",[a("td",[a("code",[t._v("afterFooter")])]),t._v(" "),a("td",[a("code",[t._v("TooltipItem[]")])]),t._v(" "),a("td",[a("code",[t._v("string | string[]")])]),t._v(" "),a("td"),t._v(" "),a("td",[t._v("Text to render after the footer section.")])])])]),t._v(" "),a("h3",{attrs:{id:"label-callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label-callback"}},[t._v("#")]),t._v(" Label Callback")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("label")]),t._v(" callback can change the text that displays for a given data point. A common example to show a unit. The example below puts a "),a("code",[t._v("'$'")]),t._v(" before every row.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("callbacks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" label "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("dataset"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("label "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("label"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n label "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("': '")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("parsed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!==")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n label "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Intl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NumberFormat")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'en-US'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("style")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'currency'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("currency")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'USD'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("format")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("parsed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" label"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"label-color-callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label-color-callback"}},[t._v("#")]),t._v(" Label Color Callback")]),t._v(" "),a("p",[t._v("For example, to return a red box with a blue dashed border that has a border radius for each item in the tooltip you could do:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("callbacks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("labelColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(0, 0, 255)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 0, 0)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderWidth")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderDash")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderRadius")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("labelTextColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#543453'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"label-point-style-callback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label-point-style-callback"}},[t._v("#")]),t._v(" Label Point Style Callback")]),t._v(" "),a("p",[t._v("For example, to draw triangles instead of the regular color box for each item in the tooltip you could do:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("usePointStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("callbacks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("labelPointStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("pointStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'triangle'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("rotation")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"tooltip-item-context"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip-item-context"}},[t._v("#")]),t._v(" Tooltip Item Context")]),t._v(" "),a("p",[t._v("The tooltip items passed to the tooltip callbacks implement the following interface.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The chart the tooltip is being shown on")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("chart")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Chart\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Label for the tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Parsed data values for the given `dataIndex` and `datasetIndex`")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsed")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" object"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Raw data values for the given `dataIndex` and `datasetIndex`")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("raw")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" object"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Formatted value for the tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("formattedValue")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The dataset the item comes from")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("dataset")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" object\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Index of the dataset the item comes from")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasetIndex")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Index of this data item in the dataset")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("dataIndex")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The chart element (point, arc, bar, etc.) for this tooltip item")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("element")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Element"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"external-custom-tooltips"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#external-custom-tooltips"}},[t._v("#")]),t._v(" External (Custom) Tooltips")]),t._v(" "),a("p",[t._v("External tooltips allow you to hook into the tooltip rendering process so that you can render the tooltip in your own custom way. Generally this is used to create an HTML tooltip instead of an on-canvas tooltip. The "),a("code",[t._v("external")]),t._v(" option takes a function which is passed a context parameter containing the "),a("code",[t._v("chart")]),t._v(" and "),a("code",[t._v("tooltip")]),t._v(". You can enable external tooltips in the global or chart configuration like so:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myPieChart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'pie'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Disable the on-canvas tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("enabled")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("external")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Tooltip Element")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" tooltipEl "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chartjs-tooltip'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Create element on first render")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n tooltipEl "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("createElement")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'div'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chartjs-tooltip'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("innerHTML "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'
'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("body"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("appendChild")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Hide if no tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" tooltipModel "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("tooltip"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("opacity "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("opacity "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Set caret Position")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("classList"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("remove")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'above'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'below'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'no-transform'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("yAlign"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("classList"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("add")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("yAlign"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("classList"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("add")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'no-transform'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getBody")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("bodyItem")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" bodyItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("lines"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Set Text")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("body"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" titleLines "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("title "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bodyLines "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("body"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("map")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("getBody"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" innerHtml "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n titleLines"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("forEach")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("title")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n innerHtml "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" title "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n innerHtml "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n bodyLines"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("forEach")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("body"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" i")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" colors "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("labelColors"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" style "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'background:'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" colors"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("backgroundColor"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n style "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'; border-color:'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" colors"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("borderColor"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n style "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'; border-width: 2px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" span "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n innerHtml "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" span "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" body "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n innerHtml "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" tableRoot "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("querySelector")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'table'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tableRoot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("innerHTML "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" innerHtml"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" position "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("canvas"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getBoundingClientRect")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bodyFont "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("helpers"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("toFont")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("bodyFont"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Display, position, and set styles for font")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("opacity "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("position "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'absolute'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("left "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" position"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("left "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" window"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("pageXOffset "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("caretX "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("top "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" position"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("top "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" window"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("pageYOffset "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("caretY "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("font "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" bodyFont"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("padding "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("padding "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'px '")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" tooltipModel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("padding "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'px'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n tooltipEl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("pointerEvents "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'none'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("See "),a("RouterLink",{attrs:{to:"/samples/tooltip/html.html"}},[t._v("samples")]),t._v(" for examples on how to get started with external tooltips.")],1),t._v(" "),a("h2",{attrs:{id:"tooltip-model"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip-model"}},[t._v("#")]),t._v(" Tooltip Model")]),t._v(" "),a("p",[t._v("The tooltip model contains parameters that can be used to render the tooltip.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("chart")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The items that we are rendering in the tooltip. See Tooltip Item Interface section")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("dataPoints")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" TooltipItem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Positioning")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("xAlign")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAlign")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// X and Y properties are the top left of the tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Where the tooltip points to")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("caretX")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("caretY")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Body")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The body lines that need to be rendered")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Each object contains 3 parameters")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// before: string[] // lines of text before the line with the color square")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// lines: string[], // lines of text to render as the main item with color square")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// after: string[], // lines of text to render after the main lines")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("body")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" object"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// lines of text that appear after the title but before the body")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("beforeBody")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// line of text that appear after the body and before the footer")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("afterBody")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Title")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// lines of text that form the title")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Footer")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// lines of text that form the footer")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("footer")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// colors to render for each item in body[]. This is the color of the squares in the tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labelColors")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labelTextColors")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 0 opacity is a hidden tooltip")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// tooltip options")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Object\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"custom-position-modes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#custom-position-modes"}},[t._v("#")]),t._v(" Custom Position Modes")]),t._v(" "),a("p",[t._v("New modes can be defined by adding functions to the "),a("code",[t._v("Chart.Tooltip.positioners")]),t._v(" map.")]),t._v(" "),a("p",[t._v("Example:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" Tooltip "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n * Custom positioner\n * @function Tooltip.positioners.myCustomPositioner\n * @param elements {Chart.Element[]} the tooltip elements\n * @param eventPosition {Point} the position of the event in canvas coordinates\n * @returns {TooltipPosition} the tooltip position\n */")]),t._v("\nTooltip"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("positioners"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("myCustomPositioner")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("elements"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" eventPosition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// A reference to the tooltip model")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" tooltip "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// You may also include xAlign and yAlign to override those tooltip options.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Then, to use it...")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("js")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("tooltip")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myCustomPositioner'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),a("p",[t._v("See "),a("RouterLink",{attrs:{to:"/samples/tooltip/position.html"}},[t._v("samples")]),t._v(" for a more detailed example.")],1),t._v(" "),a("p",[t._v("If you're using TypeScript, you'll also need to register the new mode:")]),t._v(" "),a("div",{staticClass:"language-typescript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-typescript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("declare")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("module")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("TooltipPositionerMap")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n myCustomPositioner"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" TooltipPositionerFunction"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("ChartType"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/165.fe2baa69.js b/scriptApl/chart.js/dist/docs/assets/js/165.fe2baa69.js new file mode 100644 index 00000000..daac8def --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/165.fe2baa69.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{494:function(t,a,s){"use strict";s.r(a);var e=s(6),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"api"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#api"}},[t._v("#")]),t._v(" API")]),t._v(" "),s("p",[t._v("For each chart, there are a set of global prototype methods on the shared chart type which you may find useful. These are available on all charts created with Chart.js, but for the examples, let's use a line chart we've made.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For example:")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myLineChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" config"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"destroy"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#destroy"}},[t._v("#")]),t._v(" .destroy()")]),t._v(" "),s("p",[t._v("Use this to destroy any chart instances that are created. This will clean up any references stored to the chart object within Chart.js, along with any associated event listeners attached by Chart.js.\nThis must be called before the canvas is reused for a new chart.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Destroys a specific chart instance")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("destroy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"update-mode"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#update-mode"}},[t._v("#")]),t._v(" .update(mode?)")]),t._v(" "),s("p",[t._v("Triggers an update of the chart. This can be safely called after updating the data object. This will update all scales, legends, and then re-render the chart.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("myLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Would update the first dataset's value of 'March' to be 50")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Calling update now animates the position of March from 90 to 50.")]),t._v("\n")])])]),s("p",[t._v("A "),s("code",[t._v("mode")]),t._v(" string can be provided to indicate transition configuration should be used. Core calls this method using any of "),s("code",[t._v("'active'")]),t._v(", "),s("code",[t._v("'hide'")]),t._v(", "),s("code",[t._v("'reset'")]),t._v(", "),s("code",[t._v("'resize'")]),t._v(", "),s("code",[t._v("'show'")]),t._v(" or "),s("code",[t._v("undefined")]),t._v(". "),s("code",[t._v("'none'")]),t._v(" is also a supported mode for skipping animations for single update. Please see "),s("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("animations")]),t._v(" docs for more details.")],1),t._v(" "),s("p",[t._v("Example:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'active'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("See "),s("RouterLink",{attrs:{to:"/developers/updates.html"}},[t._v("Updating Charts")]),t._v(" for more details.")],1),t._v(" "),s("h2",{attrs:{id:"reset"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" .reset()")]),t._v(" "),s("p",[t._v("Reset the chart to its state before the initial animation. A new animation can then be triggered using "),s("code",[t._v("update")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("myLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("reset")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"render"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#render"}},[t._v("#")]),t._v(" .render()")]),t._v(" "),s("p",[t._v("Triggers a redraw of all chart elements. Note, this does not update elements for new data. Use "),s("code",[t._v(".update()")]),t._v(" in that case.")]),t._v(" "),s("h2",{attrs:{id:"stop"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#stop"}},[t._v("#")]),t._v(" .stop()")]),t._v(" "),s("p",[t._v("Use this to stop any current animation. This will pause the chart during any current animation frame. Call "),s("code",[t._v(".render()")]),t._v(" to re-animate.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Stops the charts animation loop at its current frame")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("stop")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// => returns 'this' for chainability")]),t._v("\n")])])]),s("h2",{attrs:{id:"resize-width-height"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#resize-width-height"}},[t._v("#")]),t._v(" .resize(width?, height?)")]),t._v(" "),s("p",[t._v("Use this to manually resize the canvas element. This is run each time the canvas container is resized, but you can call this method manually if you change the size of the canvas nodes container element.")]),t._v(" "),s("p",[t._v("You can call "),s("code",[t._v(".resize()")]),t._v(" with no parameters to have the chart take the size of its container element, or you can pass explicit dimensions (e.g., for "),s("RouterLink",{attrs:{to:"/configuration/responsive.html#printing-resizable-charts"}},[t._v("printing")]),t._v(").")],1),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Resizes & redraws to fill its container element")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// => returns 'this' for chainability")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// With an explicit size:")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("width"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" height"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"clear"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#clear"}},[t._v("#")]),t._v(" .clear()")]),t._v(" "),s("p",[t._v("Will clear the chart canvas. Used extensively internally between animation frames, but you might find it useful.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Will clear the canvas that myLineChart is drawn on")]),t._v("\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("clear")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// => returns 'this' for chainability")]),t._v("\n")])])]),s("h2",{attrs:{id:"tobase64image-type-quality"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tobase64image-type-quality"}},[t._v("#")]),t._v(" .toBase64Image(type?, quality?)")]),t._v(" "),s("p",[t._v("This returns a base 64 encoded string of the chart in its current state.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("myLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("toBase64Image")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// => returns png data url of the image on the canvas")]),t._v("\n\nmyLineChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("toBase64Image")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'image/jpeg'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// => returns a jpeg data url in the highest quality of the canvas")]),t._v("\n")])])]),s("h2",{attrs:{id:"getelementsateventformode-e-mode-options-usefinalposition"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#getelementsateventformode-e-mode-options-usefinalposition"}},[t._v("#")]),t._v(" .getElementsAtEventForMode(e, mode, options, useFinalPosition)")]),t._v(" "),s("p",[t._v("Calling "),s("code",[t._v("getElementsAtEventForMode(e, mode, options, useFinalPosition)")]),t._v(" on your Chart instance passing an event and a mode will return the elements that are found. The "),s("code",[t._v("options")]),t._v(" and "),s("code",[t._v("useFinalPosition")]),t._v(" arguments are passed through to the handlers.")]),t._v(" "),s("p",[t._v("To get an item that was clicked on, "),s("code",[t._v("getElementsAtEventForMode")]),t._v(" can be used.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("clickHandler")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("evt")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" points "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementsAtEventForMode")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("evt"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'nearest'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("intersect")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("points"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" firstPoint "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" points"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" label "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("labels"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("firstPoint"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("index"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" value "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("firstPoint"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasetIndex"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("firstPoint"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("index"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"getsortedvisibledatasetmetas"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#getsortedvisibledatasetmetas"}},[t._v("#")]),t._v(" .getSortedVisibleDatasetMetas()")]),t._v(" "),s("p",[t._v("Returns an array of all the dataset meta's in the order that they are drawn on the canvas that are not hidden.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" visibleMetas "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getSortedVisibleDatasetMetas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"getdatasetmeta-index"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#getdatasetmeta-index"}},[t._v("#")]),t._v(" .getDatasetMeta(index)")]),t._v(" "),s("p",[t._v("Looks for the dataset that matches the current index and returns that metadata. This returned data has all of the metadata that is used to construct the chart.")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("data")]),t._v(" property of the metadata will contain information about each point, bar, etc. depending on the chart type.")]),t._v(" "),s("p",[t._v("Extensive examples of usage are available in the "),s("a",{attrs:{href:"https://github.com/chartjs/Chart.js/tree/master/test",target:"_blank",rel:"noopener noreferrer"}},[t._v("Chart.js tests"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" meta "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getDatasetMeta")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" x "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" meta"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"getvisibledatasetcount"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#getvisibledatasetcount"}},[t._v("#")]),t._v(" getVisibleDatasetCount")]),t._v(" "),s("p",[t._v("Returns the amount of datasets that are currently not hidden.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" numberOfVisibleDatasets "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getVisibleDatasetCount")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"setdatasetvisibility-datasetindex-visibility"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setdatasetvisibility-datasetindex-visibility"}},[t._v("#")]),t._v(" setDatasetVisibility(datasetIndex, visibility)")]),t._v(" "),s("p",[t._v("Sets the visibility for a given dataset. This can be used to build a chart legend in HTML. During click on one of the HTML items, you can call "),s("code",[t._v("setDatasetVisibility")]),t._v(" to change the appropriate dataset.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setDatasetVisibility")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// hides dataset at index 1")]),t._v("\nchart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// chart now renders with dataset hidden")]),t._v("\n")])])]),s("h2",{attrs:{id:"toggledatavisibility-index"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#toggledatavisibility-index"}},[t._v("#")]),t._v(" toggleDataVisibility(index)")]),t._v(" "),s("p",[t._v("Toggles the visibility of an item in all datasets. A dataset needs to explicitly support this feature for it to have an effect. From internal chart types, doughnut / pie, polar area, and bar use this.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("toggleDataVisibility")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// toggles the item in all datasets, at index 2")]),t._v("\nchart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// chart now renders with item hidden")]),t._v("\n")])])]),s("h2",{attrs:{id:"getdatavisibility-index"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#getdatavisibility-index"}},[t._v("#")]),t._v(" getDataVisibility(index)")]),t._v(" "),s("p",[t._v("Returns the stored visibility state of an data index for all datasets. Set by "),s("a",{attrs:{href:"#toggleDataVisibility"}},[t._v("toggleDataVisibility")]),t._v(". A dataset controller should use this method to determine if an item should not be visible.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" visible "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getDataVisibility")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"hide-datasetindex-dataindex"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#hide-datasetindex-dataindex"}},[t._v("#")]),t._v(" hide(datasetIndex, dataIndex?)")]),t._v(" "),s("p",[t._v("If dataIndex is not specified, sets the visibility for the given dataset to false. Updates the chart and animates the dataset with "),s("code",[t._v("'hide'")]),t._v(" mode. This animation can be configured under the "),s("code",[t._v("hide")]),t._v(" key in animation options. Please see "),s("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("animations")]),t._v(" docs for more details.")],1),t._v(" "),s("p",[t._v("If dataIndex is specified, sets the hidden flag of that element to true and updates the chart.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hide")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// hides dataset at index 1 and does 'hide' animation.")]),t._v("\nchart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hide")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// hides the data element at index 2 of the first dataset.")]),t._v("\n")])])]),s("h2",{attrs:{id:"show-datasetindex-dataindex"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#show-datasetindex-dataindex"}},[t._v("#")]),t._v(" show(datasetIndex, dataIndex?)")]),t._v(" "),s("p",[t._v("If dataIndex is not specified, sets the visibility for the given dataset to true. Updates the chart and animates the dataset with "),s("code",[t._v("'show'")]),t._v(" mode. This animation can be configured under the "),s("code",[t._v("show")]),t._v(" key in animation options. Please see "),s("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("animations")]),t._v(" docs for more details.")],1),t._v(" "),s("p",[t._v("If dataIndex is specified, sets the hidden flag of that element to false and updates the chart.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("show")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// shows dataset at index 1 and does 'show' animation.")]),t._v("\nchart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("show")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// shows the data element at index 2 of the first dataset.")]),t._v("\n")])])]),s("h2",{attrs:{id:"setactiveelements-activeelements"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setactiveelements-activeelements"}},[t._v("#")]),t._v(" setActiveElements(activeElements)")]),t._v(" "),s("p",[t._v('Sets the active (hovered) elements for the chart. See the "Programmatic Events" sample file to see this in action.')]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setActiveElements")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasetIndex")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("index")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"static-getchart-key"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#static-getchart-key"}},[t._v("#")]),t._v(" Static: getChart(key)")]),t._v(" "),s("p",[t._v("Finds the chart instance from the given key. If the key is a "),s("code",[t._v("string")]),t._v(", it is interpreted as the ID of the Canvas node for the Chart. The key can also be a "),s("code",[t._v("CanvasRenderingContext2D")]),t._v(" or an "),s("code",[t._v("HTMLDOMElement")]),t._v(". This will return "),s("code",[t._v("undefined")]),t._v(" if no Chart is found. To be found, the chart must have previously been created.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getChart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"canvas-id"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"static-register-chartcomponentlike"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#static-register-chartcomponentlike"}},[t._v("#")]),t._v(" Static: register(chartComponentLike)")]),t._v(" "),s("p",[t._v("Used to register plugins, axis types or chart types globally to all your charts.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Tooltip"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" LinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" PointElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" BubbleController "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Tooltip"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" LinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" PointElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" BubbleController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"static-unregister-chartcomponentlike"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#static-unregister-chartcomponentlike"}},[t._v("#")]),t._v(" Static: unregister(chartComponentLike)")]),t._v(" "),s("p",[t._v("Used to unregister plugins, axis types or chart types globally from all your charts.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/166.c82b3c76.js b/scriptApl/chart.js/dist/docs/assets/js/166.c82b3c76.js new file mode 100644 index 00000000..aecf1a31 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/166.c82b3c76.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{495:function(t,a,s){"use strict";s.r(a);var e=s(6),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"new-axes"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#new-axes"}},[t._v("#")]),t._v(" New Axes")]),t._v(" "),s("p",[t._v("Axes in Chart.js can be individually extended. Axes should always derive from "),s("code",[t._v("Chart.Scale")]),t._v(" but this is not a mandatory requirement.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("MyScale")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Scale")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* extensions ... */")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\nMyScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myScale'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nMyScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" defaultConfigObject"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// MyScale is now derived from Chart.Scale")]),t._v("\n")])])]),s("p",[t._v("Once you have created your scale class, you need to register it with the global chart object so that it can be used.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MyScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If the new scale is not extending Chart.Scale, the prototype can not be used to detect what")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// you are trying to register - so you need to be explicit:")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Chart.registry.addScales(MyScale);")]),t._v("\n")])])]),s("p",[t._v("To use the new scale, simply pass in the string key to the config when creating a chart.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" lineChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myScale'")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this is the same id that was set on the scale")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"scale-properties"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#scale-properties"}},[t._v("#")]),t._v(" Scale Properties")]),t._v(" "),s("p",[t._v("Scale instances are given the following properties during the fitting process.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("left")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// left edge of the scale bounding box")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("right")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// right edge of the bounding box")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("top")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bottom")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// the same as right - left")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// the same as bottom - top")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Margin on each side. Like css, this is outside the bounding box.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("margins")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("left")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("right")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("top")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bottom")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Amount of padding on the inside of the bounding box (like CSS)")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("paddingLeft")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("paddingRight")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("paddingTop")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("paddingBottom")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" number\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"scale-interface"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#scale-interface"}},[t._v("#")]),t._v(" Scale Interface")]),t._v(" "),s("p",[t._v("To work with Chart.js, custom scale types must implement the following interface.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Determines the data limits. Should set this.min and this.max to be the data max/min")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("determineDataLimits")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Generate tick marks. this.chart is the chart instance. The data object can be accessed as this.chart.data")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// buildTicks() should create a ticks array on the axis instance, if you intend to use any of the implementations from the base class")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("buildTicks")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the label to show for the given value")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("getLabelForValue")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the pixel (x coordinate for horizontal axis, y coordinate for vertical axis) for a given value")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param index: index into the ticks array")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("getPixelForTick")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("index")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the pixel (x coordinate for horizontal axis, y coordinate for vertical axis) for a given value")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param value : the value to get the pixel for")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param [index] : index into the data array of the value")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("getPixelForValue")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the value for a given pixel (x coordinate for horizontal axis, y coordinate for vertical axis)")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param pixel : pixel value")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("getValueForPixel")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("pixel")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Optionally, the following methods may also be overwritten, but an implementation is already provided by the "),s("code",[t._v("Chart.Scale")]),t._v(" base class.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Adds labels to objects in the ticks array. The default implementation simply calls this.options.ticks.callback(numericalTick, index, ticks);")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("generateTickLabels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Determine how much the labels will rotate by. The default implementation will only rotate labels if the scale is horizontal.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("calculateLabelRotation")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Fits the scale into the canvas.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this.maxWidth and this.maxHeight will tell you the maximum dimensions the scale instance can be. Scales should endeavour to be as efficient as possible with canvas space.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this.margins is the amount of space you have on either side of your scale that you may expand in to. This is used already for calculating the best label rotation")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// You must set this.minSize to be the size of your scale. It must be an object containing 2 properties: width and height.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// You must set this.width to be the width and this.height to be the height of the scale")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("fit")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Draws the scale onto the canvas. this.(left|right|top|bottom) will have been populated to tell you the area on the canvas to draw in")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param chartArea : an object containing four properties: left, right, top, bottom. This is the rectangle that lines, bars, etc will be drawn in. It may be used, for example, to draw grid lines.")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("draw")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chartArea")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("The Core.Scale base class also has some utility functions that you may find useful.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Returns true if the scale instance is horizontal")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("isHorizontal")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Returns the scale tick objects ({label, major})")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("getTicks")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/167.3c3f2ff1.js b/scriptApl/chart.js/dist/docs/assets/js/167.3c3f2ff1.js new file mode 100644 index 00000000..14ed2929 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/167.3c3f2ff1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[167],{496:function(t,s,a){"use strict";a.r(s);var n=a(6),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"new-charts"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#new-charts"}},[t._v("#")]),t._v(" New Charts")]),t._v(" "),a("p",[t._v("Chart.js 2.0 introduced the concept of controllers for each dataset. Like scales, new controllers can be written as needed.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("MyType")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DatasetController")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nChart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MyType"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Now we can create a new instance of our chart, using the Chart.js API")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// this is the string the constructor was registered at, ie Chart.controllers.MyType")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'MyType'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" options\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"dataset-controller-interface"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-controller-interface"}},[t._v("#")]),t._v(" Dataset Controller Interface")]),t._v(" "),a("p",[t._v("Dataset controllers must implement the following interface.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Defaults for charts of this type")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("defaults")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If set to `false` or `null`, no dataset level element is created.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If set to a string, this is the type of element to create for the dataset.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For example, a line create needs to create a line element so this is the string 'line'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasetElementType")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If set to `false` or `null`, no elements are created for each data value.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// If set to a string, this is the type of element to create for each data value.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// For example, a line create needs to create a point element so this is the string 'point'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("dataElementType")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ID of the controller")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" string"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Update the elements in response to new data")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// @param mode : update mode, core calls this method using any of `'active'`, `'hide'`, `'reset'`, `'resize'`, `'show'` or `undefined`")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("update")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("mode")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[t._v("The following methods may optionally be overridden by derived dataset controllers.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Draw the representation of the dataset. The base implementation works in most cases, and an example of a derived version")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// can be found in the line controller")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("draw")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Initializes the controller")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("initialize")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Ensures that the dataset represented by this controller is linked to a scale. Overridden to helpers.noop in the polar area and doughnut controllers as these")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// chart types using a single scale")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("linkScales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Parse the data into the controller meta data. The default implementation will work for cartesian parsing, but an example of an overridden")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// version can be found in the doughnut controller")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("parse")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("start"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" count")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"extending-existing-chart-types"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extending-existing-chart-types"}},[t._v("#")]),t._v(" Extending Existing Chart Types")]),t._v(" "),a("p",[t._v("Extending or replacing an existing controller type is easy. Simply replace the constructor for one of the built in types with your own.")]),t._v(" "),a("p",[t._v("The built in controller types are:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("BarController")])]),t._v(" "),a("li",[a("code",[t._v("BubbleController")])]),t._v(" "),a("li",[a("code",[t._v("DoughnutController")])]),t._v(" "),a("li",[a("code",[t._v("LineController")])]),t._v(" "),a("li",[a("code",[t._v("PieController")])]),t._v(" "),a("li",[a("code",[t._v("PolarAreaController")])]),t._v(" "),a("li",[a("code",[t._v("RadarController")])]),t._v(" "),a("li",[a("code",[t._v("ScatterController")])])]),t._v(" "),a("p",[t._v("These controllers are also available in the UMD package, directly under "),a("code",[t._v("Chart")]),t._v(". Eg: "),a("code",[t._v("Chart.BarController")]),t._v(".")]),t._v(" "),a("p",[t._v("For example, to derive a new chart type that extends from a bubble chart, you would do the following.")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("BubbleController"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Custom")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("BubbleController")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Call bubble controller method to draw all the points")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("super")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("arguments"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Now we can do some custom drawing for this dataset. Here we'll draw a red box around the first point in each dataset")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" meta "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getMeta")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" pt0 "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" meta"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" y"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pt0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getProps")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'x'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'y'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pt0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("save")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("strokeStyle "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("lineWidth "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("strokeRect")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("x "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" y "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("restore")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nCustom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'derivedBubble'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nCustom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" BubbleController"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Stores the controller so that the chart initialization routine can look it up")]),t._v("\nChart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Custom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Now we can create and use our new chart type")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'derivedBubble'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" options\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"typescript-typings"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#typescript-typings"}},[t._v("#")]),t._v(" TypeScript Typings")]),t._v(" "),a("p",[t._v("If you want your new chart type to be statically typed, you must provide a "),a("code",[t._v(".d.ts")]),t._v(' TypeScript declaration file. Chart.js provides a way to augment built-in types with user-defined ones, by using the concept of "declaration merging".')]),t._v(" "),a("p",[t._v("When adding a new chart type, "),a("code",[t._v("ChartTypeRegistry")]),t._v(" must contains the declarations for the new type, either by extending an existing entry in "),a("code",[t._v("ChartTypeRegistry")]),t._v(" or by creating a new one.")]),t._v(" "),a("p",[t._v("For example, to provide typings for a new chart type that extends from a bubble chart, you would add a "),a("code",[t._v(".d.ts")]),t._v(" containing:")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" ChartTypeRegistry "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("declare")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("module")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("ChartTypeRegistry")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n derivedBubble"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" ChartTypeRegistry"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bubble'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/168.8d2e8e83.js b/scriptApl/chart.js/dist/docs/assets/js/168.8d2e8e83.js new file mode 100644 index 00000000..521b218c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/168.8d2e8e83.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[168],{497:function(e,t,a){"use strict";a.r(t);var s=a(6),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"contributing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[e._v("#")]),e._v(" Contributing")]),e._v(" "),a("p",[e._v("New contributions to the library are welcome, but we ask that you please follow these guidelines:")]),e._v(" "),a("ul",[a("li",[e._v("Before opening a PR for major additions or changes, please discuss the expected API and/or implementation by "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("filing an issue"),a("OutboundLink")],1),e._v(" or asking about it in the "),a("a",{attrs:{href:"https://chartjs-slack.herokuapp.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Chart.js Slack"),a("OutboundLink")],1),e._v(" #dev channel. This will save you development time by getting feedback upfront and make review faster by giving the maintainers more context and details.")]),e._v(" "),a("li",[e._v("Consider whether your changes are useful for all users, or if creating a Chart.js "),a("RouterLink",{attrs:{to:"/developers/plugins.html"}},[e._v("plugin")]),e._v(" would be more appropriate.")],1),e._v(" "),a("li",[e._v("Check that your code will pass tests and "),a("code",[e._v("eslint")]),e._v(" code standards. "),a("code",[e._v("npm test")]),e._v(" will run both the linter and tests for you.")]),e._v(" "),a("li",[e._v("Add unit tests and document new functionality (in the "),a("code",[e._v("test/")]),e._v(" and "),a("code",[e._v("docs/")]),e._v(" directories respectively).")]),e._v(" "),a("li",[e._v("Avoid breaking changes unless there is an upcoming major release, which is infrequent. We encourage people to write plugins for most new advanced features, and care a lot about backwards compatibility.")]),e._v(" "),a("li",[e._v("We strongly prefer new methods to be added as private whenever possible. A method can be made private either by making a top-level "),a("code",[e._v("function")]),e._v(" outside of a class or by prefixing it with "),a("code",[e._v("_")]),e._v(" and adding "),a("code",[e._v("@private")]),e._v(" JSDoc if inside a class. Public APIs take considerable time to review and become locked once implemented as we have limited ability to change them without breaking backwards compatibility. Private APIs allow the flexibility to address unforeseen cases.")])]),e._v(" "),a("h2",{attrs:{id:"joining-the-project"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#joining-the-project"}},[e._v("#")]),e._v(" Joining the project")]),e._v(" "),a("p",[e._v("Active committers and contributors are invited to introduce yourself and request commit access to this project. We have a very active Slack community that you can join "),a("a",{attrs:{href:"https://chartjs-slack.herokuapp.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". If you think you can help, we'd love to have you!")]),e._v(" "),a("h2",{attrs:{id:"building-and-testing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-and-testing"}},[e._v("#")]),e._v(" Building and Testing")]),e._v(" "),a("p",[e._v("Firstly, we need to ensure development dependencies are installed. With node and npm installed, after cloning the Chart.js repo to a local directory, and navigating to that directory in the command line, we can run the following:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v("\n")])])]),a("p",[e._v("This will install the local development dependencies for Chart.js.")]),e._v(" "),a("p",[e._v("The following commands are now available from the repository root:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" run build // build dist files "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" ./dist\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" run autobuild // build and "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("watch")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("source")]),e._v(" changes\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" run dev // run tests and "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("watch")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("source")]),e._v(" and "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("test")]),e._v(" changes\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" run lint // perform code linting "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("ESLint, tsc"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("test")]),e._v(" // perform code linting and run unit tests with coverage\n")])])]),a("p",[a("code",[e._v("npm run dev")]),e._v(" and "),a("code",[e._v("npm test")]),e._v(" can be appended with a string that is used to match the spec filenames. For example: "),a("code",[e._v("npm run dev plugins")]),e._v(" will start karma in watch mode for "),a("code",[e._v("test/specs/**/*plugin*.js")]),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"documentation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),a("p",[e._v("We use "),a("a",{attrs:{href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vuepress"),a("OutboundLink")],1),e._v(" to manage the docs which are contained as Markdown files in the docs directory. You can run the doc server locally using these commands:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("npm")]),e._v(" run docs:dev\n")])])]),a("h3",{attrs:{id:"image-based-tests"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#image-based-tests"}},[e._v("#")]),e._v(" Image-Based Tests")]),e._v(" "),a("p",[e._v("Some display-related functionality is difficult to test via typical Jasmine units. For this reason, we introduced image-based tests ("),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/pull/3988",target:"_blank",rel:"noopener noreferrer"}},[e._v("#3988"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/pull/5777",target:"_blank",rel:"noopener noreferrer"}},[e._v("#5777"),a("OutboundLink")],1),e._v(") to assert that a chart is drawn pixel-for-pixel matching an expected image.")]),e._v(" "),a("p",[e._v("Generated charts in image-based tests should be "),a("strong",[e._v("as minimal as possible")]),e._v(" and focus only on the tested feature to prevent failure if another feature breaks (e.g. disable the title and legend when testing scales).")]),e._v(" "),a("p",[e._v("You can create a new image-based test by following the steps below:")]),e._v(" "),a("ul",[a("li",[e._v("Create a JS file ("),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/f7b671006a86201808402c3b6fe2054fe834fd4a/test/fixtures/controller.bubble/radius-scriptable.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("example"),a("OutboundLink")],1),e._v(") or JSON file ("),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/4b421a50bfa17f73ac7aa8db7d077e674dbc148d/test/fixtures/plugin.filler/fill-line-dataset.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("example"),a("OutboundLink")],1),e._v(") that defines chart config and generation options.")]),e._v(" "),a("li",[e._v("Add this file in "),a("code",[e._v("test/fixtures/{spec.name}/{feature-name}.json")]),e._v(".")]),e._v(" "),a("li",[e._v("Add a "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/4b421a50bfa17f73ac7aa8db7d077e674dbc148d/test/specs/plugin.filler.tests.js#L10",target:"_blank",rel:"noopener noreferrer"}},[e._v("describe line"),a("OutboundLink")],1),e._v(" to the beginning of "),a("code",[e._v("test/specs/{spec.name}.tests.js")]),e._v(" if it doesn't exist yet.")]),e._v(" "),a("li",[e._v("Run "),a("code",[e._v("npm run dev")]),e._v(".")]),e._v(" "),a("li",[e._v("Click the "),a("em",[e._v('"Debug"')]),e._v(" button (top/right): a test should fail with the associated canvas visible.")]),e._v(" "),a("li",[e._v("Right click on the chart and "),a("em",[e._v('"Save image as..."')]),e._v(" "),a("code",[e._v("test/fixtures/{spec.name}/{feature-name}.png")]),e._v(" making sure not to activate the tooltip or any hover functionality")]),e._v(" "),a("li",[e._v("Refresh the browser page ("),a("code",[e._v("CTRL+R")]),e._v("): test should now pass")]),e._v(" "),a("li",[e._v("Verify test relevancy by changing the feature values "),a("em",[e._v("slightly")]),e._v(" in the JSON file.")])]),e._v(" "),a("p",[e._v("Tests should pass in both browsers. In general, we've hidden all text in image tests since it's quite difficult to get them passing between different browsers. As a result, it is recommended to hide all scales in image-based tests. It is also recommended to disable animations. If tests still do not pass, adjust "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/1ca0ffb5d5b6c2072176fd36fa85a58c483aa434/test/jasmine.matchers.js",target:"_blank",rel:"noopener noreferrer"}},[a("code",[e._v("tolerance")]),e._v(" and/or "),a("code",[e._v("threshold")]),a("OutboundLink")],1),e._v(" at the beginning of the JSON file keeping them "),a("strong",[e._v("as low as possible")]),e._v(".")]),e._v(" "),a("p",[e._v("When a test fails, the expected and actual images are shown. If you'd like to see the images even when the tests pass, set "),a("code",[e._v('"debug": true')]),e._v(" in the JSON file.")]),e._v(" "),a("h2",{attrs:{id:"bugs-and-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bugs-and-issues"}},[e._v("#")]),e._v(" Bugs and Issues")]),e._v(" "),a("p",[e._v("Please report these on the GitHub page - at "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js",target:"_blank"}},[e._v("github.com/chartjs/Chart.js")]),e._v(". Please do not use issues for support requests. For help using Chart.js, please take a look at the "),a("a",{attrs:{href:"https://stackoverflow.com/questions/tagged/chart.js",target:"_blank",rel:"noopener noreferrer"}},[a("code",[e._v("chart.js")]),a("OutboundLink")],1),e._v(" tag on Stack Overflow.")]),e._v(" "),a("p",[e._v("Well structured, detailed bug reports are hugely valuable for the project.")]),e._v(" "),a("p",[e._v("Guidelines for reporting bugs:")]),e._v(" "),a("ul",[a("li",[e._v("Check the issue search to see if it has already been reported")]),e._v(" "),a("li",[e._v("Isolate the problem to a simple test case")]),e._v(" "),a("li",[e._v("Please include a demonstration of the bug on a website such as "),a("a",{attrs:{href:"https://jsbin.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JS Bin"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://jsfiddle.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JS Fiddle"),a("OutboundLink")],1),e._v(", or "),a("a",{attrs:{href:"https://codepen.io/pen/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Codepen"),a("OutboundLink")],1),e._v(". ("),a("a",{attrs:{href:"https://codepen.io/pen?template=wvezeOq",target:"_blank",rel:"noopener noreferrer"}},[e._v("Template"),a("OutboundLink")],1),e._v("). If filing a bug against "),a("code",[e._v("master")]),e._v(", you may reference the latest code via "),a("a",{attrs:{href:"https://www.chartjs.org/dist/master/chart.min.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.chartjs.org/dist/master/chart.min.js"),a("OutboundLink")],1),e._v(" (changing the filename to point at the file you need as appropriate). Do not rely on these files for production purposes as they may be removed at any time.")])]),e._v(" "),a("p",[e._v("Please provide any additional details associated with the bug, if it's browser or screen density specific, or only happens with a certain configuration or data.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/169.b10c84bd.js b/scriptApl/chart.js/dist/docs/assets/js/169.b10c84bd.js new file mode 100644 index 00000000..aec27df5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/169.b10c84bd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[169],{498:function(e,r,t){"use strict";t.r(r);var s=t(6),a=Object(s.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"developers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#developers"}},[e._v("#")]),e._v(" Developers")]),e._v(" "),t("p",[e._v("Developer features allow extending and enhancing Chart.js in many different ways.")]),e._v(" "),t("h2",{attrs:{id:"latest-resources"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#latest-resources"}},[e._v("#")]),e._v(" Latest resources")]),e._v(" "),t("p",[e._v("Latest documentation and samples, including unreleased features, are available at:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.chartjs.org/docs/master/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.chartjs.org/docs/master/"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.chartjs.org/samples/master/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.chartjs.org/samples/master/"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"development-releases"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#development-releases"}},[e._v("#")]),e._v(" Development releases")]),e._v(" "),t("p",[e._v("Latest builds are available for testing at:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.chartjs.org/dist/master/chart.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.chartjs.org/dist/master/chart.js"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.chartjs.org/dist/master/chart.min.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.chartjs.org/dist/master/chart.min.js"),t("OutboundLink")],1)])]),e._v(" "),t("p",[t("strong",[e._v("WARNING: Development builds MUST not be used for production purposes or as replacement for CDN.")])]),e._v(" "),t("h2",{attrs:{id:"browser-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#browser-support"}},[e._v("#")]),e._v(" Browser support")]),e._v(" "),t("p",[e._v("All modern and up-to-date browsers are supported, including, but not limited to:")]),e._v(" "),t("p",[e._v("Chrome\nEdge\nFirefox\nSafari")]),e._v(" "),t("p",[e._v("As of version 3, we have dropped Internet Explorer 11 support.")]),e._v(" "),t("p",[e._v("Browser support for the canvas element is available in all modern & major mobile browsers. "),t("a",{attrs:{href:"https://caniuse.com/#feat=canvas",target:"_blank",rel:"noopener noreferrer"}},[e._v("CanIUse"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("Run "),t("code",[e._v("npx browserslist")]),e._v(" at the root of the "),t("a",{attrs:{href:"https://github.com/chartjs/Chart.js",target:"_blank",rel:"noopener noreferrer"}},[e._v("codebase"),t("OutboundLink")],1),e._v(" to get a list of supported browsers.")]),e._v(" "),t("p",[e._v("Thanks to "),t("a",{attrs:{href:"https://browserstack.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("BrowserStack"),t("OutboundLink")],1),e._v(" for allowing our team to test on thousands of browsers.")]),e._v(" "),t("h2",{attrs:{id:"previous-versions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#previous-versions"}},[e._v("#")]),e._v(" Previous versions")]),e._v(" "),t("p",[e._v("To migrate from version 2 to version 3, please see "),t("a",{attrs:{href:"../getting-started/v3-migration"}},[e._v("the v3 migration guide")]),e._v(".")]),e._v(" "),t("p",[e._v("Version 3 has a largely different API than earlier versions.")]),e._v(" "),t("p",[e._v("Most earlier version options have current equivalents or are the same.")]),e._v(" "),t("p",[e._v("Please note - documentation for previous versions is available online or in the GitHub repo.")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.chartjs.org/docs/2.9.4/",target:"_blank",rel:"noopener noreferrer"}},[e._v("2.9.4 Documentation"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/tree/v1.1.1/docs",target:"_blank",rel:"noopener noreferrer"}},[e._v("1.x Documentation"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/17.8dfcb176.js b/scriptApl/chart.js/dist/docs/assets/js/17.8dfcb176.js new file mode 100644 index 00000000..ea634148 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/17.8dfcb176.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{348:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-domplatform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-domplatform"}},[t._v("#")]),t._v(" Class: DomPlatform")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[a("code",[t._v("BasePlatform")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("DomPlatform")])])])])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new DomPlatform")]),t._v("()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#constructor"}},[t._v("constructor")])],1),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"acquirecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#acquirecontext"}},[t._v("#")]),t._v(" acquireContext")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("acquireContext")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("options?")]),t._v("): "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("p",[t._v("Called at chart construction time, returns a context2d instance implementing\nthe "),a("a",{attrs:{href:"https://www.w3.org/TR/2dcontext/",target:"_blank",rel:"noopener noreferrer"}},[t._v("W3C Canvas 2D Context API standard"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas from which to acquire context (platform specific)")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2DSettings")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart options")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#acquirecontext"}},[t._v("acquireContext")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2057",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2057"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"addeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addeventlistener"}},[t._v("#")]),t._v(" addEventListener")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("addEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Registers the specified listener on the given chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to listen for event")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to listen for")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Receives a notification (an object that implements the "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(" interface) when an event of the specified type occurs.")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#addeventlistener"}},[t._v("addEventListener")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2075",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2075"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdevicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdevicepixelratio"}},[t._v("#")]),t._v(" getDevicePixelRatio")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getDevicePixelRatio")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("the current devicePixelRatio of the device this platform is connected to.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#getdevicepixelratio"}},[t._v("getDevicePixelRatio")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2086",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2086"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaximumsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaximumsize"}},[t._v("#")]),t._v(" getMaximumSize")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getMaximumSize")]),t._v("("),a("code",[t._v("canvas")]),t._v(", "),a("code",[t._v("width?")]),t._v(", "),a("code",[t._v("height?")]),t._v(", "),a("code",[t._v("aspectRatio?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The canvas for which to calculate the maximum size")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("aspectRatio?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("p",[t._v("the maximum size available.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#getmaximumsize"}},[t._v("getMaximumSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2094",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2094"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isattached"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isattached"}},[t._v("#")]),t._v(" isAttached")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("isAttached")]),t._v("("),a("code",[t._v("canvas")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canvas")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("HTMLCanvasElement")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the canvas is attached to the platform, false if not.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#isattached"}},[t._v("isAttached")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2099",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2099"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"releasecontext"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#releasecontext"}},[t._v("#")]),t._v(" releaseContext")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("releaseContext")]),t._v("("),a("code",[t._v("context")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Called at chart destruction time, releases any resources associated to the context\npreviously returned by the acquireContext() method.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("context")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The context2d instance")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true if the method succeeded, else false")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#releasecontext"}},[t._v("releaseContext")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2067",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2067"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removeeventlistener"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removeeventlistener"}},[t._v("#")]),t._v(" removeEventListener")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("removeEventListener")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("type")]),t._v(", "),a("code",[t._v("listener")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Removes the specified listener previously registered with addEventListener.")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Chart from which to remove the listener")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The ("),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")]),t._v(") type to remove")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("listener")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(") => "),a("code",[t._v("void")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The listener function to remove from the event target.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#removeeventlistener"}},[t._v("removeEventListener")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2082",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2082"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateconfig"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateconfig"}},[t._v("#")]),t._v(" updateConfig")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("updateConfig")]),t._v("("),a("code",[t._v("config")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Updates config with platform specific requirements")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("config")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[a("code",[t._v("ChartConfiguration")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[a("code",[t._v("ChartConfigurationCustomTypesPerDataset")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html#updateconfig"}},[t._v("updateConfig")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2104",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2104"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/170.b9db8312.js b/scriptApl/chart.js/dist/docs/assets/js/170.b9db8312.js new file mode 100644 index 00000000..87132a7c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/170.b9db8312.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[170],{499:function(t,e,a){"use strict";a.r(e);var s=a(6),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"publishing-an-extension"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publishing-an-extension"}},[t._v("#")]),t._v(" Publishing an extension")]),t._v(" "),a("p",[t._v("If you are planning on publishing an extension for Chart.js, here are a some pointers.")]),t._v(" "),a("h2",{attrs:{id:"awesome"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#awesome"}},[t._v("#")]),t._v(" Awesome")]),t._v(" "),a("p",[t._v("You'd probably want your extension to be listed in the "),a("a",{attrs:{href:"https://github.com/chartjs/awesome",target:"_blank",rel:"noopener noreferrer"}},[t._v("awesome"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("p",[t._v("Note the minimum extension age requirement of 30 days.")]),t._v(" "),a("h2",{attrs:{id:"esm"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#esm"}},[t._v("#")]),t._v(" ESM")]),t._v(" "),a("p",[t._v("If you are utilizing ESM, you probably still want to publish an UMD bundle of your extension. Because Chart.js v3 is tree shakeable, the interface is a bit different.\nUMD package's global "),a("code",[t._v("Chart")]),t._v(" includes everything, while ESM package exports all the things separately.\nFortunately, most of the exports can be mapped automatically by the bundlers.")]),t._v(" "),a("p",[t._v("But not the helpers.")]),t._v(" "),a("p",[t._v("In UMD, helpers are available through "),a("code",[t._v("Chart.helpers")]),t._v(". In ESM, they are imported from "),a("code",[t._v("chart.js/helpers")]),t._v(".")]),t._v(" "),a("p",[t._v("For example "),a("code",[t._v("import {isNullOrUndef} from 'chart.js/helpers'")]),t._v(" is available at "),a("code",[t._v("Chart.helpers.isNullOrUndef")]),t._v(" for UMD.")]),t._v(" "),a("h3",{attrs:{id:"rollup"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#rollup"}},[t._v("#")]),t._v(" Rollup")]),t._v(" "),a("p",[a("code",[t._v("output.globals")]),t._v(" can be used to convert the helpers.")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[t._v("module"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("exports "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("output")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("globals")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Chart'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'chart.js/helpers'")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Chart.helpers'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/171.2480fc36.js b/scriptApl/chart.js/dist/docs/assets/js/171.2480fc36.js new file mode 100644 index 00000000..6783b9da --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/171.2480fc36.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[171],{501:function(t,a,s){"use strict";s.r(a);var n=s(6),p=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"updating-charts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#updating-charts"}},[t._v("#")]),t._v(" Updating Charts")]),t._v(" "),s("p",[t._v("It's pretty common to want to update charts after they've been created. When the chart data or options are changed, Chart.js will animate to the new data values and options.")]),t._v(" "),s("h2",{attrs:{id:"adding-or-removing-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#adding-or-removing-data"}},[t._v("#")]),t._v(" Adding or Removing Data")]),t._v(" "),s("p",[t._v("Adding and removing data is supported by changing the data array. To add data, just add data into the data array as seen in this example.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("addData")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" label"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("labels"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("label"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("forEach")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("dataset")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n dataset"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("removeData")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("labels"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("pop")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("datasets"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("forEach")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("dataset")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n dataset"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("pop")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"updating-options"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#updating-options"}},[t._v("#")]),t._v(" Updating Options")]),t._v(" "),s("p",[t._v("To update the options, mutating the options property in place or passing in a new options object are supported.")]),t._v(" "),s("ul",[s("li",[t._v("If the options are mutated in place, other option properties would be preserved, including those calculated by Chart.js.")]),t._v(" "),s("li",[t._v("If created as a new object, it would be like creating a new chart with the options - old options would be discarded.")])]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("updateConfigByMutating")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("plugins"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("title"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("text "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'new title'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("updateConfigAsNewObject")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("responsive")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("title")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("text")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Chart.js'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Scales can be updated separately without changing other options.\nTo update the scales, pass in an object containing all the customization including those unchanged ones.")]),t._v(" "),s("p",[t._v("Variables referencing any one from "),s("code",[t._v("chart.scales")]),t._v(" would be lost after updating scales with a new "),s("code",[t._v("id")]),t._v(" or the changed "),s("code",[t._v("type")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("updateScales")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" xScale "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" yScale "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("newId")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("display")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'logarithmic'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// need to update the reference")]),t._v("\n xScale "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("newId"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n yScale "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("You can also update a specific scale either by its id.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("updateScale")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'logarithmic'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Code sample for updating options can be found in "),s("a",{attrs:{href:"https://www.chartjs.org/samples/latest/scales/toggle-scale-type.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("toggle-scale-type.html"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"preventing-animations"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#preventing-animations"}},[t._v("#")]),t._v(" Preventing Animations")]),t._v(" "),s("p",[t._v("Sometimes when a chart updates, you may not want an animation. To achieve this you can call "),s("code",[t._v("update")]),t._v(" with "),s("code",[t._v("'none'")]),t._v(" as mode.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("update")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'none'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=p.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/172.81c5206a.js b/scriptApl/chart.js/dist/docs/assets/js/172.81c5206a.js new file mode 100644 index 00000000..17686d85 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/172.81c5206a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{502:function(t,a,s){"use strict";s.r(a);var n=s(6),e=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"accessibility"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#accessibility"}},[t._v("#")]),t._v(" Accessibility")]),t._v(" "),s("p",[t._v("Chart.js charts are rendered on user provided "),s("code",[t._v("canvas")]),t._v(" elements. Thus, it is up to the user to create the "),s("code",[t._v("canvas")]),t._v(" element in a way that is accessible. The "),s("code",[t._v("canvas")]),t._v(" element has support in all browsers and will render on screen but the "),s("code",[t._v("canvas")]),t._v(" content will not be accessible to screen readers.")]),t._v(" "),s("p",[t._v("With "),s("code",[t._v("canvas")]),t._v(", the accessibility has to be added with ARIA attributes on the "),s("code",[t._v("canvas")]),t._v(" element or added using internal fallback content placed within the opening and closing canvas tags.")]),t._v(" "),s("p",[t._v("This "),s("a",{attrs:{href:"http://pauljadam.com/demos/canvas.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("website"),s("OutboundLink")],1),t._v(" has a more detailed explanation of "),s("code",[t._v("canvas")]),t._v(" accessibility as well as in depth examples.")]),t._v(" "),s("h2",{attrs:{id:"examples"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[t._v("#")]),t._v(" Examples")]),t._v(" "),s("p",[t._v("These are some examples of "),s("strong",[t._v("accessible")]),t._v(" "),s("code",[t._v("canvas")]),t._v(" elements.")]),t._v(" "),s("p",[t._v("By setting the "),s("code",[t._v("role")]),t._v(" and "),s("code",[t._v("aria-label")]),t._v(", this "),s("code",[t._v("canvas")]),t._v(" now has an accessible name.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("goodCanvas1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("aria-label")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Hello ARIA World"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("role")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("img"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("p",[t._v("This "),s("code",[t._v("canvas")]),t._v(" element has a text alternative via fallback content.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("okCanvas2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Hello Fallback World"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("p",[t._v("These are some bad examples of "),s("strong",[t._v("inaccessible")]),t._v(" "),s("code",[t._v("canvas")]),t._v(" elements.")]),t._v(" "),s("p",[t._v("This "),s("code",[t._v("canvas")]),t._v(" element does not have an accessible name or role.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("badCanvas1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("p",[t._v("This "),s("code",[t._v("canvas")]),t._v(" element has inaccessible fallback content.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("badCanvas2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Your browser does not support the canvas element."),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/173.477dcbae.js b/scriptApl/chart.js/dist/docs/assets/js/173.477dcbae.js new file mode 100644 index 00000000..ed143e93 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/173.477dcbae.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{505:function(t,a,s){"use strict";s.r(a);var n=s(6),r=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"colors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#colors"}},[t._v("#")]),t._v(" Colors")]),t._v(" "),s("p",[t._v("When supplying colors to Chart options, you can use a number of formats. You can specify the color as a string in hexadecimal, RGB, or HSL notations. If a color is needed, but not specified, Chart.js will use the global default color. There are 3 color options, stored at "),s("code",[t._v("Chart.defaults")]),t._v(", to set:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Name")]),t._v(" "),s("th",[t._v("Type")]),t._v(" "),s("th",[t._v("Default")]),t._v(" "),s("th",[t._v("Description")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("code",[t._v("backgroundColor")])]),t._v(" "),s("td",[s("code",[t._v("Color")])]),t._v(" "),s("td",[s("code",[t._v("rgba(0, 0, 0, 0.1)")])]),t._v(" "),s("td",[t._v("Background color.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("borderColor")])]),t._v(" "),s("td",[s("code",[t._v("Color")])]),t._v(" "),s("td",[s("code",[t._v("rgba(0, 0, 0, 0.1)")])]),t._v(" "),s("td",[t._v("Border color.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("color")])]),t._v(" "),s("td",[s("code",[t._v("Color")])]),t._v(" "),s("td",[s("code",[t._v("#666")])]),t._v(" "),s("td",[t._v("Font color.")])])])]),t._v(" "),s("p",[t._v("You can also pass a "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasGradient",target:"_blank",rel:"noopener noreferrer"}},[t._v("CanvasGradient"),s("OutboundLink")],1),t._v(" object. You will need to create this before passing to the chart, but using it you can achieve some interesting effects.")]),t._v(" "),s("h2",{attrs:{id:"patterns-and-gradients"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#patterns-and-gradients"}},[t._v("#")]),t._v(" Patterns and Gradients")]),t._v(" "),s("p",[t._v("An alternative option is to pass a "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern",target:"_blank",rel:"noopener noreferrer"}},[t._v("CanvasPattern"),s("OutboundLink")],1),t._v(" or "),s("a",{attrs:{href:"https://developer.mozilla.org/en/docs/Web/API/CanvasGradient",target:"_blank",rel:"noopener noreferrer"}},[t._v("CanvasGradient"),s("OutboundLink")],1),t._v(" object instead of a string colour.")]),t._v(" "),s("p",[t._v("For example, if you wanted to fill a dataset with a pattern from an image you could do the following.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" img "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Image")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nimg"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("src "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://example.com/my_image.png'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nimg"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onload")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'canvas'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getContext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2d'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" fillPattern "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("createPattern")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("img"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'repeat'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Item 1'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Item 2'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Item 3'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" fillPattern\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Using pattern fills for data graphics can help viewers with vision deficiencies (e.g. color-blindness or partial sight) to "),s("a",{attrs:{href:"http://betweentwobrackets.com/data-graphics-and-colour-vision/",target:"_blank",rel:"noopener noreferrer"}},[t._v("more easily understand your data"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("Using the "),s("a",{attrs:{href:"https://github.com/ashiguruma/patternomaly",target:"_blank",rel:"noopener noreferrer"}},[t._v("Patternomaly"),s("OutboundLink")],1),t._v(" library you can generate patterns to fill datasets.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chartData "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("45")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n pattern"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'square'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#ff6384'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n pattern"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'circle'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#36a2eb'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n pattern"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'diamond'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#cc65fe'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n pattern"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'triangle'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#ffce56'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Red'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Blue'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Purple'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Yellow'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/174.05398ca3.js b/scriptApl/chart.js/dist/docs/assets/js/174.05398ca3.js new file mode 100644 index 00000000..e5f22895 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/174.05398ca3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{503:function(t,a,s){"use strict";s.r(a);var r=s(6),e=Object(r.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"data-structures"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#data-structures"}},[t._v("#")]),t._v(" Data structures")]),t._v(" "),s("p",[t._v("The "),s("code",[t._v("data")]),t._v(" property of a dataset can be passed in various formats. By default, that "),s("code",[t._v("data")]),t._v(" is parsed using the associated chart type and scales.")]),t._v(" "),s("p",[t._v("If the "),s("code",[t._v("labels")]),t._v(" property of the main "),s("code",[t._v("data")]),t._v(" property is used, it has to contain the same amount of elements as the dataset with the most values. These labels are used to label the index axis (default x axes). The values for the labels have to be provided in an array.\nThe provided labels can be of the type string or number to be rendered correctly. In case you want multiline labels you can provide an array with each line as one entry in the array.")]),t._v(" "),s("h2",{attrs:{id:"primitive"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#primitive"}},[t._v("#")]),t._v(" Primitive[]")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'a'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'b'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("When the "),s("code",[t._v("data")]),t._v(" is an array of numbers, values from "),s("code",[t._v("labels")]),t._v(" array at the same index are used for the index axis ("),s("code",[t._v("x")]),t._v(" for vertical, "),s("code",[t._v("y")]),t._v(" for horizontal charts).")]),t._v(" "),s("h2",{attrs:{id:"object"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#object"}},[t._v("#")]),t._v(" Object[]")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("15")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2016-12-25'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2016-12-26'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Sales'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Revenue'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("This is also the internal format used for parsed data. In this mode, parsing can be disabled by specifying "),s("code",[t._v("parsing: false")]),t._v(" at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),s("p",[t._v("The values provided must be parsable by the associated scales or in the internal format of the associated scales. A common mistake would be to provide integers for the "),s("code",[t._v("category")]),t._v(" scale, which uses integers as an internal format, where each integer represents an index in the labels array. "),s("code",[t._v("null")]),t._v(" can be used for skipped values.")]),t._v(" "),s("h2",{attrs:{id:"object-using-custom-properties"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#object-using-custom-properties"}},[t._v("#")]),t._v(" Object[] using custom properties")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Sales'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("nested")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1500")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Purchases'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("nested")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("500")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("xAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'id'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'nested.value'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("When using the pie/doughnut, radar or polarArea chart type, the "),s("code",[t._v("parsing")]),t._v(" object should have a "),s("code",[t._v("key")]),t._v(" item that points to the value to look at. In this example, the doughnut chart will show two items with values 1500 and 500.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'doughnut'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Sales'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("nested")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1500")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Purchases'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("nested")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("500")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("key")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'nested.value'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("If the key contains a dot, it needs to be escaped with a double slash:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'data.key'")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'one'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'data.value'")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'data.key'")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'two'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string-property property"}},[t._v("'data.value'")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("xAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data\\\\.key'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data\\\\.value'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("When using object notation in a radar chart you still need a labels array with labels for the chart to show correctly.")])]),t._v(" "),s("h2",{attrs:{id:"object-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#object-2"}},[t._v("#")]),t._v(" Object")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'pie'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("January")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("February")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("In this mode, property name is used for "),s("code",[t._v("index")]),t._v(" scale and value for "),s("code",[t._v("value")]),t._v(" scale. For vertical charts, index scale is "),s("code",[t._v("x")]),t._v(" and value scale is "),s("code",[t._v("y")]),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"dataset-configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dataset-configuration"}},[t._v("#")]),t._v(" Dataset Configuration")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Name")]),t._v(" "),s("th",[t._v("Type")]),t._v(" "),s("th",[t._v("Description")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("code",[t._v("label")])]),t._v(" "),s("td",[s("code",[t._v("string")])]),t._v(" "),s("td",[t._v("The label for the dataset which appears in the legend and tooltips.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("clip")])]),t._v(" "),s("td",[s("code",[t._v("number")]),t._v("|"),s("code",[t._v("object")])]),t._v(" "),s("td",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("order")])]),t._v(" "),s("td",[s("code",[t._v("number")])]),t._v(" "),s("td",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("stack")])]),t._v(" "),s("td",[s("code",[t._v("string")])]),t._v(" "),s("td",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). Defaults to dataset "),s("code",[t._v("type")]),t._v(".")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("parsing")])]),t._v(" "),s("td",[s("code",[t._v("boolean")]),t._v("|"),s("code",[t._v("object")])]),t._v(" "),s("td",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("hidden")])]),t._v(" "),s("td",[s("code",[t._v("boolean")])]),t._v(" "),s("td",[t._v("Configure the visibility of the dataset. Using "),s("code",[t._v("hidden: true")]),t._v(" will hide the dataset from being rendered in the Chart.")])])])]),t._v(" "),s("h3",{attrs:{id:"parsing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" data "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Jan'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("cogs")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("gm")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Feb'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("120")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("cogs")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("55")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("gm")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("75")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" cfg "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Jan'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Feb'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Net sales'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'net'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Cost of goods sold'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'cogs'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Gross margin'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("parsing")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yAxisKey")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'gm'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/175.84ab69d0.js b/scriptApl/chart.js/dist/docs/assets/js/175.84ab69d0.js new file mode 100644 index 00000000..6a5cc798 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/175.84ab69d0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[175],{504:function(t,e,s){"use strict";s.r(e);var a=s(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"fonts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fonts"}},[t._v("#")]),t._v(" Fonts")]),t._v(" "),s("p",[t._v("There are special global settings that can change all of the fonts on the chart. These options are in "),s("code",[t._v("Chart.defaults.font")]),t._v(". The global font settings only apply when more specific options are not included in the config.")]),t._v(" "),s("p",[t._v("For example, in this chart the text will have a font size of 16px except for the labels in the legend.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[t._v("Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("font"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("size "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("16")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("legend")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// This more specific font property overrides the global property")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("font")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("size")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("14")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("table",[s("thead",[s("tr",[s("th",[t._v("Name")]),t._v(" "),s("th",[t._v("Type")]),t._v(" "),s("th",[t._v("Default")]),t._v(" "),s("th",[t._v("Description")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("code",[t._v("family")])]),t._v(" "),s("td",[s("code",[t._v("string")])]),t._v(" "),s("td",[s("code",[t._v("\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\"")])]),t._v(" "),s("td",[t._v("Default font family for all text, follows CSS font-family options.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("size")])]),t._v(" "),s("td",[s("code",[t._v("number")])]),t._v(" "),s("td",[s("code",[t._v("12")])]),t._v(" "),s("td",[t._v("Default font size (in px) for text. Does not apply to radialLinear scale point labels.")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("style")])]),t._v(" "),s("td",[s("code",[t._v("string")])]),t._v(" "),s("td",[s("code",[t._v("'normal'")])]),t._v(" "),s("td",[t._v("Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit).")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("weight")])]),t._v(" "),s("td",[s("code",[t._v("string")])]),t._v(" "),s("td",[s("code",[t._v("undefined")])]),t._v(" "),s("td",[t._v("Default font weight (boldness). (see "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),s("OutboundLink")],1),t._v(").")])]),t._v(" "),s("tr",[s("td",[s("code",[t._v("lineHeight")])]),t._v(" "),s("td",[s("code",[t._v("number")]),t._v("|"),s("code",[t._v("string")])]),t._v(" "),s("td",[s("code",[t._v("1.2")])]),t._v(" "),s("td",[t._v("Height of an individual line of text (see "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/line-height",target:"_blank",rel:"noopener noreferrer"}},[t._v("MDN"),s("OutboundLink")],1),t._v(").")])])])]),t._v(" "),s("h2",{attrs:{id:"missing-fonts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#missing-fonts"}},[t._v("#")]),t._v(" Missing Fonts")]),t._v(" "),s("p",[t._v("If a font is specified for a chart that does exist on the system, the browser will not apply the font when it is set. If you notice odd fonts appearing in your charts, check that the font you are applying exists on your system. See "),s("a",{attrs:{href:"https://github.com/chartjs/Chart.js/issues/3318",target:"_blank",rel:"noopener noreferrer"}},[t._v("issue 3318"),s("OutboundLink")],1),t._v(" for more details.")]),t._v(" "),s("h2",{attrs:{id:"loading-fonts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#loading-fonts"}},[t._v("#")]),t._v(" Loading Fonts")]),t._v(" "),s("p",[t._v("If a font is not cached and needs to be loaded, charts that use the font will need to be updated once the font is loaded. This can be accomplished using the "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/CSS_Font_Loading_API",target:"_blank",rel:"noopener noreferrer"}},[t._v("Font Loading APIs"),s("OutboundLink")],1),t._v(". See "),s("a",{attrs:{href:"https://github.com/chartjs/Chart.js/issues/8020",target:"_blank",rel:"noopener noreferrer"}},[t._v("issue 8020"),s("OutboundLink")],1),t._v(" for more details.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/176.f48183c3.js b/scriptApl/chart.js/dist/docs/assets/js/176.f48183c3.js new file mode 100644 index 00000000..05903177 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/176.f48183c3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[176],{506:function(t,e,a){"use strict";a.r(e);var s=a(6),o=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" Options")]),t._v(" "),a("h2",{attrs:{id:"option-resolution"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#option-resolution"}},[t._v("#")]),t._v(" Option resolution")]),t._v(" "),a("p",[t._v("Options are resolved from top to bottom, using a context dependent route.")]),t._v(" "),a("h3",{attrs:{id:"chart-level-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart-level-options"}},[t._v("#")]),t._v(" Chart level options")]),t._v(" "),a("ul",[a("li",[t._v("options")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults")])]),t._v(" "),a("h3",{attrs:{id:"dataset-level-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-level-options"}},[t._v("#")]),t._v(" Dataset level options")]),t._v(" "),a("p",[a("code",[t._v("dataset.type")]),t._v(" defaults to "),a("code",[t._v("config.type")]),t._v(", if not specified.")]),t._v(" "),a("ul",[a("li",[t._v("dataset")]),t._v(" "),a("li",[t._v("options.datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("options")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults.datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults")])]),t._v(" "),a("h3",{attrs:{id:"dataset-animation-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-animation-options"}},[t._v("#")]),t._v(" Dataset animation options")]),t._v(" "),a("ul",[a("li",[t._v("dataset.animation")]),t._v(" "),a("li",[t._v("options.datasets["),a("code",[t._v("dataset.type")]),t._v("].animation")]),t._v(" "),a("li",[t._v("options.animation")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].datasets["),a("code",[t._v("dataset.type")]),t._v("].animation")]),t._v(" "),a("li",[t._v("defaults.datasets["),a("code",[t._v("dataset.type")]),t._v("].animation")]),t._v(" "),a("li",[t._v("defaults.animation")])]),t._v(" "),a("h3",{attrs:{id:"dataset-element-level-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-element-level-options"}},[t._v("#")]),t._v(" Dataset element level options")]),t._v(" "),a("p",[t._v("Each scope is looked up with "),a("code",[t._v("elementType")]),t._v(" prefix in the option name first, then without the prefix. For example, "),a("code",[t._v("radius")]),t._v(" for "),a("code",[t._v("point")]),t._v(" element is looked up using "),a("code",[t._v("pointRadius")]),t._v(" and if that does not hit, then "),a("code",[t._v("radius")]),t._v(".")]),t._v(" "),a("ul",[a("li",[t._v("dataset")]),t._v(" "),a("li",[t._v("options.datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("options.datasets["),a("code",[t._v("dataset.type")]),t._v("].elements["),a("code",[t._v("elementType")]),t._v("]")]),t._v(" "),a("li",[t._v("options.elements["),a("code",[t._v("elementType")]),t._v("]")]),t._v(" "),a("li",[t._v("options")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].datasets["),a("code",[t._v("dataset.type")]),t._v("].elements["),a("code",[t._v("elementType")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults.datasets["),a("code",[t._v("dataset.type")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults.datasets["),a("code",[t._v("dataset.type")]),t._v("].elements["),a("code",[t._v("elementType")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults.elements["),a("code",[t._v("elementType")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults")])]),t._v(" "),a("h3",{attrs:{id:"scale-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale-options"}},[t._v("#")]),t._v(" Scale options")]),t._v(" "),a("ul",[a("li",[t._v("options.scales")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].scales")]),t._v(" "),a("li",[t._v("defaults.scales")]),t._v(" "),a("li",[t._v("defaults.scale")])]),t._v(" "),a("h3",{attrs:{id:"plugin-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugin-options"}},[t._v("#")]),t._v(" Plugin options")]),t._v(" "),a("p",[t._v("A plugin can provide "),a("code",[t._v("additionalOptionScopes")]),t._v(" array of paths to additionally look for its options in. For root scope, use empty string: "),a("code",[t._v("''")]),t._v(". Most core plugins also take options from root scope.")]),t._v(" "),a("ul",[a("li",[t._v("options.plugins["),a("code",[t._v("plugin.id")]),t._v("]")]),t._v(" "),a("li",[t._v("(options.["),a("code",[t._v("...plugin.additionalOptionScopes")]),t._v("])")]),t._v(" "),a("li",[t._v("overrides["),a("code",[t._v("config.type")]),t._v("].plugins["),a("code",[t._v("plugin.id")]),t._v("]")]),t._v(" "),a("li",[t._v("defaults.plugins["),a("code",[t._v("plugin.id")]),t._v("]")]),t._v(" "),a("li",[t._v("(defaults.["),a("code",[t._v("...plugin.additionalOptionScopes")]),t._v("])")])]),t._v(" "),a("h2",{attrs:{id:"scriptable-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptable-options"}},[t._v("#")]),t._v(" Scriptable Options")]),t._v(" "),a("p",[t._v("Scriptable options also accept a function which is called for each of the underlying data values and that takes the unique argument "),a("code",[t._v("context")]),t._v(" representing contextual information (see "),a("RouterLink",{attrs:{to:"/general/options.html#option-context"}},[t._v("option context")]),t._v(").\nA resolver is passed as second parameter, that can be used to access other options in the same context.")],1),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("The "),a("code",[t._v("context")]),t._v(" argument should be validated in the scriptable function, because the function can be invoked in different contexts. The "),a("code",[t._v("type")]),t._v(" field is a good candidate for this validation.")])]),t._v(" "),a("p",[t._v("Example:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("dataIndex"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("dataset"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// draw negative values in red")]),t._v("\n index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'blue'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// else, alternate values in blue and green")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'green'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("borderColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" color "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// resolve the value of another scriptable option: 'red', 'blue' or 'green'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("helpers"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("color"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("lighten")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("h2",{attrs:{id:"indexable-options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#indexable-options"}},[t._v("#")]),t._v(" Indexable Options")]),t._v(" "),a("p",[t._v("Indexable options also accept an array in which each item corresponds to the element at the same index. Note that if there are less items than data, the items are looped over. In many cases, using a "),a("a",{attrs:{href:"#scriptable-options"}},[t._v("function")]),t._v(" is more appropriate if supported.")]),t._v(" "),a("p",[t._v("Example:")]),t._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// color for data at index 0")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'blue'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// color for data at index 1")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'green'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// color for data at index 2")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'black'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// color for data at index 3")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//...")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),a("h2",{attrs:{id:"option-context"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#option-context"}},[t._v("#")]),t._v(" Option Context")]),t._v(" "),a("p",[t._v("The option context is used to give contextual information when resolving options and currently only applies to "),a("a",{attrs:{href:"#scriptable-options"}},[t._v("scriptable options")]),t._v(".\nThe object is preserved, so it can be used to store and pass information between calls.")]),t._v(" "),a("p",[t._v("There are multiple levels of context objects:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("chart")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("dataset")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data")])])])]),t._v(" "),a("li",[a("code",[t._v("scale")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("tick")])]),t._v(" "),a("li",[a("code",[t._v("pointLabel")]),t._v(" (only used in the radial linear scale)")])])]),t._v(" "),a("li",[a("code",[t._v("tooltip")])])])])]),t._v(" "),a("p",[t._v("Each level inherits its parent(s) and any contextual information stored in the parent is available through the child.")]),t._v(" "),a("p",[t._v("The context object contains the following properties:")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("chart")]),t._v(": the associated chart")]),t._v(" "),a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'chart'")])])]),t._v(" "),a("h3",{attrs:{id:"dataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset"}},[t._v("#")]),t._v(" dataset")]),t._v(" "),a("p",[t._v("In addition to "),a("a",{attrs:{href:"#chart"}},[t._v("chart")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("active")]),t._v(": true if element is active (hovered)")]),t._v(" "),a("li",[a("code",[t._v("dataset")]),t._v(": dataset at index "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("li",[a("code",[t._v("datasetIndex")]),t._v(": index of the current dataset")]),t._v(" "),a("li",[a("code",[t._v("index")]),t._v(": same as "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("li",[a("code",[t._v("mode")]),t._v(": the update mode")]),t._v(" "),a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'dataset'")])])]),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("In addition to "),a("a",{attrs:{href:"#dataset"}},[t._v("dataset")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("active")]),t._v(": true if element is active (hovered)")]),t._v(" "),a("li",[a("code",[t._v("dataIndex")]),t._v(": index of the current data")]),t._v(" "),a("li",[a("code",[t._v("parsed")]),t._v(": the parsed data values for the given "),a("code",[t._v("dataIndex")]),t._v(" and "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("li",[a("code",[t._v("raw")]),t._v(": the raw data values for the given "),a("code",[t._v("dataIndex")]),t._v(" and "),a("code",[t._v("datasetIndex")])]),t._v(" "),a("li",[a("code",[t._v("element")]),t._v(": the element (point, arc, bar, etc.) for this data")]),t._v(" "),a("li",[a("code",[t._v("index")]),t._v(": same as "),a("code",[t._v("dataIndex")])]),t._v(" "),a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'data'")])])]),t._v(" "),a("h3",{attrs:{id:"scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale"}},[t._v("#")]),t._v(" scale")]),t._v(" "),a("p",[t._v("In addition to "),a("a",{attrs:{href:"#chart"}},[t._v("chart")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("scale")]),t._v(": the associated scale")]),t._v(" "),a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'scale'")])])]),t._v(" "),a("h3",{attrs:{id:"tick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tick"}},[t._v("#")]),t._v(" tick")]),t._v(" "),a("p",[t._v("In addition to "),a("a",{attrs:{href:"#scale"}},[t._v("scale")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("tick")]),t._v(": the associated tick object")]),t._v(" "),a("li",[a("code",[t._v("index")]),t._v(": tick index")]),t._v(" "),a("li",[a("code",[t._v("type")]),t._v(": "),a("code",[t._v("'tick'")])])]),t._v(" "),a("h3",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" tooltip")]),t._v(" "),a("p",[t._v("In addition to "),a("a",{attrs:{href:"#chart"}},[t._v("chart")])]),t._v(" "),a("ul",[a("li",[a("code",[t._v("tooltip")]),t._v(": the tooltip object")]),t._v(" "),a("li",[a("code",[t._v("tooltipItems")]),t._v(": the items the tooltip is displaying")])])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/177.d0d35403.js b/scriptApl/chart.js/dist/docs/assets/js/177.d0d35403.js new file mode 100644 index 00000000..e5ecd7c0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/177.d0d35403.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[177],{507:function(t,a,s){"use strict";s.r(a);var r=s(6),e=Object(r.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"padding"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#padding"}},[t._v("#")]),t._v(" Padding")]),t._v(" "),s("p",[t._v("Padding values in Chart options can be supplied in couple of different formats.")]),t._v(" "),s("h2",{attrs:{id:"number"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#number"}},[t._v("#")]),t._v(" Number")]),t._v(" "),s("p",[t._v("If this value is a number, it is applied to all sides (left, top, right, bottom).")]),t._v(" "),s("p",[t._v("For example, defining a 20px padding to all sides of chart:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("layout")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("padding")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"top-left-bottom-right-object"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#top-left-bottom-right-object"}},[t._v("#")]),t._v(" {top, left, bottom, right} object")]),t._v(" "),s("p",[t._v("If this value is an object, the "),s("code",[t._v("left")]),t._v(" property defines the left padding. Similarly the "),s("code",[t._v("right")]),t._v(", "),s("code",[t._v("top")]),t._v(" and "),s("code",[t._v("bottom")]),t._v(" properties can also be specified.\nOmitted properties default to "),s("code",[t._v("0")]),t._v(".")]),t._v(" "),s("p",[t._v("Lets say you wanted to add 50px of padding to the left side of the chart canvas, you would do:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("layout")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("padding")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("left")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("50")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"x-y-object"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#x-y-object"}},[t._v("#")]),t._v(" {x, y} object")]),t._v(" "),s("p",[t._v("This is a shorthand for defining left/right and top/bottom to the same values.")]),t._v(" "),s("p",[t._v("For example, 10px left / right and 4px top / bottom padding on a Radial Linear Axis "),s("RouterLink",{attrs:{to:"/axes/radial/linear.html#linear-radial-axis-specific-tick-options"}},[t._v("tick backdropPadding")]),t._v(":")],1),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'radar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("r")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("ticks")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backdropPadding")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/178.55d433fd.js b/scriptApl/chart.js/dist/docs/assets/js/178.55d433fd.js new file mode 100644 index 00000000..ab39324c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/178.55d433fd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[178],{508:function(t,a,s){"use strict";s.r(a);var e=s(6),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"performance"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#performance"}},[t._v("#")]),t._v(" Performance")]),t._v(" "),s("p",[t._v("Chart.js charts are rendered on "),s("code",[t._v("canvas")]),t._v(" elements, which makes rendering quite fast. For large datasets or performance sensitive applications, you may wish to consider the tips below.")]),t._v(" "),s("h2",{attrs:{id:"data-structure-and-format"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#data-structure-and-format"}},[t._v("#")]),t._v(" Data structure and format")]),t._v(" "),s("h3",{attrs:{id:"parsing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" Parsing")]),t._v(" "),s("p",[t._v("Provide prepared data in the internal format accepted by the dataset and scales, and set "),s("code",[t._v("parsing: false")]),t._v(". See "),s("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures")]),t._v(" for more information.")],1),t._v(" "),s("h3",{attrs:{id:"data-normalization"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#data-normalization"}},[t._v("#")]),t._v(" Data normalization")]),t._v(" "),s("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the "),s("code",[t._v("normalized: true")]),t._v(" option to let Chart.js know that you have done so. Even without this option, it can sometimes still be faster to provide sorted data.")]),t._v(" "),s("h3",{attrs:{id:"decimation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#decimation"}},[t._v("#")]),t._v(" Decimation")]),t._v(" "),s("p",[t._v("Decimating your data will achieve the best results. When there is a lot of data to display on the graph, it doesn't make sense to show tens of thousands of data points on a graph that is only a few hundred pixels wide.")]),t._v(" "),s("p",[t._v("The "),s("RouterLink",{attrs:{to:"/configuration/decimation.html"}},[t._v("decimation plugin")]),t._v(" can be used with line charts to decimate data before the chart is rendered. This will provide the best performance since it will reduce the memory needed to render the chart.")],1),t._v(" "),s("p",[t._v("Line charts are able to do "),s("a",{attrs:{href:"#automatic-data-decimation-during-draw"}},[t._v("automatic data decimation during draw")]),t._v(", when certain conditions are met. You should still consider decimating data yourself before passing it in for maximum performance since the automatic decimation occurs late in the chart life cycle.")]),t._v(" "),s("h2",{attrs:{id:"tick-calculation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tick-calculation"}},[t._v("#")]),t._v(" Tick Calculation")]),t._v(" "),s("h3",{attrs:{id:"rotation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" Rotation")]),t._v(" "),s("p",[s("RouterLink",{attrs:{to:"/axes/cartesian/#tick-configuration"}},[t._v("Specify a rotation value")]),t._v(" by setting "),s("code",[t._v("minRotation")]),t._v(" and "),s("code",[t._v("maxRotation")]),t._v(" to the same value, which avoids the chart from having to automatically determine a value to use.")],1),t._v(" "),s("h3",{attrs:{id:"sampling"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sampling"}},[t._v("#")]),t._v(" Sampling")]),t._v(" "),s("p",[t._v("Set the "),s("RouterLink",{attrs:{to:"/axes/cartesian/#tick-configuration"}},[s("code",[t._v("ticks.sampleSize")])]),t._v(" option. This will determine how large your labels are by looking at only a subset of them in order to render axes more quickly. This works best if there is not a large variance in the size of your labels.")],1),t._v(" "),s("h2",{attrs:{id:"disable-animations"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#disable-animations"}},[t._v("#")]),t._v(" Disable Animations")]),t._v(" "),s("p",[t._v("If your charts have long render times, it is a good idea to disable animations. Doing so will mean that the chart needs to only be rendered once during an update instead of multiple times. This will have the effect of reducing CPU usage and improving general page performance.\nLine charts use Path2D caching when animations are disabled and Path2D is available.")]),t._v(" "),s("p",[t._v("To disable animations")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("animation")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"specify-min-and-max-for-scales"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specify-min-and-max-for-scales"}},[t._v("#")]),t._v(" Specify "),s("code",[t._v("min")]),t._v(" and "),s("code",[t._v("max")]),t._v(" for scales")]),t._v(" "),s("p",[t._v("If you specify the "),s("code",[t._v("min")]),t._v(" and "),s("code",[t._v("max")]),t._v(", the scale does not have to compute the range from the data.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("x")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Date")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2019-01-01'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOf")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("max")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Date")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2019-12-31'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOf")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'linear'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("min")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("max")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"parallel-rendering-with-web-workers-chromium-only"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#parallel-rendering-with-web-workers-chromium-only"}},[t._v("#")]),t._v(" Parallel rendering with web workers (Chromium only)")]),t._v(" "),s("p",[t._v("Chromium (Chrome: version 69, Edge: 79, Opera: 56) added the ability to "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen",target:"_blank",rel:"noopener noreferrer"}},[t._v("transfer rendering control of a canvas"),s("OutboundLink")],1),t._v(" to a web worker. Web workers can use the "),s("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas",target:"_blank",rel:"noopener noreferrer"}},[t._v("OffscreenCanvas API"),s("OutboundLink")],1),t._v(" to render from a web worker onto canvases in the DOM. Chart.js is a canvas-based library and supports rendering in a web worker - just pass an OffscreenCanvas into the Chart constructor instead of a Canvas element. Note that as of today, this API is only supported in Chromium based browsers.")]),t._v(" "),s("p",[t._v("By moving all Chart.js calculations onto a separate thread, the main thread can be freed up for other uses. Some tips and tricks when using Chart.js in a web worker:")]),t._v(" "),s("ul",[s("li",[t._v("Transferring data between threads can be expensive, so ensure that your config and data objects are as small as possible. Try generating them on the worker side if you can (workers can make HTTP requests!) or passing them to your worker as ArrayBuffers, which can be transferred quickly from one thread to another.")]),t._v(" "),s("li",[t._v("You can't transfer functions between threads, so if your config object includes functions you'll have to strip them out before transferring and then add them back later.")]),t._v(" "),s("li",[t._v("You can't access the DOM from worker threads, so Chart.js plugins that use the DOM (including any mouse interactions) will likely not work.")]),t._v(" "),s("li",[t._v("Ensure that you have a fallback if you support browsers other than the most modern Chromium browsers.")]),t._v(" "),s("li",[t._v("Resizing the chart must be done manually. See an example in the worker code below.")])]),t._v(" "),s("p",[t._v("Example main thread code:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" config "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" canvas "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("HTMLCanvasElement")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" offscreenCanvas "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" canvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("transferControlToOffscreen")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" worker "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Worker")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'worker.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nworker"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("postMessage")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("canvas")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" offscreenCanvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" config"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("offscreenCanvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Example worker code, in "),s("code",[t._v("worker.js")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onmessage")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("event")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("canvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" config"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" event"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("canvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" config"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Resizing the chart must be done manually, since OffscreenCanvas does not include event listeners.")]),t._v("\n canvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("width "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n canvas"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("height "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("resize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"line-charts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#line-charts"}},[t._v("#")]),t._v(" Line Charts")]),t._v(" "),s("h3",{attrs:{id:"leave-bezier-curves-disabled"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#leave-bezier-curves-disabled"}},[t._v("#")]),t._v(" Leave Bézier curves disabled")]),t._v(" "),s("p",[t._v("If you are drawing lines on your chart, disabling Bézier curves will improve render times since drawing a straight line is more performant than a Bézier curve. Bézier curves are disabled by default.")]),t._v(" "),s("h3",{attrs:{id:"automatic-data-decimation-during-draw"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#automatic-data-decimation-during-draw"}},[t._v("#")]),t._v(" Automatic data decimation during draw")]),t._v(" "),s("p",[t._v("Line element will automatically decimate data, when "),s("code",[t._v("tension")]),t._v(", "),s("code",[t._v("stepped")]),t._v(", and "),s("code",[t._v("borderDash")]),t._v(" are left set to their default values ("),s("code",[t._v("false")]),t._v(", "),s("code",[t._v("0")]),t._v(", and "),s("code",[t._v("[]")]),t._v(" respectively). This improves rendering speed by skipping drawing of invisible line segments.")]),t._v(" "),s("h3",{attrs:{id:"enable-spangaps"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#enable-spangaps"}},[t._v("#")]),t._v(" Enable spanGaps")]),t._v(" "),s("p",[t._v("If you have a lot of data points, it can be more performant to enable "),s("code",[t._v("spanGaps")]),t._v(". This disables segmentation of the line, which can be an unneeded step.")]),t._v(" "),s("p",[t._v("To enable "),s("code",[t._v("spanGaps")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("spanGaps")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// enable for a single dataset")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("spanGaps")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// enable for all datasets")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h3",{attrs:{id:"disable-line-drawing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#disable-line-drawing"}},[t._v("#")]),t._v(" Disable Line Drawing")]),t._v(" "),s("p",[t._v("If you have a lot of data points, it can be more performant to disable rendering of the line for a dataset and only draw points. Doing this means that there is less to draw on the canvas which will improve render performance.")]),t._v(" "),s("p",[t._v("To disable lines:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("showLine")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disable for a single dataset")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("showLine")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disable for all datasets")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h3",{attrs:{id:"disable-point-drawing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#disable-point-drawing"}},[t._v("#")]),t._v(" Disable Point Drawing")]),t._v(" "),s("p",[t._v("If you have a lot of data points, it can be more performant to disable rendering of the points for a dataset and only draw line. Doing this means that there is less to draw on the canvas which will improve render performance.")]),t._v(" "),s("p",[t._v("To disable point drawing:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("pointRadius")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disable for a single dataset")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("line")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("pointRadius")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disable for all `'line'` datasets")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("elements")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("point")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("radius")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// default to disabled in all datasets")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"when-transpiling-with-babel-consider-using-loose-mode"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#when-transpiling-with-babel-consider-using-loose-mode"}},[t._v("#")]),t._v(" When transpiling with Babel, consider using "),s("code",[t._v("loose")]),t._v(" mode")]),t._v(" "),s("p",[t._v("Babel 7.9 changed the way classes are constructed. It is slow, unless used with "),s("code",[t._v("loose")]),t._v(" mode.\n"),s("a",{attrs:{href:"https://github.com/babel/babel/issues/11356",target:"_blank",rel:"noopener noreferrer"}},[t._v("More information"),s("OutboundLink")],1)])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/179.9442c138.js b/scriptApl/chart.js/dist/docs/assets/js/179.9442c138.js new file mode 100644 index 00000000..08b7605f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/179.9442c138.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{509:function(t,s,a){"use strict";a.r(s);var n=a(6),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[t._v("#")]),t._v(" Getting Started")]),t._v(" "),a("p",[t._v("Let's get started using Chart.js!")]),t._v(" "),a("p",[t._v("First, we need to have a canvas in our page. It's recommended to give the chart its own container for "),a("RouterLink",{attrs:{to:"/configuration/responsive.html"}},[t._v("responsiveness")]),t._v(".")],1),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("myChart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("p",[t._v("Now that we have a canvas we can use, we need to include Chart.js in our page.")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://cdn.jsdelivr.net/npm/chart.js"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}}),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("p",[t._v("Now, we can create a chart. We add a script to our page:")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}},[a("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" labels "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'June'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" labels"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'My First dataset'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 99, 132)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderColor")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 99, 132)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("45")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" config "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("p",[t._v("Finally, render the chart using our configuration:")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}},[a("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n config\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("p",[t._v("It's that easy to get started using Chart.js! From here you can explore the many options that can help you customise your charts with scales, tooltips, labels, colors, custom actions, and much more.")]),t._v(" "),a("p",[t._v("Here the sample above is presented with our sample block:")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst labels = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n];\nconst data = {\n labels: labels,\n datasets: [{\n label: 'My First dataset',\n backgroundColor: 'rgb(255, 99, 132)',\n borderColor: 'rgb(255, 99, 132)',\n data: [0, 10, 5, 2, 20, 30, 45],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {}\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("As you can see, some of the boilerplate needed is not visible in our sample blocks, as the samples focus on the configuration options.")])]),t._v(" "),a("p",[t._v("All our examples are "),a("RouterLink",{attrs:{to:"/samples/"}},[t._v("available online")]),t._v(".")],1),t._v(" "),a("p",[t._v("To run the samples locally you first have to install all the necessary packages using the "),a("code",[t._v("npm ci")]),t._v(" command, after this you can run "),a("code",[t._v("npm run docs:dev")]),t._v(" to build the documentation. As soon as the build is done, you can go to "),a("a",{attrs:{href:"http://localhost:8080/samples/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://localhost:8080/samples/"),a("OutboundLink")],1),t._v(" to see the samples.")])],1)}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/18.c331029e.js b/scriptApl/chart.js/dist/docs/assets/js/18.c331029e.js new file mode 100644 index 00000000..dd69ab68 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/18.c331029e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{349:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"class-scale-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-scale-o"}},[t._v("#")]),t._v(" Class: Scale")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("Scale")])])]),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/TimeScale.html"}},[a("code",[t._v("TimeScale")])])],1),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/RadialLinearScale.html"}},[a("code",[t._v("RadialLinearScale")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"constructors"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructors"}},[t._v("#")]),t._v(" Constructors")]),t._v(" "),a("h3",{attrs:{id:"constructor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#constructor"}},[t._v("#")]),t._v(" constructor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("new Scale")]),t._v("<"),a("code",[t._v("O")]),t._v(">("),a("code",[t._v("cfg")]),t._v(")")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg.chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg.ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg.id")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cfg.type")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.constructor")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1337",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1337"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[t._v("#")]),t._v(" axis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("axis")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1239",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1239"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Bottom edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#bottom"}},[t._v("bottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1229",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1229"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ctx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx"}},[t._v("#")]),t._v(" ctx")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("ctx")]),t._v(": "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1228",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1228"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("if true, and the item is horizontal, then push vertical boxes down")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#fullsize"}},[t._v("fullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L17",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:17"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Height of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#height"}},[t._v("height")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1226",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1226"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labelrotation"}},[t._v("#")]),t._v(" labelRotation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labelRotation")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1240",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1240"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"left"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("left")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Left edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#left"}},[t._v("left")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L29",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:29"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#max"}},[t._v("#")]),t._v(" max")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("max")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1242",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1242"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxheight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxheight"}},[t._v("#")]),t._v(" maxHeight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxHeight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1232",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1232"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxwidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxwidth"}},[t._v("#")]),t._v(" maxWidth")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxWidth")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1231",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1231"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"min"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min"}},[t._v("#")]),t._v(" min")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("min")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1241",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1241"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingbottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingbottom"}},[t._v("#")]),t._v(" paddingBottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingBottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1235",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1235"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingleft"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingleft"}},[t._v("#")]),t._v(" paddingLeft")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingLeft")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1236",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1236"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingright"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingright"}},[t._v("#")]),t._v(" paddingRight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingRight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1237",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1237"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"paddingtop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#paddingtop"}},[t._v("#")]),t._v(" paddingTop")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("paddingTop")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1234",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1234"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("The position of the item in the chart layout. Possible values are")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#position"}},[t._v("position")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"right"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("right")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Right edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#right"}},[t._v("right")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L37",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:37"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[t._v("#")]),t._v(" ticks")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1243",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1243"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("top")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Top edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#top"}},[t._v("top")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1227",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1227"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the item. Higher weights are further away from the chart area")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#weight"}},[t._v("weight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Width of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#width"}},[t._v("width")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1323",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1323"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftercalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftercalculatelabelrotation"}},[t._v("#")]),t._v(" afterCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1329",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1329"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1320",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1320"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfit"}},[t._v("#")]),t._v(" afterFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1332",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1332"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftersetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftersetdimensions"}},[t._v("#")]),t._v(" afterSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1317",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1317"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterticktolabelconversion"}},[t._v("#")]),t._v(" afterTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1326",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1326"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1314",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1314"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeBuildTicks")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1321",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1321"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforecalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforecalculatelabelrotation"}},[t._v("#")]),t._v(" beforeCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeCalculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1327",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1327"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1318",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1318"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefit"}},[t._v("#")]),t._v(" beforeFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeFit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1330",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1330"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the layout process starts")]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#beforelayout"}},[t._v("beforeLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L46",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:46"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforesetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforesetdimensions"}},[t._v("#")]),t._v(" beforeSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeSetDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1315",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1315"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeticktolabelconversion"}},[t._v("#")]),t._v(" beforeTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeTickToLabelConversion")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1324",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1324"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeUpdate")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1312",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1312"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildticks"}},[t._v("#")]),t._v(" buildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("buildTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1322",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1322"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatelabelrotation"}},[t._v("#")]),t._v(" calculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("calculateLabelRotation")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1328",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1328"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1313",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1313"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"determinedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#determinedatalimits"}},[t._v("#")]),t._v(" determineDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("determineDataLimits")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1319",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1319"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Draws the element")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L50",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:50"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawgrid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawgrid"}},[t._v("#")]),t._v(" drawGrid")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("drawGrid")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1248",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1248"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawlabels"}},[t._v("#")]),t._v(" drawLabels")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("drawLabels")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1247",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1247"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"drawtitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drawtitle"}},[t._v("#")]),t._v(" drawTitle")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("drawTitle")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-52"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1246",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1246"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fit"}},[t._v("#")]),t._v(" fit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("fit")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-53"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1331",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1331"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"generateticklabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generateticklabels"}},[t._v("#")]),t._v(" generateTickLabels")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("generateTickLabels")]),t._v("("),a("code",[t._v("ticks")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ticks")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-54"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1325",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1325"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasepixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasepixel"}},[t._v("#")]),t._v(" getBasePixel")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getBasePixel")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the pixel for the minimum chart value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-55"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1304",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1304"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getbasevalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getbasevalue"}},[t._v("#")]),t._v(" getBaseValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getBaseValue")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-56"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1298",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1298"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdecimalforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdecimalforpixel"}},[t._v("#")]),t._v(" getDecimalForPixel")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getDecimalForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-57"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1254",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1254"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelforvalue"}},[t._v("#")]),t._v(" getLabelForValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getLabelForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Used to get the label to display in the tooltip for the given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-58"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1274"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabels"}},[t._v("#")]),t._v(" getLabels")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getLabels")]),t._v("(): "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-59"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1311",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1311"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlinewidthforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlinewidthforvalue"}},[t._v("#")]),t._v(" getLineWidthForValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getLineWidthForValue")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the grid line width at given value")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-60"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1279",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1279"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmatchingvisiblemetas"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmatchingvisiblemetas"}},[t._v("#")]),t._v(" getMatchingVisibleMetas")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getMatchingVisibleMetas")]),t._v("("),a("code",[t._v("type?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("type?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-61"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1244",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1244"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("canStack")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-62"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1309",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1309"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpadding"}},[t._v("#")]),t._v(" getPadding")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getPadding")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Returns an object with padding on the edges")]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#getpadding"}},[t._v("getPadding")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-63"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L54",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:54"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfordecimal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfordecimal"}},[t._v("#")]),t._v(" getPixelForDecimal")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getPixelForDecimal")]),t._v("("),a("code",[t._v("decimal")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Utility for getting the pixel location of a percentage of scale\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("decimal")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-64"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1261",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1261"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelfortick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelfortick"}},[t._v("#")]),t._v(" getPixelForTick")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getPixelForTick")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the tick at the given index\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-65"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1268",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1268"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpixelforvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpixelforvalue"}},[t._v("#")]),t._v(" getPixelForValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getPixelForValue")]),t._v("("),a("code",[t._v("value")]),t._v(", "),a("code",[t._v("index?")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the location of the given data point. Value can either be an index or a numerical value\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-37"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-66"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1288",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1288"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-3"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("code",[t._v("never")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-38"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("unknown")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-67"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getticks"}},[t._v("#")]),t._v(" getTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getTicks")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"returns-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-39"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[a("code",[t._v("Tick")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-68"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1310",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1310"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getuserbounds"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getuserbounds"}},[t._v("#")]),t._v(" getUserBounds")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getUserBounds")]),t._v("(): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"returns-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-40"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("maxDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("minDefined")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-69"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1308",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1308"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getvalueforpixel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getvalueforpixel"}},[t._v("#")]),t._v(" getValueForPixel")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getValueForPixel")]),t._v("("),a("code",[t._v("pixel")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Used to get the data value from a given pixel. This is the inverse of getPixelForValue\nThe coordinate (0, 0) is at the upper-left corner of the canvas")]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pixel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-41"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-70"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1296",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1296"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-42"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-71"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"init"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#init"}},[t._v("#")]),t._v(" init")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("init")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-43"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-72"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1306",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1306"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"isfullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#isfullsize"}},[t._v("#")]),t._v(" isFullSize")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("isFullSize")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-44"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-73"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1334",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1334"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ishorizontal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ishorizontal"}},[t._v("#")]),t._v(" isHorizontal")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("isHorizontal")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("returns true if the layout item is horizontal (ie. top or bottom)")]),t._v(" "),a("h4",{attrs:{id:"returns-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-45"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#ishorizontal"}},[t._v("isHorizontal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-74"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("raw")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("raw")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-46"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-75"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1307",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1307"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"setdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setdimensions"}},[t._v("#")]),t._v(" setDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("setDimensions")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-47"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-76"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1316",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1316"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-48"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-77"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("width")]),t._v(", "),a("code",[t._v("height")]),t._v(", "),a("code",[t._v("margins?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Takes two parameters: width and height.")]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("margins?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-49"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#update"}},[t._v("update")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-78"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-78"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L64",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:64"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/180.5c15d5d4.js b/scriptApl/chart.js/dist/docs/assets/js/180.5c15d5d4.js new file mode 100644 index 00000000..0b515cd5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/180.5c15d5d4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[180],{510:function(t,r,e){"use strict";e.r(r);var s=e(6),a=Object(s.a)({},(function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"npm"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#npm"}},[t._v("#")]),t._v(" npm")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://npmjs.com/package/chart.js",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/npm/v/chart.js.svg?style=flat-square&maxAge=600",alt:"npm"}}),e("OutboundLink")],1),t._v(" "),e("a",{attrs:{href:"https://npmjs.com/package/chart.js",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/npm/dm/chart.js.svg?style=flat-square&maxAge=600",alt:"npm"}}),e("OutboundLink")],1)]),t._v(" "),e("div",{staticClass:"language-sh extra-class"},[e("pre",{pre:!0,attrs:{class:"language-sh"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" chart.js\n")])])]),e("h2",{attrs:{id:"cdn"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#cdn"}},[t._v("#")]),t._v(" CDN")]),t._v(" "),e("h3",{attrs:{id:"cdnjs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#cdnjs"}},[t._v("#")]),t._v(" CDNJS")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://cdnjs.com/libraries/Chart.js",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/cdnjs/v/Chart.js.svg?style=flat-square&maxAge=600",alt:"cdnjs"}}),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Chart.js built files are available on "),e("a",{attrs:{href:"https://cdnjs.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CDNJS"),e("OutboundLink")],1),t._v(":")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://cdnjs.com/libraries/Chart.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://cdnjs.com/libraries/Chart.js"),e("OutboundLink")],1)]),t._v(" "),e("h3",{attrs:{id:"jsdelivr"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#jsdelivr"}},[t._v("#")]),t._v(" jsDelivr")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://cdn.jsdelivr.net/npm/chart.js@latest/dist/",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/npm/v/chart.js.svg?label=jsdelivr&style=flat-square&maxAge=600",alt:"jsdelivr"}}),e("OutboundLink")],1),t._v(" "),e("a",{attrs:{href:"https://www.jsdelivr.com/package/npm/chart.js",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://data.jsdelivr.com/v1/package/npm/chart.js/badge",alt:"jsdelivr hits"}}),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Chart.js built files are also available through "),e("a",{attrs:{href:"https://www.jsdelivr.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("jsDelivr"),e("OutboundLink")],1),t._v(":")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://www.jsdelivr.com/package/npm/chart.js?path=dist",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.jsdelivr.com/package/npm/chart.js?path=dist"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"github"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#github"}},[t._v("#")]),t._v(" Github")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/github/release/chartjs/Chart.js.svg?style=flat-square&maxAge=600",alt:"github"}}),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("You can download the latest version of "),e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[t._v("Chart.js on GitHub"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("If you download or clone the repository, you must "),e("RouterLink",{attrs:{to:"/developers/contributing.html#building-and-testing"}},[t._v("build")]),t._v(" Chart.js to generate the dist files. Chart.js no longer comes with prebuilt release versions, so an alternative option to downloading the repo is "),e("strong",[t._v("strongly")]),t._v(" advised.")],1)])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/181.911f367b.js b/scriptApl/chart.js/dist/docs/assets/js/181.911f367b.js new file mode 100644 index 00000000..c7533738 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/181.911f367b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[181],{511:function(t,a,s){"use strict";s.r(a);var n=s(6),e=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"integration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#integration"}},[t._v("#")]),t._v(" Integration")]),t._v(" "),s("p",[t._v("Chart.js can be integrated with plain JavaScript or with different module loaders. The examples below show how to load Chart.js in different systems.")]),t._v(" "),s("h2",{attrs:{id:"script-tag"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#script-tag"}},[t._v("#")]),t._v(" Script Tag")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("path/to/chartjs/dist/chart.js"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token script"}}),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token script"}},[s("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("h2",{attrs:{id:"common-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#common-js"}},[t._v("#")]),t._v(" Common JS")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" Chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"bundlers-webpack-rollup-etc"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#bundlers-webpack-rollup-etc"}},[t._v("#")]),t._v(" Bundlers (Webpack, Rollup, etc.)")]),t._v(" "),s("p",[t._v("Chart.js 3 is tree-shakeable, so it is necessary to import and register the controllers, elements, scales and plugins you are going to use.")]),t._v(" "),s("p",[t._v("For all available imports see the example below.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ArcElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LineElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BarElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PointElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BarController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BubbleController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n DoughnutController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LineController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PieController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PolarAreaController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n RadarController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ScatterController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n CategoryScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LogarithmicScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n RadialLinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n TimeScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n TimeSeriesScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Decimation"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Filler"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Legend"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Title"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Tooltip"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n SubTitle\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n ArcElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LineElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BarElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PointElement"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BarController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n BubbleController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n DoughnutController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LineController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PieController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n PolarAreaController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n RadarController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ScatterController"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n CategoryScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n LogarithmicScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n RadialLinearScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n TimeScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n TimeSeriesScale"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Decimation"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Filler"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Legend"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Title"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n Tooltip"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n SubTitle\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("A short registration format is also available to quickly register everything.")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" Chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" registerables "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("registerables"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("And finally there is a separate path to do just the above for you, in one line:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Chart "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js/auto'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h3",{attrs:{id:"helper-functions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#helper-functions"}},[t._v("#")]),t._v(" Helper functions")]),t._v(" "),s("p",[t._v("If you want to use the helper functions, you will need to import these separately from the helpers package and use them as stand-alone functions.")]),t._v(" "),s("p",[t._v("Example of "),s("RouterLink",{attrs:{to:"/configuration/interactions.html#converting-events-to-data-values"}},[t._v("Converting Events to Data Values")]),t._v(" using bundlers.")],1),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Chart "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js/auto'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" getRelativePosition "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js/helpers'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'line'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onClick")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("e")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" canvasPosition "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getRelativePosition")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("e"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Substitute the appropriate scale IDs")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" dataX "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getValueForPixel")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("canvasPosition"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("x"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" dataY "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("scales"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getValueForPixel")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("canvasPosition"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("y"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"require-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#require-js"}},[t._v("#")]),t._v(" Require JS")]),t._v(" "),s("p",[s("strong",[t._v("Important:")]),t._v(" RequireJS "),s("a",{attrs:{href:"https://requirejs.org/docs/commonjs.html#intro",target:"_blank",rel:"noopener noreferrer"}},[t._v("can "),s("strong",[t._v("not")]),t._v(" load CommonJS module as is"),s("OutboundLink")],1),t._v(", so be sure to require one of the UMD builds instead (i.e. "),s("code",[t._v("dist/chart.js")]),t._v(", "),s("code",[t._v("dist/chart.min.js")]),t._v(", etc.).")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path/to/chartjs/dist/chart.min.js'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[s("strong",[t._v("Note:")]),t._v(" in order to use the time scale, you need to make sure "),s("a",{attrs:{href:"https://github.com/chartjs/awesome#adapters",target:"_blank",rel:"noopener noreferrer"}},[t._v("one of the available date adapters"),s("OutboundLink")],1),t._v(" and corresponding date library are fully loaded "),s("strong",[t._v("after")]),t._v(" requiring Chart.js. For this you can use nested requires:")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chartjs'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'moment'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chartjs-adapter-moment'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/182.72f663e8.js b/scriptApl/chart.js/dist/docs/assets/js/182.72f663e8.js new file mode 100644 index 00000000..16ba4c01 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/182.72f663e8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[182],{512:function(t,a,s){"use strict";s.r(a);var n=s(6),r=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("Chart.js can be used with ES6 modules, plain JavaScript, and module loaders.")]),t._v(" "),s("h2",{attrs:{id:"creating-a-chart"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-chart"}},[t._v("#")]),t._v(" Creating a Chart")]),t._v(" "),s("p",[t._v("To create a chart, we need to instantiate the "),s("code",[t._v("Chart")]),t._v(" class. To do this, we need to pass in the node, jQuery instance, or 2d context of the canvas of where we want to draw the chart. Here's an example.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Any of the following formats may be used")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getContext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2d'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("$")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Once you have the element or context, you're ready to instantiate a pre-defined chart-type or create your own!")]),t._v(" "),s("p",[t._v("The following example instantiates a bar chart showing the number of votes for different colors and the y-axis starting at 0.")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token script"}},[s("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Red'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Blue'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Yellow'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Green'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Purple'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Orange'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'# of Votes'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("19")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("5")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 99, 132, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(54, 162, 235, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 206, 86, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(75, 192, 192, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(153, 102, 255, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 159, 64, 0.2)'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 99, 132, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(54, 162, 235, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 206, 86, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(75, 192, 192, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(153, 102, 255, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 159, 64, 1)'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderWidth")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("beginAtZero")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/183.22b2258c.js b/scriptApl/chart.js/dist/docs/assets/js/183.22b2258c.js new file mode 100644 index 00000000..e9329cb7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/183.22b2258c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[183],{513:function(e,t,a){"use strict";a.r(t);var o=a(6),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"_3-x-migration-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-x-migration-guide"}},[e._v("#")]),e._v(" 3.x Migration Guide")]),e._v(" "),a("p",[e._v("Chart.js 3.0 introduces a number of breaking changes. Chart.js 2.0 was released in April 2016. In the years since then, as Chart.js has grown in popularity and feature set, we've learned some lessons about how to better create a charting library. In order to improve performance, offer new features, and improve maintainability, it was necessary to break backwards compatibility, but we aimed to do so only when worth the benefit. Some major highlights of v3 include:")]),e._v(" "),a("ul",[a("li",[e._v("Large "),a("RouterLink",{attrs:{to:"/general/performance.html"}},[e._v("performance")]),e._v(" improvements including the ability to skip data parsing and render charts in parallel via webworkers")],1),e._v(" "),a("li",[e._v("Additional configurability and scriptable options with better defaults")]),e._v(" "),a("li",[e._v("Completely rewritten animation system")]),e._v(" "),a("li",[e._v("Rewritten filler plugin with numerous bug fixes")]),e._v(" "),a("li",[e._v("Documentation migrated from GitBook to Vuepress")]),e._v(" "),a("li",[e._v("API documentation generated and verified by TypeDoc")]),e._v(" "),a("li",[e._v("No more CSS injection")]),e._v(" "),a("li",[e._v("Tons of bug fixes")]),e._v(" "),a("li",[e._v("Tree shaking")])]),e._v(" "),a("h2",{attrs:{id:"end-user-migration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#end-user-migration"}},[e._v("#")]),e._v(" End user migration")]),e._v(" "),a("h3",{attrs:{id:"setup-and-installation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setup-and-installation"}},[e._v("#")]),e._v(" Setup and installation")]),e._v(" "),a("ul",[a("li",[e._v("Distributed files are now in lower case. For example: "),a("code",[e._v("dist/chart.js")]),e._v(".")]),e._v(" "),a("li",[e._v("Chart.js is no longer providing the "),a("code",[e._v("Chart.bundle.js")]),e._v(" and "),a("code",[e._v("Chart.bundle.min.js")]),e._v(". Please see the "),a("RouterLink",{attrs:{to:"/getting-started/installation.html"}},[e._v("installation")]),e._v(" and "),a("RouterLink",{attrs:{to:"/getting-started/integration.html"}},[e._v("integration")]),e._v(" docs for details on the recommended way to setup Chart.js if you were using these builds.")],1),e._v(" "),a("li",[a("code",[e._v("moment")]),e._v(" is no longer specified as an npm dependency. If you are using the "),a("code",[e._v("time")]),e._v(" or "),a("code",[e._v("timeseries")]),e._v(" scales, you must include one of "),a("a",{attrs:{href:"https://github.com/chartjs/awesome#adapters",target:"_blank",rel:"noopener noreferrer"}},[e._v("the available adapters"),a("OutboundLink")],1),e._v(" and corresponding date library. You no longer need to exclude moment from your build.")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("Chart")]),e._v(" constructor will throw an error if the canvas/context provided is already in use")]),e._v(" "),a("li",[e._v("Chart.js 3 is tree-shakeable. So if you are using it as an "),a("code",[e._v("npm")]),e._v(" module in a project and want to make use of this feature, you need to import and register the controllers, elements, scales and plugins you want to use, for a list of all the available items to import see "),a("RouterLink",{attrs:{to:"/getting-started/integration.html#bundlers-webpack-rollup-etc"}},[e._v("integration")]),e._v(". You will not have to call "),a("code",[e._v("register")]),e._v(" if importing Chart.js via a "),a("code",[e._v("script")]),e._v(" tag or from the "),a("RouterLink",{attrs:{to:"/getting-started/integration.html#bundlers-webpack-rollup-etc"}},[a("code",[e._v("auto")])]),e._v(" register path as an "),a("code",[e._v("npm")]),e._v(" module, in this case you will not get the tree shaking benefits. Here is an example of registering components:")],1)]),e._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("import")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v(" Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" LineController"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" LineElement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" PointElement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" LinearScale"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" Title "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("from")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[e._v("`")]),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("chart.js")]),a("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[e._v("`")])]),e._v("\n\nChart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("LineController"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" LineElement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" PointElement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" LinearScale"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" Title"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(";")]),e._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("const")]),e._v(" chart "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("new")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[e._v("Chart")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'line'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("// data: ...")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("plugins")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'Chart Title'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'linear'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'linear'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v("\n")])])]),a("h3",{attrs:{id:"chart-types"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart-types"}},[e._v("#")]),e._v(" Chart types")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("horizontalBar")]),e._v(" chart type was removed. Horizontal bar charts can be configured using the new "),a("RouterLink",{attrs:{to:"/charts/bar.html#horizontal-bar-chart"}},[a("code",[e._v("indexAxis")])]),e._v(" option")],1)]),e._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[e._v("#")]),e._v(" Options")]),e._v(" "),a("p",[e._v("A number of changes were made to the configuration options passed to the "),a("code",[e._v("Chart")]),e._v(" constructor. Those changes are documented below.")]),e._v(" "),a("h4",{attrs:{id:"generic-changes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generic-changes"}},[e._v("#")]),e._v(" Generic changes")]),e._v(" "),a("ul",[a("li",[e._v("Indexable options are now looping. "),a("code",[e._v("backgroundColor: ['red', 'green']")]),e._v(" will result in alternating "),a("code",[e._v("'red'")]),e._v(" / "),a("code",[e._v("'green'")]),e._v(" if there are more than 2 data points.")]),e._v(" "),a("li",[e._v("The input properties of object data can now be freely specified, see "),a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[e._v("data structures")]),e._v(" for details.")],1),e._v(" "),a("li",[e._v("Most options are resolved utilizing proxies, instead of merging with defaults. In addition to easily enabling different resolution routes for different contexts, it allows using other resolved options in scriptable options.\n"),a("ul",[a("li",[e._v("Options are by default scriptable and indexable, unless disabled for some reason.")]),e._v(" "),a("li",[e._v("Scriptable options receive a option resolver as second parameter for accessing other options in same context.")]),e._v(" "),a("li",[e._v("Resolution falls to upper scopes, if no match is found earlier. See "),a("RouterLink",{attrs:{to:"/general/options.html"}},[e._v("options")]),e._v(" for details.")],1)])])]),e._v(" "),a("h4",{attrs:{id:"specific-changes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#specific-changes"}},[e._v("#")]),e._v(" Specific changes")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("elements.rectangle")]),e._v(" is now "),a("code",[e._v("elements.bar")])]),e._v(" "),a("li",[a("code",[e._v("hover.animationDuration")]),e._v(" is now configured in "),a("code",[e._v("animation.active.duration")])]),e._v(" "),a("li",[a("code",[e._v("responsiveAnimationDuration")]),e._v(" is now configured in "),a("code",[e._v("animation.resize.duration")])]),e._v(" "),a("li",[e._v("Polar area "),a("code",[e._v("elements.arc.angle")]),e._v(" is now configured in degrees instead of radians.")]),e._v(" "),a("li",[e._v("Polar area "),a("code",[e._v("startAngle")]),e._v(" option is now consistent with "),a("code",[e._v("Radar")]),e._v(", 0 is at top and value is in degrees. Default is changed from "),a("code",[e._v("-½π")]),e._v(" to "),a("code",[e._v("0")]),e._v(".")]),e._v(" "),a("li",[e._v("Doughnut "),a("code",[e._v("rotation")]),e._v(" option is now in degrees and 0 is at top. Default is changed from "),a("code",[e._v("-½π")]),e._v(" to "),a("code",[e._v("0")]),e._v(".")]),e._v(" "),a("li",[e._v("Doughnut "),a("code",[e._v("circumference")]),e._v(" option is now in degrees. Default is changed from "),a("code",[e._v("2Ï€")]),e._v(" to "),a("code",[e._v("360")]),e._v(".")]),e._v(" "),a("li",[e._v("Doughnut "),a("code",[e._v("cutoutPercentage")]),e._v(" was renamed to "),a("code",[e._v("cutout")]),e._v("and accepts pixels as number and percent as string ending with "),a("code",[e._v("%")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("scale")]),e._v(" option was removed in favor of "),a("code",[e._v("options.scales.r")]),e._v(" (or any other scale id, with "),a("code",[e._v("axis: 'r'")]),e._v(")")]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes")]),e._v(" arrays were removed. Scales are now configured directly to "),a("code",[e._v("options.scales")]),e._v(" object with the object key being the scale Id.")]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.barPercentage")]),e._v(" was moved to dataset option "),a("code",[e._v("barPercentage")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.barThickness")]),e._v(" was moved to dataset option "),a("code",[e._v("barThickness")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.categoryPercentage")]),e._v(" was moved to dataset option "),a("code",[e._v("categoryPercentage")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.maxBarThickness")]),e._v(" was moved to dataset option "),a("code",[e._v("maxBarThickness")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.minBarLength")]),e._v(" was moved to dataset option "),a("code",[e._v("minBarLength")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.scaleLabel")]),e._v(" was renamed to "),a("code",[e._v("scales[id].title")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.scaleLabel.labelString")]),e._v(" was renamed to "),a("code",[e._v("scales[id].title.text")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.beginAtZero")]),e._v(" was renamed to "),a("code",[e._v("scales[id].beginAtZero")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.max")]),e._v(" was renamed to "),a("code",[e._v("scales[id].max")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.min")]),e._v(" was renamed to "),a("code",[e._v("scales[id].min")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.reverse")]),e._v(" was renamed to "),a("code",[e._v("scales[id].reverse")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.suggestedMax")]),e._v(" was renamed to "),a("code",[e._v("scales[id].suggestedMax")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.suggestedMin")]),e._v(" was renamed to "),a("code",[e._v("scales[id].suggestedMin")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.unitStepSize")]),e._v(" was removed. Use "),a("code",[e._v("scales[id].ticks.stepSize")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.ticks.userCallback")]),e._v(" was renamed to "),a("code",[e._v("scales[id].ticks.callback")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.time.format")]),e._v(" was renamed to "),a("code",[e._v("scales[id].time.parser")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.time.max")]),e._v(" was renamed to "),a("code",[e._v("scales[id].max")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.time.min")]),e._v(" was renamed to "),a("code",[e._v("scales[id].min")])]),e._v(" "),a("li",[a("code",[e._v("scales.[x/y]Axes.zeroLine*")]),e._v(" options of axes were removed. Use scriptable scale options instead.")]),e._v(" "),a("li",[e._v("The dataset option "),a("code",[e._v("steppedLine")]),e._v(" was removed. Use "),a("code",[e._v("stepped")])]),e._v(" "),a("li",[e._v("The chart option "),a("code",[e._v("showLines")]),e._v(" was renamed to "),a("code",[e._v("showLine")]),e._v(" to match the dataset option.")]),e._v(" "),a("li",[e._v("The chart option "),a("code",[e._v("startAngle")]),e._v(" was moved to "),a("code",[e._v("radial")]),e._v(" scale options.")]),e._v(" "),a("li",[e._v("To override the platform class used in a chart instance, pass "),a("code",[e._v("platform: PlatformClass")]),e._v(" in the config object. Note that the class should be passed, not an instance of the class.")]),e._v(" "),a("li",[a("code",[e._v("aspectRatio")]),e._v(" defaults to 1 for doughnut, pie, polarArea, and radar charts")]),e._v(" "),a("li",[a("code",[e._v("TimeScale")]),e._v(" does not read "),a("code",[e._v("t")]),e._v(" from object data by default anymore. The default property is "),a("code",[e._v("x")]),e._v(" or "),a("code",[e._v("y")]),e._v(", depending on the orientation. See "),a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[e._v("data structures")]),e._v(" for details on how to change the default.")],1),e._v(" "),a("li",[a("code",[e._v("tooltips")]),e._v(" namespace was renamed to "),a("code",[e._v("tooltip")]),e._v(" to match the plugin name")]),e._v(" "),a("li",[a("code",[e._v("legend")]),e._v(", "),a("code",[e._v("title")]),e._v(" and "),a("code",[e._v("tooltip")]),e._v(" namespaces were moved from "),a("code",[e._v("options")]),e._v(" to "),a("code",[e._v("options.plugins")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("tooltips.custom")]),e._v(" was renamed to "),a("code",[e._v("plugins.tooltip.external")])])]),e._v(" "),a("h4",{attrs:{id:"defaults"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defaults"}},[e._v("#")]),e._v(" Defaults")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("global")]),e._v(" namespace was removed from "),a("code",[e._v("defaults")]),e._v(". So "),a("code",[e._v("Chart.defaults.global")]),e._v(" is now "),a("code",[e._v("Chart.defaults")])]),e._v(" "),a("li",[e._v("Dataset controller defaults were relocate to "),a("code",[e._v("overrides")]),e._v(". For example "),a("code",[e._v("Chart.defaults.line")]),e._v(" is now "),a("code",[e._v("Chart.overrides.line")])]),e._v(" "),a("li",[a("code",[e._v("default")]),e._v(" prefix was removed from defaults. For example "),a("code",[e._v("Chart.defaults.global.defaultColor")]),e._v(" is now "),a("code",[e._v("Chart.defaults.color")])]),e._v(" "),a("li",[a("code",[e._v("defaultColor")]),e._v(" was split to "),a("code",[e._v("color")]),e._v(", "),a("code",[e._v("borderColor")]),e._v(" and "),a("code",[e._v("backgroundColor")])]),e._v(" "),a("li",[a("code",[e._v("defaultFontColor")]),e._v(" was renamed to "),a("code",[e._v("color")])]),e._v(" "),a("li",[a("code",[e._v("defaultFontFamily")]),e._v(" was renamed to "),a("code",[e._v("font.family")])]),e._v(" "),a("li",[a("code",[e._v("defaultFontSize")]),e._v(" was renamed to "),a("code",[e._v("font.size")])]),e._v(" "),a("li",[a("code",[e._v("defaultFontStyle")]),e._v(" was renamed to "),a("code",[e._v("font.style")])]),e._v(" "),a("li",[a("code",[e._v("defaultLineHeight")]),e._v(" was renamed to "),a("code",[e._v("font.lineHeight")])]),e._v(" "),a("li",[e._v("Horizontal Bar default tooltip mode was changed from "),a("code",[e._v("'index'")]),e._v(" to "),a("code",[e._v("'nearest'")]),e._v(" to match vertical bar charts")]),e._v(" "),a("li",[a("code",[e._v("legend")]),e._v(", "),a("code",[e._v("title")]),e._v(" and "),a("code",[e._v("tooltip")]),e._v(" namespaces were moved from "),a("code",[e._v("Chart.defaults")]),e._v(" to "),a("code",[e._v("Chart.defaults.plugins")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("elements.line.fill")]),e._v(" default changed from "),a("code",[e._v("true")]),e._v(" to "),a("code",[e._v("false")]),e._v(".")]),e._v(" "),a("li",[e._v("Line charts no longer override the default "),a("code",[e._v("interaction")]),e._v(" mode. Default is changed from "),a("code",[e._v("'index'")]),e._v(" to "),a("code",[e._v("'nearest'")]),e._v(".")])]),e._v(" "),a("h4",{attrs:{id:"scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scales"}},[e._v("#")]),e._v(" Scales")]),e._v(" "),a("p",[e._v("The configuration options for scales is the largest change in v3. The "),a("code",[e._v("xAxes")]),e._v(" and "),a("code",[e._v("yAxes")]),e._v(" arrays were removed and axis options are individual scales now keyed by scale ID.")]),e._v(" "),a("p",[e._v("The v2 configuration below is shown with it's new v3 configuration")]),e._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("xAxes")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'x'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'time'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'Date'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("ticks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("major")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("enabled")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[e._v("font")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[e._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("if")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("major"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("return")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("weight")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'bold'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("color")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'#FF0000'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(";")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("yAxes")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'y'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'value'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n")])])]),a("p",[e._v("And now, in v3:")]),e._v(" "),a("div",{staticClass:"language-javascript extra-class"},[a("pre",{pre:!0,attrs:{class:"language-javascript"}},[a("code",[a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("options")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("scales")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("x")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("type")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'time'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'Date'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("ticks")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("major")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("enabled")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[e._v("color")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[e._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=>")]),e._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("major "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'#FF0000'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[e._v("font")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("function")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[e._v("context")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("if")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" context"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("tick"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("major"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("return")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("weight")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'bold'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(";")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("title")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("display")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[e._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[e._v("text")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'value'")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n")])])]),a("ul",[a("li",[e._v("The time scale option "),a("code",[e._v("distribution: 'series'")]),e._v(" was removed and a new scale type "),a("code",[e._v("timeseries")]),e._v(" was introduced in its place")]),e._v(" "),a("li",[e._v("In the time scale, "),a("code",[e._v("autoSkip")]),e._v(" is now enabled by default for consistency with the other scales")])]),e._v(" "),a("h4",{attrs:{id:"animations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[e._v("#")]),e._v(" Animations")]),e._v(" "),a("p",[e._v("Animation system was completely rewritten in Chart.js v3. Each property can now be animated separately. Please see "),a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[e._v("animations")]),e._v(" docs for details.")],1),e._v(" "),a("h4",{attrs:{id:"customizability"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#customizability"}},[e._v("#")]),e._v(" Customizability")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("custom")]),e._v(" attribute of elements was removed. Please use scriptable options")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("hover")]),e._v(" property of scriptable options "),a("code",[e._v("context")]),e._v(" object was renamed to "),a("code",[e._v("active")]),e._v(" to align it with the datalabels plugin.")])]),e._v(" "),a("h4",{attrs:{id:"interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactions"}},[e._v("#")]),e._v(" Interactions")]),e._v(" "),a("ul",[a("li",[e._v("To allow DRY configuration, a root options scope for common interaction options was added. "),a("code",[e._v("options.hover")]),e._v(" and "),a("code",[e._v("options.plugins.tooltip")]),e._v(" now both extend from "),a("code",[e._v("options.interaction")]),e._v(". Defaults are defined at "),a("code",[e._v("defaults.interaction")]),e._v(" level, so by default hover and tooltip interactions share the same mode etc.")]),e._v(" "),a("li",[a("code",[e._v("interactions")]),e._v(" are now limited to the chart area + allowed overflow")]),e._v(" "),a("li",[a("code",[e._v("{mode: 'label'}")]),e._v(" was replaced with "),a("code",[e._v("{mode: 'index'}")])]),e._v(" "),a("li",[a("code",[e._v("{mode: 'single'}")]),e._v(" was replaced with "),a("code",[e._v("{mode: 'nearest', intersect: true}")])]),e._v(" "),a("li",[a("code",[e._v("modes['X-axis']")]),e._v(" was replaced with "),a("code",[e._v("{mode: 'index', intersect: false}")])]),e._v(" "),a("li",[a("code",[e._v("options.onClick")]),e._v(" is now limited to the chart area")]),e._v(" "),a("li",[a("code",[e._v("options.onClick")]),e._v(" and "),a("code",[e._v("options.onHover")]),e._v(" now receive the "),a("code",[e._v("chart")]),e._v(" instance as a 3rd argument")]),e._v(" "),a("li",[a("code",[e._v("options.onHover")]),e._v(" now receives a wrapped "),a("code",[e._v("event")]),e._v(" as the first parameter. The previous first parameter value is accessible via "),a("code",[e._v("event.native")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("options.hover.onHover")]),e._v(" was removed, use "),a("code",[e._v("options.onHover")]),e._v(".")])]),e._v(" "),a("h4",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[e._v("#")]),e._v(" Ticks")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("options.gridLines")]),e._v(" was renamed to "),a("code",[e._v("options.grid")])]),e._v(" "),a("li",[a("code",[e._v("options.gridLines.offsetGridLines")]),e._v(" was renamed to "),a("code",[e._v("options.grid.offset")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("options.gridLines.tickMarkLength")]),e._v(" was renamed to "),a("code",[e._v("options.grid.tickLength")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("options.ticks.fixedStepSize")]),e._v(" is no longer used. Use "),a("code",[e._v("options.ticks.stepSize")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("options.ticks.major")]),e._v(" and "),a("code",[e._v("options.ticks.minor")]),e._v(" were replaced with scriptable options for tick fonts.")]),e._v(" "),a("li",[a("code",[e._v("Chart.Ticks.formatters.linear")]),e._v(" was renamed to "),a("code",[e._v("Chart.Ticks.formatters.numeric")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("options.ticks.backdropPaddingX")]),e._v(" and "),a("code",[e._v("options.ticks.backdropPaddingY")]),e._v(" were replaced with "),a("code",[e._v("options.ticks.backdropPadding")]),e._v(" in the radial linear scale.")])]),e._v(" "),a("h4",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[e._v("#")]),e._v(" Tooltip")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("xLabel")]),e._v(" and "),a("code",[e._v("yLabel")]),e._v(" were removed. Please use "),a("code",[e._v("label")]),e._v(" and "),a("code",[e._v("formattedValue")])]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("filter")]),e._v(" option will now be passed additional parameters when called and should have the method signature "),a("code",[e._v("function(tooltipItem, index, tooltipItems, data)")])]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("custom")]),e._v(" callback now takes a context object that has "),a("code",[e._v("tooltip")]),e._v(" and "),a("code",[e._v("chart")]),e._v(" properties")]),e._v(" "),a("li",[e._v("All properties of tooltip model related to the tooltip options have been moved to reside within the "),a("code",[e._v("options")]),e._v(" property.")]),e._v(" "),a("li",[e._v("The callbacks no longer are given a "),a("code",[e._v("data")]),e._v(" parameter. The tooltip item parameter contains the chart and dataset instead")]),e._v(" "),a("li",[e._v("The tooltip item's "),a("code",[e._v("index")]),e._v(" parameter was renamed to "),a("code",[e._v("dataIndex")]),e._v(" and "),a("code",[e._v("value")]),e._v(" was renamed to "),a("code",[e._v("formattedValue")])]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("xPadding")]),e._v(" and "),a("code",[e._v("yPadding")]),e._v(" options were merged into a single "),a("code",[e._v("padding")]),e._v(" object")])]),e._v(" "),a("h2",{attrs:{id:"developer-migration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#developer-migration"}},[e._v("#")]),e._v(" Developer migration")]),e._v(" "),a("p",[e._v("While the end-user migration for Chart.js 3 is fairly straight-forward, the developer migration can be more complicated. Please reach out for help in the #dev "),a("a",{attrs:{href:"https://chartjs-slack.herokuapp.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),a("OutboundLink")],1),e._v(" channel if tips on migrating would be helpful.")]),e._v(" "),a("p",[e._v("Some of the biggest things that have changed:")]),e._v(" "),a("ul",[a("li",[e._v("There is a completely rewritten and more performant animation system.\n"),a("ul",[a("li",[a("code",[e._v("Element._model")]),e._v(" and "),a("code",[e._v("Element._view")]),e._v(" are no longer used and properties are now set directly on the elements. You will have to use the method "),a("code",[e._v("getProps")]),e._v(" to access these properties inside most methods such as "),a("code",[e._v("inXRange")]),e._v("/"),a("code",[e._v("inYRange")]),e._v(" and "),a("code",[e._v("getCenterPoint")]),e._v(". Please take a look at "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/tree/master/src/elements",target:"_blank",rel:"noopener noreferrer"}},[e._v("the Chart.js-provided elements"),a("OutboundLink")],1),e._v(" for examples.")]),e._v(" "),a("li",[e._v("When building the elements in a controller, it's now suggested to call "),a("code",[e._v("updateElement")]),e._v(" to provide the element properties. There are also methods such as "),a("code",[e._v("getSharedOptions")]),e._v(" and "),a("code",[e._v("includeOptions")]),e._v(" that have been added to skip redundant computation. Please take a look at "),a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/tree/master/src/controllers",target:"_blank",rel:"noopener noreferrer"}},[e._v("the Chart.js-provided controllers"),a("OutboundLink")],1),e._v(" for examples.")])])]),e._v(" "),a("li",[e._v("Scales introduced a new parsing API. This API takes user data and converts it into a more standard format. E.g. it allows users to provide numeric data as a "),a("code",[e._v("string")]),e._v(" and converts it to a "),a("code",[e._v("number")]),e._v(" where necessary. Previously this was done on the fly as charts were rendered. Now it's done up front with the ability to skip it for better performance if users provide data in the correct format. If you're using standard data format like "),a("code",[e._v("x")]),e._v("/"),a("code",[e._v("y")]),e._v(" you may not need to do anything. If you're using a custom data format you will have to override some of the parse methods in "),a("code",[e._v("core.datasetController.js")]),e._v(". An example can be found in "),a("a",{attrs:{href:"https://github.com/chartjs/chartjs-chart-financial",target:"_blank",rel:"noopener noreferrer"}},[e._v("chartjs-chart-financial"),a("OutboundLink")],1),e._v(", which uses an "),a("code",[e._v("{o, h, l, c}")]),e._v(" data format.")])]),e._v(" "),a("p",[e._v("A few changes were made to controllers that are more straight-forward, but will affect all controllers:")]),e._v(" "),a("ul",[a("li",[e._v("Options:\n"),a("ul",[a("li",[a("code",[e._v("global")]),e._v(" was removed from the defaults namespace as it was unnecessary and sometimes inconsistent")]),e._v(" "),a("li",[e._v("Dataset defaults are now under the chart type options instead of vice-versa. This was not able to be done when introduced in 2.x for backwards compatibility. Fixing it removes the biggest stumbling block that new chart developers encountered")]),e._v(" "),a("li",[e._v("Scale default options need to be updated as described in the end user migration section (e.g. "),a("code",[e._v("x")]),e._v(" instead of "),a("code",[e._v("xAxes")]),e._v(" and "),a("code",[e._v("y")]),e._v(" instead of "),a("code",[e._v("yAxes")]),e._v(")")])])]),e._v(" "),a("li",[a("code",[e._v("updateElement")]),e._v(" was changed to "),a("code",[e._v("updateElements")]),e._v(" and has a new method signature as described below. This provides performance enhancements such as allowing easier reuse of computations that are common to all elements and reducing the number of function calls")])]),e._v(" "),a("h3",{attrs:{id:"removed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed"}},[e._v("#")]),e._v(" Removed")]),e._v(" "),a("p",[e._v("The following properties and methods were removed:")]),e._v(" "),a("h4",{attrs:{id:"removed-from-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-chart"}},[e._v("#")]),e._v(" Removed from Chart")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Chart.animationService")])]),e._v(" "),a("li",[a("code",[e._v("Chart.active")])]),e._v(" "),a("li",[a("code",[e._v("Chart.borderWidth")])]),e._v(" "),a("li",[a("code",[e._v("Chart.chart.chart")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Bar")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.Bubble")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.Chart")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Controller")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Doughnut")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.innerRadius")]),e._v(" now lives on doughnut, pie, and polarArea controllers")]),e._v(" "),a("li",[a("code",[e._v("Chart.lastActive")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Legend")]),e._v(" was moved to "),a("code",[e._v("Chart.plugins.legend._element")]),e._v(" and made private")]),e._v(" "),a("li",[a("code",[e._v("Chart.Line")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.LinearScaleBase")]),e._v(" now must be imported and cannot be accessed off the "),a("code",[e._v("Chart")]),e._v(" object")]),e._v(" "),a("li",[a("code",[e._v("Chart.offsetX")])]),e._v(" "),a("li",[a("code",[e._v("Chart.offsetY")])]),e._v(" "),a("li",[a("code",[e._v("Chart.outerRadius")]),e._v(" now lives on doughnut, pie, and polarArea controllers")]),e._v(" "),a("li",[a("code",[e._v("Chart.plugins")]),e._v(" was replaced with "),a("code",[e._v("Chart.registry")]),e._v(". Plugin defaults are now in "),a("code",[e._v("Chart.defaults.plugins[id]")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("Chart.plugins.register")]),e._v(" was replaced by "),a("code",[e._v("Chart.register")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("Chart.PolarArea")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.prototype.generateLegend")])]),e._v(" "),a("li",[a("code",[e._v("Chart.platform")]),e._v(". It only contained "),a("code",[e._v("disableCSSInjection")]),e._v(". CSS is never injected in v3.")]),e._v(" "),a("li",[a("code",[e._v("Chart.PluginBase")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Radar")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.radiusLength")])]),e._v(" "),a("li",[a("code",[e._v("Chart.scaleService")]),e._v(" was replaced with "),a("code",[e._v("Chart.registry")]),e._v(". Scale defaults are now in "),a("code",[e._v("Chart.defaults.scales[type]")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("Chart.Scatter")]),e._v(". New charts are created via "),a("code",[e._v("new Chart")]),e._v(" and providing the appropriate "),a("code",[e._v("type")]),e._v(" parameter")]),e._v(" "),a("li",[a("code",[e._v("Chart.types")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Title")]),e._v(" was moved to "),a("code",[e._v("Chart.plugins.title._element")]),e._v(" and made private")]),e._v(" "),a("li",[a("code",[e._v("Chart.Tooltip")]),e._v(" is now provided by the tooltip plugin. The positioners can be accessed from "),a("code",[e._v("tooltipPlugin.positioners")])]),e._v(" "),a("li",[a("code",[e._v("ILayoutItem.minSize")])])]),e._v(" "),a("h4",{attrs:{id:"removed-from-dataset-controllers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-dataset-controllers"}},[e._v("#")]),e._v(" Removed from Dataset Controllers")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("BarController.getDatasetMeta().bar")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.addElementAndReset")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.createMetaData")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.createMetaDataset")])]),e._v(" "),a("li",[a("code",[e._v("DoughnutController.getRingIndex")])])]),e._v(" "),a("h4",{attrs:{id:"removed-from-elements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-elements"}},[e._v("#")]),e._v(" Removed from Elements")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Element.getArea")])]),e._v(" "),a("li",[a("code",[e._v("Element.height")])]),e._v(" "),a("li",[a("code",[e._v("Element.hidden")]),e._v(" was replaced by chart level status, usable with "),a("code",[e._v("getDataVisibility(index)")]),e._v(" / "),a("code",[e._v("toggleDataVisibility(index)")])]),e._v(" "),a("li",[a("code",[e._v("Element.initialize")])]),e._v(" "),a("li",[a("code",[e._v("Element.inLabelRange")])]),e._v(" "),a("li",[a("code",[e._v("Line.calculatePointY")])])]),e._v(" "),a("h4",{attrs:{id:"removed-from-helpers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-helpers"}},[e._v("#")]),e._v(" Removed from Helpers")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("helpers.addEvent")])]),e._v(" "),a("li",[a("code",[e._v("helpers.aliasPixel")])]),e._v(" "),a("li",[a("code",[e._v("helpers.arrayEquals")])]),e._v(" "),a("li",[a("code",[e._v("helpers.configMerge")])]),e._v(" "),a("li",[a("code",[e._v("helpers.findIndex")])]),e._v(" "),a("li",[a("code",[e._v("helpers.findNextWhere")])]),e._v(" "),a("li",[a("code",[e._v("helpers.findPreviousWhere")])]),e._v(" "),a("li",[a("code",[e._v("helpers.extend")]),e._v(". Use "),a("code",[e._v("Object.assign")]),e._v(" instead")]),e._v(" "),a("li",[a("code",[e._v("helpers.getValueAtIndexOrDefault")]),e._v(". Use "),a("code",[e._v("helpers.resolve")]),e._v(" instead.")]),e._v(" "),a("li",[a("code",[e._v("helpers.indexOf")])]),e._v(" "),a("li",[a("code",[e._v("helpers.lineTo")])]),e._v(" "),a("li",[a("code",[e._v("helpers.longestText")]),e._v(" was made private")]),e._v(" "),a("li",[a("code",[e._v("helpers.max")])]),e._v(" "),a("li",[a("code",[e._v("helpers.measureText")]),e._v(" was made private")]),e._v(" "),a("li",[a("code",[e._v("helpers.min")])]),e._v(" "),a("li",[a("code",[e._v("helpers.nextItem")])]),e._v(" "),a("li",[a("code",[e._v("helpers.niceNum")])]),e._v(" "),a("li",[a("code",[e._v("helpers.numberOfLabelLines")])]),e._v(" "),a("li",[a("code",[e._v("helpers.previousItem")])]),e._v(" "),a("li",[a("code",[e._v("helpers.removeEvent")])]),e._v(" "),a("li",[a("code",[e._v("helpers.roundedRect")])]),e._v(" "),a("li",[a("code",[e._v("helpers.scaleMerge")])]),e._v(" "),a("li",[a("code",[e._v("helpers.where")])])]),e._v(" "),a("h4",{attrs:{id:"removed-from-layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-layout"}},[e._v("#")]),e._v(" Removed from Layout")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Layout.defaults")])])]),e._v(" "),a("h4",{attrs:{id:"removed-from-scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-scales"}},[e._v("#")]),e._v(" Removed from Scales")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("LinearScaleBase.handleDirectionalChanges")])]),e._v(" "),a("li",[a("code",[e._v("LogarithmicScale.minNotZero")])]),e._v(" "),a("li",[a("code",[e._v("Scale.getRightValue")])]),e._v(" "),a("li",[a("code",[e._v("Scale.longestLabelWidth")])]),e._v(" "),a("li",[a("code",[e._v("Scale.longestTextCache")]),e._v(" is now private")]),e._v(" "),a("li",[a("code",[e._v("Scale.margins")]),e._v(" is now private")]),e._v(" "),a("li",[a("code",[e._v("Scale.mergeTicksOptions")])]),e._v(" "),a("li",[a("code",[e._v("Scale.ticksAsNumbers")])]),e._v(" "),a("li",[a("code",[e._v("Scale.tickValues")]),e._v(" is now private")]),e._v(" "),a("li",[a("code",[e._v("TimeScale.getLabelCapacity")]),e._v(" is now private")]),e._v(" "),a("li",[a("code",[e._v("TimeScale.tickFormatFunction")]),e._v(" is now private")])]),e._v(" "),a("h4",{attrs:{id:"removed-from-plugins-legend-title-and-tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-from-plugins-legend-title-and-tooltip"}},[e._v("#")]),e._v(" Removed from Plugins (Legend, Title, and Tooltip)")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("IPlugin.afterScaleUpdate")]),e._v(". Use "),a("code",[e._v("afterLayout")]),e._v(" instead")]),e._v(" "),a("li",[a("code",[e._v("Legend.margins")]),e._v(" is now private")]),e._v(" "),a("li",[e._v("Legend "),a("code",[e._v("onClick")]),e._v(", "),a("code",[e._v("onHover")]),e._v(", and "),a("code",[e._v("onLeave")]),e._v(" options now receive the legend as the 3rd argument in addition to implicitly via "),a("code",[e._v("this")])]),e._v(" "),a("li",[e._v("Legend "),a("code",[e._v("onClick")]),e._v(", "),a("code",[e._v("onHover")]),e._v(", and "),a("code",[e._v("onLeave")]),e._v(" options now receive a wrapped "),a("code",[e._v("event")]),e._v(" as the first parameter. The previous first parameter value is accessible via "),a("code",[e._v("event.native")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("Title.margins")]),e._v(" is now private")]),e._v(" "),a("li",[e._v("The tooltip item's "),a("code",[e._v("x")]),e._v(" and "),a("code",[e._v("y")]),e._v(" attributes were replaced by "),a("code",[e._v("element")]),e._v(". You can use "),a("code",[e._v("element.x")]),e._v(" and "),a("code",[e._v("element.y")]),e._v(" or "),a("code",[e._v("element.tooltipPosition()")]),e._v(" instead.")])]),e._v(" "),a("h4",{attrs:{id:"removal-of-public-apis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removal-of-public-apis"}},[e._v("#")]),e._v(" Removal of Public APIs")]),e._v(" "),a("p",[e._v("The following public APIs were removed.")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("getElementAtEvent")]),e._v(" is replaced with "),a("code",[e._v("chart.getElementsAtEventForMode(e, 'nearest', { intersect: true }, false)")])]),e._v(" "),a("li",[a("code",[e._v("getElementsAtEvent")]),e._v(" is replaced with "),a("code",[e._v("chart.getElementsAtEventForMode(e, 'index', { intersect: true }, false)")])]),e._v(" "),a("li",[a("code",[e._v("getElementsAtXAxis")]),e._v(" is replaced with "),a("code",[e._v("chart.getElementsAtEventForMode(e, 'index', { intersect: false }, false)")])]),e._v(" "),a("li",[a("code",[e._v("getDatasetAtEvent")]),e._v(" is replaced with "),a("code",[e._v("chart.getElementsAtEventForMode(e, 'dataset', { intersect: true }, false)")])])]),e._v(" "),a("h4",{attrs:{id:"removal-of-private-apis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removal-of-private-apis"}},[e._v("#")]),e._v(" Removal of private APIs")]),e._v(" "),a("p",[e._v("The following private APIs were removed.")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Chart._bufferedRender")])]),e._v(" "),a("li",[a("code",[e._v("Chart._updating")])]),e._v(" "),a("li",[a("code",[e._v("Chart.data.datasets[datasetIndex]._meta")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController._getIndexScaleId")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController._getIndexScale")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController._getValueScaleId")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController._getValueScale")])]),e._v(" "),a("li",[a("code",[e._v("Element._ctx")])]),e._v(" "),a("li",[a("code",[e._v("Element._model")])]),e._v(" "),a("li",[a("code",[e._v("Element._view")])]),e._v(" "),a("li",[a("code",[e._v("LogarithmicScale._valueOffset")])]),e._v(" "),a("li",[a("code",[e._v("TimeScale.getPixelForOffset")])]),e._v(" "),a("li",[a("code",[e._v("TimeScale.getLabelWidth")])]),e._v(" "),a("li",[a("code",[e._v("Tooltip._lastActive")])])]),e._v(" "),a("h3",{attrs:{id:"renamed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#renamed"}},[e._v("#")]),e._v(" Renamed")]),e._v(" "),a("p",[e._v("The following properties were renamed during v3 development:")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Chart.Animation.animationObject")]),e._v(" was renamed to "),a("code",[e._v("Chart.Animation")])]),e._v(" "),a("li",[a("code",[e._v("Chart.Animation.chartInstance")]),e._v(" was renamed to "),a("code",[e._v("Chart.Animation.chart")])]),e._v(" "),a("li",[a("code",[e._v("Chart.canvasHelpers")]),e._v(" was merged with "),a("code",[e._v("Chart.helpers")])]),e._v(" "),a("li",[a("code",[e._v("Chart.elements.Arc")]),e._v(" was renamed to "),a("code",[e._v("Chart.elements.ArcElement")])]),e._v(" "),a("li",[a("code",[e._v("Chart.elements.Line")]),e._v(" was renamed to "),a("code",[e._v("Chart.elements.LineElement")])]),e._v(" "),a("li",[a("code",[e._v("Chart.elements.Point")]),e._v(" was renamed to "),a("code",[e._v("Chart.elements.PointElement")])]),e._v(" "),a("li",[a("code",[e._v("Chart.elements.Rectangle")]),e._v(" was renamed to "),a("code",[e._v("Chart.elements.BarElement")])]),e._v(" "),a("li",[a("code",[e._v("Chart.layoutService")]),e._v(" was renamed to "),a("code",[e._v("Chart.layouts")])]),e._v(" "),a("li",[a("code",[e._v("Chart.pluginService")]),e._v(" was renamed to "),a("code",[e._v("Chart.plugins")])]),e._v(" "),a("li",[a("code",[e._v("helpers.callCallback")]),e._v(" was renamed to "),a("code",[e._v("helpers.callback")])]),e._v(" "),a("li",[a("code",[e._v("helpers.drawRoundedRectangle")]),e._v(" was renamed to "),a("code",[e._v("helpers.roundedRect")])]),e._v(" "),a("li",[a("code",[e._v("helpers.getValueOrDefault")]),e._v(" was renamed to "),a("code",[e._v("helpers.valueOrDefault")])]),e._v(" "),a("li",[a("code",[e._v("LayoutItem.fullWidth")]),e._v(" was renamed to "),a("code",[e._v("LayoutItem.fullSize")])]),e._v(" "),a("li",[a("code",[e._v("Point.controlPointPreviousX")]),e._v(" was renamed to "),a("code",[e._v("Point.cp1x")])]),e._v(" "),a("li",[a("code",[e._v("Point.controlPointPreviousY")]),e._v(" was renamed to "),a("code",[e._v("Point.cp1y")])]),e._v(" "),a("li",[a("code",[e._v("Point.controlPointNextX")]),e._v(" was renamed to "),a("code",[e._v("Point.cp2x")])]),e._v(" "),a("li",[a("code",[e._v("Point.controlPointNextY")]),e._v(" was renamed to "),a("code",[e._v("Point.cp2y")])]),e._v(" "),a("li",[a("code",[e._v("Scale.calculateTickRotation")]),e._v(" was renamed to "),a("code",[e._v("Scale.calculateLabelRotation")])]),e._v(" "),a("li",[a("code",[e._v("Tooltip.options.legendColorBackgroupd")]),e._v(" was renamed to "),a("code",[e._v("Tooltip.options.multiKeyBackground")])])]),e._v(" "),a("h4",{attrs:{id:"renamed-private-apis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#renamed-private-apis"}},[e._v("#")]),e._v(" Renamed private APIs")]),e._v(" "),a("p",[e._v("The private APIs listed below were renamed:")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("BarController.calculateBarIndexPixels")]),e._v(" was renamed to "),a("code",[e._v("BarController._calculateBarIndexPixels")])]),e._v(" "),a("li",[a("code",[e._v("BarController.calculateBarValuePixels")]),e._v(" was renamed to "),a("code",[e._v("BarController._calculateBarValuePixels")])]),e._v(" "),a("li",[a("code",[e._v("BarController.getStackCount")]),e._v(" was renamed to "),a("code",[e._v("BarController._getStackCount")])]),e._v(" "),a("li",[a("code",[e._v("BarController.getStackIndex")]),e._v(" was renamed to "),a("code",[e._v("BarController._getStackIndex")])]),e._v(" "),a("li",[a("code",[e._v("BarController.getRuler")]),e._v(" was renamed to "),a("code",[e._v("BarController._getRuler")])]),e._v(" "),a("li",[a("code",[e._v("Chart.destroyDatasetMeta")]),e._v(" was renamed to "),a("code",[e._v("Chart._destroyDatasetMeta")])]),e._v(" "),a("li",[a("code",[e._v("Chart.drawDataset")]),e._v(" was renamed to "),a("code",[e._v("Chart._drawDataset")])]),e._v(" "),a("li",[a("code",[e._v("Chart.drawDatasets")]),e._v(" was renamed to "),a("code",[e._v("Chart._drawDatasets")])]),e._v(" "),a("li",[a("code",[e._v("Chart.eventHandler")]),e._v(" was renamed to "),a("code",[e._v("Chart._eventHandler")])]),e._v(" "),a("li",[a("code",[e._v("Chart.handleEvent")]),e._v(" was renamed to "),a("code",[e._v("Chart._handleEvent")])]),e._v(" "),a("li",[a("code",[e._v("Chart.initialize")]),e._v(" was renamed to "),a("code",[e._v("Chart._initialize")])]),e._v(" "),a("li",[a("code",[e._v("Chart.resetElements")]),e._v(" was renamed to "),a("code",[e._v("Chart._resetElements")])]),e._v(" "),a("li",[a("code",[e._v("Chart.unbindEvents")]),e._v(" was renamed to "),a("code",[e._v("Chart._unbindEvents")])]),e._v(" "),a("li",[a("code",[e._v("Chart.updateDataset")]),e._v(" was renamed to "),a("code",[e._v("Chart._updateDataset")])]),e._v(" "),a("li",[a("code",[e._v("Chart.updateDatasets")]),e._v(" was renamed to "),a("code",[e._v("Chart._updateDatasets")])]),e._v(" "),a("li",[a("code",[e._v("Chart.updateLayout")]),e._v(" was renamed to "),a("code",[e._v("Chart._updateLayout")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.destroy")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._destroy")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.insertElements")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._insertElements")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.onDataPop")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._onDataPop")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.onDataPush")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._onDataPush")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.onDataShift")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._onDataShift")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.onDataSplice")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._onDataSplice")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.onDataUnshift")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._onDataUnshift")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.removeElements")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._removeElements")])]),e._v(" "),a("li",[a("code",[e._v("DatasetController.resyncElements")]),e._v(" was renamed to "),a("code",[e._v("DatasetController._resyncElements")])]),e._v(" "),a("li",[a("code",[e._v("LayoutItem.isFullWidth")]),e._v(" was renamed to "),a("code",[e._v("LayoutItem.isFullSize")])]),e._v(" "),a("li",[a("code",[e._v("RadialLinearScale.setReductions")]),e._v(" was renamed to "),a("code",[e._v("RadialLinearScale._setReductions")])]),e._v(" "),a("li",[a("code",[e._v("RadialLinearScale.pointLabels")]),e._v(" was renamed to "),a("code",[e._v("RadialLinearScale._pointLabels")])]),e._v(" "),a("li",[a("code",[e._v("Scale.handleMargins")]),e._v(" was renamed to "),a("code",[e._v("Scale._handleMargins")])])]),e._v(" "),a("h3",{attrs:{id:"changed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed"}},[e._v("#")]),e._v(" Changed")]),e._v(" "),a("p",[e._v("The APIs listed in this section have changed in signature or behaviour from version 2.")]),e._v(" "),a("h4",{attrs:{id:"changed-in-scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-scales"}},[e._v("#")]),e._v(" Changed in Scales")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Scale.getLabelForIndex")]),e._v(" was replaced by "),a("code",[e._v("scale.getLabelForValue")])]),e._v(" "),a("li",[a("code",[e._v("Scale.getPixelForValue")]),e._v(" now only requires one parameter. For the "),a("code",[e._v("TimeScale")]),e._v(" that parameter must be millis since the epoch. As a performance optimization, it may take an optional second parameter, giving the index of the data point.")])]),e._v(" "),a("h5",{attrs:{id:"changed-in-ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-ticks"}},[e._v("#")]),e._v(" Changed in Ticks")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Scale.afterBuildTicks")]),e._v(" now has no parameters like the other callbacks")]),e._v(" "),a("li",[a("code",[e._v("Scale.buildTicks")]),e._v(" is now expected to return tick objects")]),e._v(" "),a("li",[a("code",[e._v("Scale.convertTicksToLabels")]),e._v(" was renamed to "),a("code",[e._v("generateTickLabels")]),e._v(". It is now expected to set the label property on the ticks given as input")]),e._v(" "),a("li",[a("code",[e._v("Scale.ticks")]),e._v(" now contains objects instead of strings")]),e._v(" "),a("li",[e._v("When the "),a("code",[e._v("autoSkip")]),e._v(" option is enabled, "),a("code",[e._v("Scale.ticks")]),e._v(" now contains only the non-skipped ticks instead of all ticks.")]),e._v(" "),a("li",[e._v("Ticks are now always generated in monotonically increasing order")])]),e._v(" "),a("h5",{attrs:{id:"changed-in-time-scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-time-scale"}},[e._v("#")]),e._v(" Changed in Time Scale")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("getValueForPixel")]),e._v(" now returns milliseconds since the epoch")])]),e._v(" "),a("h4",{attrs:{id:"changed-in-controllers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-controllers"}},[e._v("#")]),e._v(" Changed in Controllers")]),e._v(" "),a("h5",{attrs:{id:"core-controller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#core-controller"}},[e._v("#")]),e._v(" Core Controller")]),e._v(" "),a("ul",[a("li",[e._v("The first parameter to "),a("code",[e._v("updateHoverStyle")]),e._v(" is now an array of objects containing the "),a("code",[e._v("element")]),e._v(", "),a("code",[e._v("datasetIndex")]),e._v(", and "),a("code",[e._v("index")])]),e._v(" "),a("li",[e._v("The signature or "),a("code",[e._v("resize")]),e._v(" changed, the first "),a("code",[e._v("silent")]),e._v(" parameter was removed.")])]),e._v(" "),a("h5",{attrs:{id:"dataset-controllers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dataset-controllers"}},[e._v("#")]),e._v(" Dataset Controllers")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("updateElement")]),e._v(" was replaced with "),a("code",[e._v("updateElements")]),e._v(" now taking the elements to update, the "),a("code",[e._v("start")]),e._v(" index, "),a("code",[e._v("count")]),e._v(", and "),a("code",[e._v("mode")])]),e._v(" "),a("li",[a("code",[e._v("setHoverStyle")]),e._v(" and "),a("code",[e._v("removeHoverStyle")]),e._v(" now additionally take the "),a("code",[e._v("datasetIndex")]),e._v(" and "),a("code",[e._v("index")])])]),e._v(" "),a("h4",{attrs:{id:"changed-in-interactions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-interactions"}},[e._v("#")]),e._v(" Changed in Interactions")]),e._v(" "),a("ul",[a("li",[e._v("Interaction mode methods now return an array of objects containing the "),a("code",[e._v("element")]),e._v(", "),a("code",[e._v("datasetIndex")]),e._v(", and "),a("code",[e._v("index")])])]),e._v(" "),a("h4",{attrs:{id:"changed-in-layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-layout"}},[e._v("#")]),e._v(" Changed in Layout")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("ILayoutItem.update")]),e._v(" no longer has a return value")])]),e._v(" "),a("h4",{attrs:{id:"changed-in-helpers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-helpers"}},[e._v("#")]),e._v(" Changed in Helpers")]),e._v(" "),a("p",[e._v("All helpers are now exposed in a flat hierarchy, e.g., "),a("code",[e._v("Chart.helpers.canvas.clipArea")]),e._v(" -> "),a("code",[e._v("Chart.helpers.clipArea")])]),e._v(" "),a("h5",{attrs:{id:"canvas-helper"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#canvas-helper"}},[e._v("#")]),e._v(" Canvas Helper")]),e._v(" "),a("ul",[a("li",[e._v("The second parameter to "),a("code",[e._v("drawPoint")]),e._v(" is now the full options object, so "),a("code",[e._v("style")]),e._v(", "),a("code",[e._v("rotation")]),e._v(", and "),a("code",[e._v("radius")]),e._v(" are no longer passed explicitly")]),e._v(" "),a("li",[a("code",[e._v("helpers.getMaximumHeight")]),e._v(" was replaced by "),a("code",[e._v("helpers.dom.getMaximumSize")])]),e._v(" "),a("li",[a("code",[e._v("helpers.getMaximumWidth")]),e._v(" was replaced by "),a("code",[e._v("helpers.dom.getMaximumSize")])]),e._v(" "),a("li",[a("code",[e._v("helpers.clear")]),e._v(" was renamed to "),a("code",[e._v("helpers.clearCanvas")]),e._v(" and now takes "),a("code",[e._v("canvas")]),e._v(" and optionally "),a("code",[e._v("ctx")]),e._v(" as parameter(s).")]),e._v(" "),a("li",[a("code",[e._v("helpers.retinaScale")]),e._v(" accepts optional third parameter "),a("code",[e._v("forceStyle")]),e._v(", which forces overriding current canvas style. "),a("code",[e._v("forceRatio")]),e._v(" no longer falls back to "),a("code",[e._v("window.devicePixelRatio")]),e._v(", instead it defaults to "),a("code",[e._v("1")]),e._v(".")])]),e._v(" "),a("h4",{attrs:{id:"changed-in-platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-platform"}},[e._v("#")]),e._v(" Changed in Platform")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("Chart.platform")]),e._v(" is no longer the platform object used by charts. Every chart instance now has a separate platform instance.")]),e._v(" "),a("li",[a("code",[e._v("Chart.platforms")]),e._v(" is an object that contains two usable platform classes, "),a("code",[e._v("BasicPlatform")]),e._v(" and "),a("code",[e._v("DomPlatform")]),e._v(". It also contains "),a("code",[e._v("BasePlatform")]),e._v(", a class that all platforms must extend from.")]),e._v(" "),a("li",[e._v("If the canvas passed in is an instance of "),a("code",[e._v("OffscreenCanvas")]),e._v(", the "),a("code",[e._v("BasicPlatform")]),e._v(" is automatically used.")]),e._v(" "),a("li",[a("code",[e._v("isAttached")]),e._v(" method was added to platform.")])]),e._v(" "),a("h4",{attrs:{id:"changed-in-iplugin-interface"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changed-in-iplugin-interface"}},[e._v("#")]),e._v(" Changed in IPlugin interface")]),e._v(" "),a("ul",[a("li",[e._v("All plugin hooks have unified signature with 3 arguments: "),a("code",[e._v("chart")]),e._v(", "),a("code",[e._v("args")]),e._v(" and "),a("code",[e._v("options")]),e._v(". This means change in signature for these hooks: "),a("code",[e._v("beforeInit")]),e._v(", "),a("code",[e._v("afterInit")]),e._v(", "),a("code",[e._v("reset")]),e._v(", "),a("code",[e._v("beforeLayout")]),e._v(", "),a("code",[e._v("afterLayout")]),e._v(", "),a("code",[e._v("beforeRender")]),e._v(", "),a("code",[e._v("afterRender")]),e._v(", "),a("code",[e._v("beforeDraw")]),e._v(", "),a("code",[e._v("afterDraw")]),e._v(", "),a("code",[e._v("beforeDatasetsDraw")]),e._v(", "),a("code",[e._v("afterDatasetsDraw")]),e._v(", "),a("code",[e._v("beforeEvent")]),e._v(", "),a("code",[e._v("afterEvent")]),e._v(", "),a("code",[e._v("resize")]),e._v(", "),a("code",[e._v("destroy")]),e._v(".")]),e._v(" "),a("li",[a("code",[e._v("afterDatasetsUpdate")]),e._v(", "),a("code",[e._v("afterUpdate")]),e._v(", "),a("code",[e._v("beforeDatasetsUpdate")]),e._v(", and "),a("code",[e._v("beforeUpdate")]),e._v(" now receive "),a("code",[e._v("args")]),e._v(" object as second argument. "),a("code",[e._v("options")]),e._v(" argument is always the last and thus was moved from 2nd to 3rd place.")]),e._v(" "),a("li",[a("code",[e._v("afterEvent")]),e._v(" and "),a("code",[e._v("beforeEvent")]),e._v(" now receive a wrapped "),a("code",[e._v("event")]),e._v(" as the "),a("code",[e._v("event")]),e._v(" property of the second argument. The native event is available via "),a("code",[e._v("args.event.native")]),e._v(".")]),e._v(" "),a("li",[e._v("Initial "),a("code",[e._v("resize")]),e._v(" is no longer silent. Meaning that "),a("code",[e._v("resize")]),e._v(" event can fire between "),a("code",[e._v("beforeInit")]),e._v(" and "),a("code",[e._v("afterInit")])]),e._v(" "),a("li",[e._v("New hooks: "),a("code",[e._v("install")]),e._v(", "),a("code",[e._v("start")]),e._v(", "),a("code",[e._v("stop")]),e._v(", and "),a("code",[e._v("uninstall")])]),e._v(" "),a("li",[a("code",[e._v("afterEvent")]),e._v(" should notify about changes that need a render by setting "),a("code",[e._v("args.changed")]),e._v(" to true. Because the "),a("code",[e._v("args")]),e._v(" are shared with all plugins, it should only be set to true and not false.")])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/184.15b21065.js b/scriptApl/chart.js/dist/docs/assets/js/184.15b21065.js new file mode 100644 index 00000000..c7c37487 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/184.15b21065.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{514:function(t,a,s){"use strict";s.r(a);var n=s(6),r=Object(n.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"chart-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#chart-js"}},[t._v("#")]),t._v(" Chart.js")]),t._v(" "),s("p",[s("a",{attrs:{href:"https://chartjs-slack.herokuapp.com/",target:"_blank",rel:"noopener noreferrer"}},[s("img",{attrs:{src:"https://img.shields.io/badge/slack-chartjs-blue.svg?style=flat-square&maxAge=3600",alt:"slack"}}),s("OutboundLink")],1)]),t._v(" "),s("h2",{attrs:{id:"installation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),s("p",[t._v("You can get the latest version of Chart.js from "),s("a",{attrs:{href:"https://npmjs.com/package/chart.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("npm"),s("OutboundLink")],1),t._v(", the "),s("a",{attrs:{href:"https://github.com/chartjs/Chart.js/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub releases"),s("OutboundLink")],1),t._v(", or use a "),s("a",{attrs:{href:"https://www.jsdelivr.com/package/npm/chart.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("Chart.js CDN"),s("OutboundLink")],1),t._v(". Detailed installation instructions can be found on the "),s("RouterLink",{attrs:{to:"/getting-started/installation.html"}},[t._v("installation")]),t._v(" page.")],1),t._v(" "),s("p",[t._v("If you're using a front-end framework (e.g., React, Angular, or Vue), please check "),s("a",{attrs:{href:"https://github.com/chartjs/awesome#integrations",target:"_blank",rel:"noopener noreferrer"}},[t._v("available integrations"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"creating-a-chart"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-chart"}},[t._v("#")]),t._v(" Creating a Chart")]),t._v(" "),s("p",[t._v("It's easy to get started with Chart.js. All that's required is the script included in your page along with a single "),s("code",[t._v("")]),t._v(" node to render the chart.")]),t._v(" "),s("p",[t._v("In this example, we create a bar chart for a single dataset and render that in our page. You can see all the ways to use Chart.js in the "),s("RouterLink",{attrs:{to:"/getting-started/usage.html"}},[t._v("usage documentation")]),t._v(".")],1),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("canvas")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("myChart"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("400"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token script"}},[s("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ctx "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'myChart'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getContext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'2d'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" myChart "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bar'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Red'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Blue'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Yellow'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Green'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Purple'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Orange'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("datasets")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("label")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'# of Votes'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("data")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("19")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("5")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("backgroundColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 99, 132, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(54, 162, 235, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 206, 86, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(75, 192, 192, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(153, 102, 255, 0.2)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 159, 64, 0.2)'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderColor")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 99, 132, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(54, 162, 235, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 206, 86, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(75, 192, 192, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(153, 102, 255, 1)'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgba(255, 159, 64, 1)'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("borderWidth")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("scales")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("beginAtZero")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("h2",{attrs:{id:"contributing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[t._v("#")]),t._v(" Contributing")]),t._v(" "),s("p",[t._v("Before submitting an issue or a pull request to the project, please take a moment to look over the "),s("RouterLink",{attrs:{to:"/developers/contributing.html"}},[t._v("contributing guidelines")]),t._v(" first.")],1),t._v(" "),s("p",[t._v("For support using Chart.js, please post questions with the "),s("a",{attrs:{href:"https://stackoverflow.com/questions/tagged/chart.js",target:"_blank",rel:"noopener noreferrer"}},[s("code",[t._v("chart.js")]),t._v(" tag on Stack Overflow"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"license"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#license"}},[t._v("#")]),t._v(" License")]),t._v(" "),s("p",[t._v("Chart.js is available under the "),s("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/master/LICENSE.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("MIT license"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("Documentation is copyright © 2014-"+t._s((new Date).getFullYear())+" Chart.js contributors.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/185.894ea40b.js b/scriptApl/chart.js/dist/docs/assets/js/185.894ea40b.js new file mode 100644 index 00000000..769c56f9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/185.894ea40b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[185],{515:function(n,t,a){"use strict";a.r(t);var i=a(6),e=Object(i.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"data-decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-decimation"}},[n._v("#")]),n._v(" Data Decimation")]),n._v(" "),a("p",[n._v("This example shows how to use the built-in data decimation to reduce the number of points drawn on the graph for improved performance.")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'No decimation (default)',\n handler(chart) {\n chart.options.plugins.decimation.enabled = false;\n chart.update();\n }\n },\n {\n name: 'min-max decimation',\n handler(chart) {\n chart.options.plugins.decimation.algorithm = 'min-max';\n chart.options.plugins.decimation.enabled = true;\n chart.update();\n },\n },\n {\n name: 'LTTB decimation (50 samples)',\n handler(chart) {\n chart.options.plugins.decimation.algorithm = 'lttb';\n chart.options.plugins.decimation.enabled = true;\n chart.options.plugins.decimation.samples = 50;\n chart.update();\n }\n },\n {\n name: 'LTTB decimation (500 samples)',\n handler(chart) {\n chart.options.plugins.decimation.algorithm = 'lttb';\n chart.options.plugins.decimation.enabled = true;\n chart.options.plugins.decimation.samples = 500;\n chart.update();\n }\n }\n];\n// \n\n// \nconst NUM_POINTS = 100000;\nUtils.srand(10);\n\n// parseISODate returns a luxon date object to work with in the samples\n// We will create points every 30s starting from this point in time\nconst start = Utils.parseISODate('2021-04-01T00:00:00Z').toMillis();\nconst pointData = [];\n\nfor (let i = 0; i < NUM_POINTS; ++i) {\n // Most data will be in the range [0, 20) but some rare data will be in the range [0, 100)\n const max = Math.random() < 0.001 ? 100 : 20;\n pointData.push({x: start + (i * 30000), y: Utils.rand(0, max)});\n}\n\nconst data = {\n datasets: [{\n borderColor: Utils.CHART_COLORS.red,\n borderWidth: 1,\n data: pointData,\n label: 'Large Dataset',\n radius: 0,\n }]\n};\n// \n\n// \nconst decimation = {\n enabled: false,\n algorithm: 'min-max',\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n // Turn off animations and data parsing for performance\n animation: false,\n parsing: false,\n\n interaction: {\n mode: 'nearest',\n axis: 'x',\n intersect: false\n },\n plugins: {\n decimation: decimation,\n },\n scales: {\n x: {\n type: 'time',\n ticks: {\n source: 'auto',\n // Disabled rotation for performance\n maxRotation: 0,\n autoSkip: true,\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/decimation.html"}},[n._v("Data Decimation")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[n._v("Time Scale")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/186.f6394459.js b/scriptApl/chart.js/dist/docs/assets/js/186.f6394459.js new file mode 100644 index 00000000..7aa734b2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/186.f6394459.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{516:function(t,s,a){"use strict";a.r(s);var n=a(6),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"derived-axis-type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#derived-axis-type"}},[t._v("#")]),t._v(" Derived Axis Type")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 12;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 1000};\nconst labels = Utils.months({count: DATA_COUNT});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'My First dataset',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n fill: false,\n }\n ],\n};\n// \n\n// \nconst config = {\n type: 'line',\n data,\n options: {\n responsive: true,\n scales: {\n x: {\n display: true,\n },\n y: {\n display: true,\n type: 'log2',\n }\n }\n }\n};\n\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"log2-axis-implementation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#log2-axis-implementation"}},[t._v("#")]),t._v(" Log2 axis implementation")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Scale"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" LinearScale"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Log2Axis")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Scale")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("constructor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("cfg")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("super")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_startValue "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("undefined")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_valueRange "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("parse")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("raw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("LinearScale")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("prototype"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("parse")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("apply")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("raw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("isFinite")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("determineDataLimits")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getMinMax")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("isFinite")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("max")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("isFinite")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("max")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("buildTicks")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ticks "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" power "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("floor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" maxPower "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ceil")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("power "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<=")]),t._v(" maxPower"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("value")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("pow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" power"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n power "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" ticks"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n * @protected\n */")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("configure")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" start "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("super")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("configure")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_startValue "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("start"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_valueRange "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("start"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getPixelForValue")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("undefined")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getPixelForDecimal")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_startValue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_valueRange"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getValueForPixel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("pixel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" decimal "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getDecimalForPixel")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("pixel"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("pow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_startValue "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" decimal "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("_valueRange"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nLog2Axis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'log2'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nLog2Axis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// The derived axis is registered like this:")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Chart.register(Log2Axis);")]),t._v("\n")])])]),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/developers/axes.html"}},[t._v("New Axes")])],1)])],1)}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/187.7bd9b3fe.js b/scriptApl/chart.js/dist/docs/assets/js/187.7bd9b3fe.js new file mode 100644 index 00000000..1512f398 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/187.7bd9b3fe.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{517:function(t,s,a){"use strict";a.r(s);var n=a(6),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"derived-chart-type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#derived-chart-type"}},[t._v("#")]),t._v(" Derived Chart Type")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100, rmin: 1, rmax: 20};\nconst data = {\n datasets: [\n {\n label: 'My First dataset',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n borderColor: Utils.CHART_COLORS.blue,\n borderWidth: 1,\n boxStrokeStyle: 'red',\n data: Utils.bubbles(NUMBER_CFG)\n }\n ],\n};\n// \n\n// \nconst config = {\n type: 'derivedBubble',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Derived Chart Type'\n },\n }\n }\n};\n\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"derivedbubble-implementation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#derivedbubble-implementation"}},[t._v("#")]),t._v(" DerivedBubble Implementation")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" BubbleController"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chart.js'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Custom")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("BubbleController")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Call bubble controller method to draw all the points")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("super")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("draw")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("arguments"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Now we can do some custom drawing for this dataset.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Here we'll draw a box around the first point in each dataset,")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// using `boxStrokeStyle` dataset option for color")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" meta "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getMeta")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" pt0 "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" meta"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" y"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pt0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getProps")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'x'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'y'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pt0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" ctx "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("chart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("save")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("strokeStyle "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("options"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("boxStrokeStyle"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("lineWidth "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("strokeRect")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("x "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" y "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" radius"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("restore")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\nCustom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'derivedBubble'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nCustom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("defaults "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Custom defaults. Bubble defaults are inherited.")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("boxStrokeStyle")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'red'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Overrides are only inherited, but not merged if defined")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Custom.overrides = Chart.overrides.bubble;")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Stores the controller so that the chart initialization routine can look it up")]),t._v("\nChart"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Custom"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bubble.html"}},[t._v("Bubble Chart")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/developers/charts.html"}},[t._v("New Charts")])],1)])],1)}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/188.3baa9bcd.js b/scriptApl/chart.js/dist/docs/assets/js/188.3baa9bcd.js new file mode 100644 index 00000000..aa2a2b40 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/188.3baa9bcd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[188],{518:function(t,n,a){"use strict";a.r(n);var e=a(6),r=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"linear-gradient"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-gradient"}},[t._v("#")]),t._v(" Linear Gradient")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nlet width, height, gradient;\nfunction getGradient(ctx, chartArea) {\n const chartWidth = chartArea.right - chartArea.left;\n const chartHeight = chartArea.bottom - chartArea.top;\n if (!gradient || width !== chartWidth || height !== chartHeight) {\n // Create the gradient because this is either the first render\n // or the size of the chart has changed\n width = chartWidth;\n height = chartHeight;\n gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);\n gradient.addColorStop(0, Utils.CHART_COLORS.blue);\n gradient.addColorStop(0.5, Utils.CHART_COLORS.yellow);\n gradient.addColorStop(1, Utils.CHART_COLORS.red);\n }\n\n return gradient;\n}\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst labels = Utils.months({count: 7});\n\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: function(context) {\n const chart = context.chart;\n const {ctx, chartArea} = chart;\n\n if (!chartArea) {\n // This case happens on initial chart load\n return;\n }\n return getGradient(ctx, chartArea);\n },\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/colors.html"}},[t._v("Colors")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/colors.html#patterns-and-gradients"}},[t._v("Patterns and Gradients")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1)])],1)}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/189.18e63b11.js b/scriptApl/chart.js/dist/docs/assets/js/189.18e63b11.js new file mode 100644 index 00000000..2d1627d1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/189.18e63b11.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{519:function(t,n,e){"use strict";e.r(n);var o=e(6),r=Object(o.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"programmatic-event-triggers"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#programmatic-event-triggers"}},[t._v("#")]),t._v(" Programmatic Event Triggers")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nfunction triggerHover(chart) {\n if (chart.getActiveElements().length > 0) {\n chart.setActiveElements([]);\n } else {\n chart.setActiveElements([\n {\n datasetIndex: 0,\n index: 0,\n }, {\n datasetIndex: 1,\n index: 0,\n }\n ]);\n }\n chart.update();\n}\n// \n\n// \nfunction triggerTooltip(chart) {\n const tooltip = chart.tooltip;\n if (tooltip.getActiveElements().length > 0) {\n tooltip.setActiveElements([], {x: 0, y: 0});\n } else {\n const chartArea = chart.chartArea;\n tooltip.setActiveElements([\n {\n datasetIndex: 0,\n index: 2,\n }, {\n datasetIndex: 1,\n index: 2,\n }\n ],\n {\n x: (chartArea.left + chartArea.right) / 2,\n y: (chartArea.top + chartArea.bottom) / 2,\n });\n }\n\n chart.update();\n}\n// \n\n// \nconst actions = [\n {\n name: 'Trigger Hover',\n handler: triggerHover\n },\n {\n name: 'Trigger Tooltip',\n handler: triggerTooltip\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n hoverBorderWidth: 5,\n hoverBorderColor: 'green',\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n hoverBorderWidth: 5,\n hoverBorderColor: 'green',\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"api"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#api"}},[t._v("#")]),t._v(" API")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[t._v("Chart")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/classes/Chart.html#setactiveelements"}},[e("code",[t._v("setActiveElements")])])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[t._v("TooltipModel")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html#setactiveelements"}},[e("code",[t._v("setActiveElements")])])],1)])],1)]),t._v(" "),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/bar.html#interactions"}},[t._v("Interactions ("),e("code",[t._v("hoverBorderColor")]),t._v(")")])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/interactions.html"}},[t._v("Interactions")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip")])],1)])],1)}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/19.13bdd658.js b/scriptApl/chart.js/dist/docs/assets/js/19.13bdd658.js new file mode 100644 index 00000000..e8e71565 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/19.13bdd658.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{350:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"enumeration-decimationalgorithm"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enumeration-decimationalgorithm"}},[t._v("#")]),t._v(" Enumeration: DecimationAlgorithm")]),t._v(" "),a("h2",{attrs:{id:"enumeration-members"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enumeration-members"}},[t._v("#")]),t._v(" Enumeration members")]),t._v(" "),a("h3",{attrs:{id:"lttb"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lttb"}},[t._v("#")]),t._v(" lttb")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("lttb")]),t._v(" = "),a("code",[t._v('"lttb"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2113",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2113"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"minmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#minmax"}},[t._v("#")]),t._v(" minmax")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("minmax")]),t._v(" = "),a("code",[t._v('"min-max"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2114",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2114"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/190.b7ffb54a.js b/scriptApl/chart.js/dist/docs/assets/js/190.b7ffb54a.js new file mode 100644 index 00000000..7b1d8225 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/190.b7ffb54a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{520:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"animation-progress-bar"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animation-progress-bar"}},[t._v("#")]),t._v(" Animation Progress Bar")]),t._v(" "),a("h2",{attrs:{id:"initial-animation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#initial-animation"}},[t._v("#")]),t._v(" Initial animation")]),t._v(" "),a("p",[a("progress",{staticStyle:{width:"100%"},attrs:{id:"initialProgress",max:"1",value:"0"}})]),t._v(" "),a("h2",{attrs:{id:"other-animations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-animations"}},[t._v("#")]),t._v(" Other animations")]),t._v(" "),a("p",[a("progress",{staticStyle:{width:"100%"},attrs:{id:"animationProgress",max:"1",value:"0"}})]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst initProgress = document.getElementById('initialProgress');\nconst progress = document.getElementById('animationProgress');\n\nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n animation: {\n duration: 2000,\n onProgress: function(context) {\n if (context.initial) {\n initProgress.value = context.currentStep / context.numSteps;\n } else {\n progress.value = context.currentStep / context.numSteps;\n }\n },\n onComplete: function(context) {\n if (context.initial) {\n console.log('Initial animation finished');\n } else {\n console.log('animation finished');\n }\n }\n },\n interaction: {\n mode: 'nearest',\n axis: 'x',\n intersect: false\n },\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart - Animation Progress Bar'\n }\n },\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n output: 'console.log output is displayed here'\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation-callbacks"}},[t._v("Animation Callbacks")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/191.13061aba.js b/scriptApl/chart.js/dist/docs/assets/js/191.13061aba.js new file mode 100644 index 00000000..034b645a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/191.13061aba.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[191],{521:function(t,n,a){"use strict";a.r(n);var e=a(6),r=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"radial-gradient"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radial-gradient"}},[t._v("#")]),t._v(" Radial Gradient")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 5;\nUtils.srand(110);\n\nconst chartColors = Utils.CHART_COLORS;\nconst colors = [chartColors.red, chartColors.orange, chartColors.yellow, chartColors.green, chartColors.blue];\n\nconst cache = new Map();\nlet width = null;\nlet height = null;\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction createRadialGradient3(context, c1, c2, c3) {\n const chartArea = context.chart.chartArea;\n if (!chartArea) {\n // This case happens on initial chart load\n return;\n }\n\n const chartWidth = chartArea.right - chartArea.left;\n const chartHeight = chartArea.bottom - chartArea.top;\n if (width !== chartWidth || height !== chartHeight) {\n cache.clear();\n }\n let gradient = cache.get(c1 + c2 + c3);\n if (!gradient) {\n // Create the gradient because this is either the first render\n // or the size of the chart has changed\n width = chartWidth;\n height = chartHeight;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const r = Math.min(\n (chartArea.right - chartArea.left) / 2,\n (chartArea.bottom - chartArea.top) / 2\n );\n const ctx = context.chart.ctx;\n gradient = ctx.createRadialGradient(centerX, centerY, 0, centerX, centerY, r);\n gradient.addColorStop(0, c1);\n gradient.addColorStop(0.5, c2);\n gradient.addColorStop(1, c3);\n cache.set(c1 + c2 + c3, gradient);\n }\n\n return gradient;\n}\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: 0,\n max: 100\n });\n}\n\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [{\n data: generateData()\n }]\n};\n// \n\n// \nconst config = {\n type: 'polarArea',\n data: data,\n options: {\n plugins: {\n legend: false,\n tooltip: false,\n },\n elements: {\n arc: {\n backgroundColor: function(context) {\n let c = colors[context.dataIndex];\n if (!c) {\n return;\n }\n if (context.active) {\n c = helpers.getHoverColor(c);\n }\n const mid = helpers.color(c).desaturate(0.2).darken(0.2).rgbString();\n const start = helpers.color(c).lighten(0.2).rotate(270).rgbString();\n const end = helpers.color(c).lighten(0.1).rgbString();\n return createRadialGradient3(context, start, mid, end);\n },\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/polar.html"}},[t._v("Polar Area Chart")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/polar.html#styling"}},[t._v("Styling")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/192.1bf9bd61.js b/scriptApl/chart.js/dist/docs/assets/js/192.1bf9bd61.js new file mode 100644 index 00000000..2370a3f2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/192.1bf9bd61.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[192],{522:function(t,n,a){"use strict";a.r(n);var e=a(6),o=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"delay"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#delay"}},[t._v("#")]),t._v(" Delay")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.blue,\n },\n {\n label: 'Dataset 3',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.green,\n },\n ]\n};\n// \n\n// \nlet delayed;\nconst config = {\n type: 'bar',\n data: data,\n options: {\n animation: {\n onComplete: () => {\n delayed = true;\n },\n delay: (context) => {\n let delay = 0;\n if (context.type === 'data' && context.mode === 'default' && !delayed) {\n delay = context.dataIndex * 300 + context.datasetIndex * 100;\n }\n return delay;\n },\n },\n scales: {\n x: {\n stacked: true,\n },\n y: {\n stacked: true\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation"}},[t._v("animation ("),a("code",[t._v("delay")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation-callbacks"}},[t._v("Animation Callbacks")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html#stacked-bar-chart"}},[t._v("Stacked Bar Chart")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/193.8fa44455.js b/scriptApl/chart.js/dist/docs/assets/js/193.8fa44455.js new file mode 100644 index 00000000..08b807c3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/193.8fa44455.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[193],{523:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"drop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#drop"}},[t._v("#")]),t._v(" Drop")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n animations: {\n y: {\n duration: 2000,\n delay: 500\n }\n },\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n fill: 1,\n tension: 0.5\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n animations: {\n y: {\n easing: 'easeInOutElastic',\n from: (ctx) => {\n if (ctx.type === 'data') {\n if (ctx.mode === 'default' && !ctx.dropped) {\n ctx.dropped = true;\n return 0;\n }\n }\n }\n }\n },\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[t._v("Area")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation"}},[t._v("animation ("),a("code",[t._v("easing")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animations-2"}},[t._v("animations ("),a("code",[t._v("from")]),t._v(")")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[t._v("Line Styling")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("fill")])]),t._v(" "),a("li",[a("code",[t._v("tension")])])])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/194.49c9a3c0.js b/scriptApl/chart.js/dist/docs/assets/js/194.49c9a3c0.js new file mode 100644 index 00000000..7e17ffbf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/194.49c9a3c0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[194],{524:function(t,n,a){"use strict";a.r(n);var o=a(6),e=Object(o.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"loop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#loop"}},[t._v("#")]),t._v(" Loop")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: DATA_COUNT});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n tension: 0.4,\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n tension: 0.2,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n animations: {\n radius: {\n duration: 400,\n easing: 'linear',\n loop: (context) => context.active\n }\n },\n hoverRadius: 12,\n hoverBackgroundColor: 'yellow',\n interaction: {\n mode: 'nearest',\n intersect: false,\n axis: 'x'\n },\n plugins: {\n tooltip: {\n enabled: false\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation"}},[t._v("animation")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("duration")])]),t._v(" "),a("li",[a("code",[t._v("easing")])]),t._v(" "),a("li",[a("strong",[a("code",[t._v("loop")])])])])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#default-animations"}},[t._v("Default animations ("),a("code",[t._v("radius")]),t._v(")")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/elements.html"}},[t._v("Elements")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("Point Configuration")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("hoverRadius")])]),t._v(" "),a("li",[a("code",[t._v("hoverBackgroundColor")])])])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip ("),a("code",[t._v("enabled")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/195.eb1e8802.js b/scriptApl/chart.js/dist/docs/assets/js/195.eb1e8802.js new file mode 100644 index 00000000..5b89c413 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/195.eb1e8802.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[195],{525:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"progressive-line-with-easing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#progressive-line-with-easing"}},[t._v("#")]),t._v(" Progressive Line With Easing")]),t._v(" "),a("chart-editor",{attrs:{code:"\n// \nconst data = [];\nconst data2 = [];\nlet prev = 100;\nlet prev2 = 80;\nfor (let i = 0; i < 1000; i++) {\n prev += 5 - Math.random() * 10;\n data.push({x: i, y: prev});\n prev2 += 5 - Math.random() * 10;\n data2.push({x: i, y: prev2});\n}\n// \n\n// \nlet easing = helpers.easingEffects.easeOutQuad;\nlet restart = false;\nconst totalDuration = 5000;\nconst duration = (ctx) => easing(ctx.index / data.length) * totalDuration / data.length;\nconst delay = (ctx) => easing(ctx.index / data.length) * totalDuration;\nconst previousY = (ctx) => ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\nconst animation = {\n x: {\n type: 'number',\n easing: 'linear',\n duration: duration,\n from: NaN, // the point is initially skipped\n delay(ctx) {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return delay(ctx);\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: duration,\n from: previousY,\n delay(ctx) {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return delay(ctx);\n }\n }\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: {\n datasets: [{\n borderColor: Utils.CHART_COLORS.red,\n borderWidth: 1,\n radius: 0,\n data: data,\n },\n {\n borderColor: Utils.CHART_COLORS.blue,\n borderWidth: 1,\n radius: 0,\n data: data2,\n }]\n },\n options: {\n animation,\n interaction: {\n intersect: false\n },\n plugins: {\n legend: false,\n title: {\n display: true,\n text: () => easing.name\n }\n },\n scales: {\n x: {\n type: 'linear'\n }\n }\n }\n};\n// \n\n// \nfunction restartAnims(chart) {\n chart.stop();\n const meta0 = chart.getDatasetMeta(0);\n const meta1 = chart.getDatasetMeta(1);\n for (let i = 0; i < data.length; i++) {\n const ctx0 = meta0.controller.getContext(i);\n const ctx1 = meta1.controller.getContext(i);\n ctx0.xStarted = ctx0.yStarted = false;\n ctx1.xStarted = ctx1.yStarted = false;\n }\n chart.update();\n}\n\nconst actions = [\n {\n name: 'easeOutQuad',\n handler(chart) {\n easing = helpers.easingEffects.easeOutQuad;\n restartAnims(chart);\n }\n },\n {\n name: 'easeOutCubic',\n handler(chart) {\n easing = helpers.easingEffects.easeOutCubic;\n restartAnims(chart);\n }\n },\n {\n name: 'easeOutQuart',\n handler(chart) {\n easing = helpers.easingEffects.easeOutQuart;\n restartAnims(chart);\n }\n },\n {\n name: 'easeOutQuint',\n handler(chart) {\n easing = helpers.easingEffects.easeOutQuint;\n restartAnims(chart);\n }\n },\n {\n name: 'easeInQuad',\n handler(chart) {\n easing = helpers.easingEffects.easeInQuad;\n restartAnims(chart);\n }\n },\n {\n name: 'easeInCubic',\n handler(chart) {\n easing = helpers.easingEffects.easeInCubic;\n restartAnims(chart);\n }\n },\n {\n name: 'easeInQuart',\n handler(chart) {\n easing = helpers.easingEffects.easeInQuart;\n restartAnims(chart);\n }\n },\n {\n name: 'easeInQuint',\n handler(chart) {\n easing = helpers.easingEffects.easeInQuint;\n restartAnims(chart);\n }\n },\n];\n// \n\nmodule.exports = {\n config,\n actions\n};\n\n"}}),a("h2",{attrs:{id:"api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#api"}},[t._v("#")]),t._v(" Api")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[t._v("Chart")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html#getdatasetmeta"}},[a("code",[t._v("getDatasetMeta")])])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelforvalue"}},[a("code",[t._v("getPixelForValue")])])],1)])],1)]),t._v(" "),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#animation"}},[t._v("animation")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("delay")])]),t._v(" "),a("li",[a("code",[t._v("duration")])]),t._v(" "),a("li",[a("code",[t._v("easing")])]),t._v(" "),a("li",[a("code",[t._v("loop")])])])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/animations.html#easing"}},[t._v("Easing")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#data"}},[t._v("Data Context")])],1)])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/196.9b925823.js b/scriptApl/chart.js/dist/docs/assets/js/196.9b925823.js new file mode 100644 index 00000000..983ff9e8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/196.9b925823.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[196],{526:function(t,n,e){"use strict";e.r(n);var a=e(6),i=Object(a.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"progressive-line"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#progressive-line"}},[t._v("#")]),t._v(" Progressive Line")]),t._v(" "),e("chart-editor",{attrs:{code:"\n// \nconst data = [];\nconst data2 = [];\nlet prev = 100;\nlet prev2 = 80;\nfor (let i = 0; i < 1000; i++) {\n prev += 5 - Math.random() * 10;\n data.push({x: i, y: prev});\n prev2 += 5 - Math.random() * 10;\n data2.push({x: i, y: prev2});\n}\n// \n\n// \nconst totalDuration = 10000;\nconst delayBetweenPoints = totalDuration / data.length;\nconst previousY = (ctx) => ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\nconst animation = {\n x: {\n type: 'number',\n easing: 'linear',\n duration: delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay(ctx) {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: delayBetweenPoints,\n from: previousY,\n delay(ctx) {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * delayBetweenPoints;\n }\n }\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: {\n datasets: [{\n borderColor: Utils.CHART_COLORS.red,\n borderWidth: 1,\n radius: 0,\n data: data,\n },\n {\n borderColor: Utils.CHART_COLORS.blue,\n borderWidth: 1,\n radius: 0,\n data: data2,\n }]\n },\n options: {\n animation,\n interaction: {\n intersect: false\n },\n plugins: {\n legend: false\n },\n scales: {\n x: {\n type: 'linear'\n }\n }\n }\n};\n// \n\nmodule.exports = {\n config\n};\n\n"}}),e("h2",{attrs:{id:"api"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#api"}},[t._v("#")]),t._v(" Api")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[t._v("Chart")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/classes/Chart.html#getdatasetmeta"}},[e("code",[t._v("getDatasetMeta")])])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/api/classes/Scale.html#getpixelforvalue"}},[e("code",[t._v("getPixelForValue")])])],1)])],1)]),t._v(" "),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/configuration/animations.html"}},[t._v("Animations")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/configuration/animations.html#animation"}},[t._v("animation")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("delay")])]),t._v(" "),e("li",[e("code",[t._v("duration")])]),t._v(" "),e("li",[e("code",[t._v("easing")])]),t._v(" "),e("li",[e("code",[t._v("loop")])])])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#data"}},[t._v("Data Context")])],1)])],1)])],1)])],1)}),[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/197.adca6c8c.js b/scriptApl/chart.js/dist/docs/assets/js/197.adca6c8c.js new file mode 100644 index 00000000..9f9f118c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/197.adca6c8c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[197],{527:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart-boundaries"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart-boundaries"}},[n._v("#")]),n._v(" Line Chart Boundaries")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst inputs = {\n min: -100,\n max: 100,\n count: 8,\n decimals: 2,\n continuity: 1\n};\n\nconst generateLabels = () => {\n return Utils.months({count: inputs.count});\n};\n\nconst generateData = () => (Utils.numbers(inputs));\n// \n\n// \nconst data = {\n labels: generateLabels(),\n datasets: [\n {\n label: 'Dataset',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),\n fill: false\n }\n ]\n};\n// \n\n// \nlet smooth = false;\n\nconst actions = [\n {\n name: 'Fill: false (default)',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.fill = false;\n });\n chart.update();\n }\n },\n {\n name: 'Fill: origin',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.fill = 'origin';\n });\n chart.update();\n }\n },\n {\n name: 'Fill: start',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.fill = 'start';\n });\n chart.update();\n }\n },\n {\n name: 'Fill: end',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.fill = 'end';\n });\n chart.update();\n }\n },\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n {\n name: 'Smooth',\n handler(chart) {\n smooth = !smooth;\n chart.options.elements.line.tension = smooth ? 0.4 : 0;\n chart.update();\n }\n }\n];\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n filler: {\n propagate: false,\n },\n title: {\n display: true,\n text: (ctx) => 'Fill: ' + ctx.chart.data.datasets[0].fill\n }\n },\n interaction: {\n intersect: false,\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[n._v("Area")]),n._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"../../charts/area.htmll#filling-modes"}},[n._v("Filling modes")]),n._v(" "),a("ul",[a("li",[n._v("Boundary: "),a("code",[n._v("'start'")]),n._v(", "),a("code",[n._v("'end'")]),n._v(", "),a("code",[n._v("'origin'")])])])])])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/198.2ae0961a.js b/scriptApl/chart.js/dist/docs/assets/js/198.2ae0961a.js new file mode 100644 index 00000000..d9f645a8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/198.2ae0961a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[198],{528:function(n,t,a){"use strict";a.r(t);var e=a(6),r=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart-datasets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart-datasets"}},[n._v("#")]),n._v(" Line Chart Datasets")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst inputs = {\n min: 20,\n max: 80,\n count: 8,\n decimals: 2,\n continuity: 1\n};\n\nconst generateLabels = () => {\n return Utils.months({count: inputs.count});\n};\n\nconst generateData = () => (Utils.numbers(inputs));\n\nUtils.srand(42);\n// \n\n// \nconst data = {\n labels: generateLabels(),\n datasets: [\n {\n label: 'D0',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),\n hidden: true\n },\n {\n label: 'D1',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.orange,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange),\n fill: '-1'\n },\n {\n label: 'D2',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.yellow,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.yellow),\n hidden: true,\n fill: 1\n },\n {\n label: 'D3',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.green,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green),\n fill: '-1'\n },\n {\n label: 'D4',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue),\n fill: '-1'\n },\n {\n label: 'D5',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.grey,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.grey),\n fill: '+2'\n },\n {\n label: 'D6',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.purple,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.purple),\n fill: false\n },\n {\n label: 'D7',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),\n fill: 8\n },\n {\n label: 'D8',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.orange,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange),\n fill: 'end',\n hidden: true\n },\n {\n label: 'D9',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.yellow,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.yellow),\n fill: {above: 'blue', below: 'red', target: {value: 350}}\n }\n ]\n};\n// \n\n// \nlet smooth = false;\nlet propagate = false;\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n {\n name: 'Propagate',\n handler(chart) {\n propagate = !propagate;\n chart.options.plugins.filler.propagate = propagate;\n chart.update();\n }\n },\n {\n name: 'Smooth',\n handler(chart) {\n smooth = !smooth;\n chart.options.elements.line.tension = smooth ? 0.4 : 0;\n chart.update();\n }\n }\n];\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n scales: {\n y: {\n stacked: true\n }\n },\n plugins: {\n filler: {\n propagate: false\n },\n 'samples-filler-analyser': {\n target: 'chart-analyser'\n }\n },\n interaction: {\n intersect: false,\n },\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("div",{staticClass:"analyser",attrs:{id:"chart-analyser"}}),n._v(" "),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[n._v("Area")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html#filling-modes"}},[n._v("Filling modes")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/"}},[n._v("Axes scales")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[n._v("Common options to all axes ("),a("code",[n._v("stacked")]),n._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/199.cd9dca80.js b/scriptApl/chart.js/dist/docs/assets/js/199.cd9dca80.js new file mode 100644 index 00000000..61ba9bc8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/199.cd9dca80.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[199],{529:function(n,t,a){"use strict";a.r(t);var e=a(6),r=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart-drawtime"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart-drawtime"}},[n._v("#")]),n._v(" Line Chart drawTime")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst inputs = {\n min: -100,\n max: 100,\n count: 8,\n decimals: 2,\n continuity: 1\n};\n\nconst generateLabels = () => {\n return Utils.months({count: inputs.count});\n};\n\nUtils.srand(3);\nconst generateData = () => (Utils.numbers(inputs));\n// \n\n// \nconst data = {\n labels: generateLabels(),\n datasets: [\n {\n label: 'Dataset 1',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n fill: true\n },\n {\n label: 'Dataset 2',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue),\n fill: true\n }\n ]\n};\n// \n\n// \nlet smooth = false;\n\nconst actions = [\n {\n name: 'drawTime: beforeDatasetDraw (default)',\n handler: (chart) => {\n chart.options.plugins.filler.drawTime = 'beforeDatasetDraw';\n chart.update();\n }\n },\n {\n name: 'drawTime: beforeDatasetsDraw',\n handler: (chart) => {\n chart.options.plugins.filler.drawTime = 'beforeDatasetsDraw';\n chart.update();\n }\n },\n {\n name: 'drawTime: beforeDraw',\n handler: (chart) => {\n chart.options.plugins.filler.drawTime = 'beforeDraw';\n chart.update();\n }\n },\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n {\n name: 'Smooth',\n handler(chart) {\n smooth = !smooth;\n chart.options.elements.line.tension = smooth ? 0.4 : 0;\n chart.update();\n }\n }\n];\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n filler: {\n propagate: false,\n },\n title: {\n display: true,\n text: (ctx) => 'drawTime: ' + ctx.chart.options.plugins.filler.drawTime\n }\n },\n pointBackgroundColor: '#fff',\n radius: 10,\n interaction: {\n intersect: false,\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[n._v("Area")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html#configuration"}},[n._v("Configuration ("),a("code",[n._v("drawTime")]),n._v(")")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[n._v("Line Styling ("),a("code",[n._v("tension")]),n._v(")")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/2.3e2307f3.js b/scriptApl/chart.js/dist/docs/assets/js/2.3e2307f3.js new file mode 100644 index 00000000..a17485c7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/2.3e2307f3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{277:function(e,r,t){},278:function(e,r,t){},279:function(e,r,t){},280:function(e,r,t){},281:function(e,r,t){},282:function(e,r,t){},283:function(e,r){e.exports=function(e){return null==e}},284:function(e,r,t){},285:function(e,r,t){},286:function(e,r,t){},287:function(e,r,t){},288:function(e,r,t){},289:function(e,r,t){},299:function(e,r,t){"use strict";t.r(r);var a=t(20),s={name:"SidebarGroup",components:{DropdownTransition:t(115).a},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=t(299).default},methods:{isActive:a.e}},i=(t(313),t(6)),o=Object(i.a)(s,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("section",{staticClass:"sidebar-group",class:[{collapsable:e.collapsable,"is-sub-group":0!==e.depth},"depth-"+e.depth]},[e.item.path?t("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:e.open,active:e.isActive(e.$route,e.item.path)},attrs:{to:e.item.path},nativeOn:{click:function(r){return e.$emit("toggle")}}},[t("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?t("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]):t("p",{staticClass:"sidebar-heading",class:{open:e.open},on:{click:function(r){return e.$emit("toggle")}}},[t("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?t("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]),e._v(" "),t("DropdownTransition",[e.open||!e.collapsable?t("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:e.item.children,"sidebar-depth":e.item.sidebarDepth,"initial-open-group-index":e.item.initialOpenGroupIndex,depth:e.depth+1}}):e._e()],1)],1)}),[],!1,null,null,null).exports;function n(e,r,t,a,s){const i={props:{to:r,activeClass:"",exactActiveClass:""},class:{active:a,"sidebar-link":!0}};return s>2&&(i.style={"padding-left":s+"rem"}),e("RouterLink",i,t)}function l(e,r,t,s,i,o=1){return!r||o>i?null:e("ul",{class:"sidebar-sub-headers"},r.map(r=>{const c=Object(a.e)(s,t+"#"+r.slug);return e("li",{class:"sidebar-sub-header"},[n(e,t+"#"+r.slug,r.title,c,r.level-1),l(e,r.children,t,s,i,o+1)])}))}var c={functional:!0,props:["item","sidebarDepth"],render(e,{parent:{$page:r,$site:t,$route:s,$themeConfig:i,$themeLocaleConfig:o},props:{item:c,sidebarDepth:u}}){const p=Object(a.e)(s,c.path),h="auto"===c.type?p||c.children.some(e=>Object(a.e)(s,c.basePath+"#"+e.slug)):p,d="external"===c.type?function(e,r,t){return e("a",{attrs:{href:r,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[t,e("OutboundLink")])}(e,c.path,c.title||c.path):n(e,c.path,c.title||c.path,h),g=[r.frontmatter.sidebarDepth,u,o.sidebarDepth,i.sidebarDepth,1].find(e=>void 0!==e),f=o.displayAllHeaders||i.displayAllHeaders;if("auto"===c.type)return[d,l(e,c.children,c.basePath,s,g)];if((h||f)&&c.headers&&!a.d.test(c.path)){return[d,l(e,Object(a.c)(c.headers),c.path,s,g)]}return d}};t(314);function u(e,r){if("group"===r.type){const t=r.path&&Object(a.e)(e,r.path),s=r.children.some(r=>"group"===r.type?u(e,r):"page"===r.type&&Object(a.e)(e,r.path));return t||s}return!1}var p={name:"SidebarLinks",components:{SidebarGroup:o,SidebarLink:Object(i.a)(c,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const e=function(e,r){for(let t=0;t-1&&(this.openGroupIndex=e)},toggleGroup(e){this.openGroupIndex=e===this.openGroupIndex?-1:e},isActive(e){return Object(a.e)(this.$route,e.regularPath)}}},h=Object(i.a)(p,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return e.items.length?t("ul",{staticClass:"sidebar-links"},e._l(e.items,(function(r,a){return t("li",{key:a},["group"===r.type?t("SidebarGroup",{attrs:{item:r,open:a===e.openGroupIndex,collapsable:r.collapsable||r.collapsible,depth:e.depth},on:{toggle:function(r){return e.toggleGroup(a)}}}):t("SidebarLink",{attrs:{"sidebar-depth":e.sidebarDepth,item:r}})],1)})),0):e._e()}),[],!1,null,null,null);r.default=h.exports},300:function(e,r,t){"use strict";t(277)},301:function(e,r,t){"use strict";t(278)},302:function(e,r,t){"use strict";!function(r,t,a){let s;(s=a.define)&&s.amd?s([],(function(){return t})):(s=a.modules)?s["FlexSearch".toLowerCase()]=t:e.exports=t}(0,function e(r){function t(e,r){const t=r?r.id:e&&e.id;this.id=t||0===t?t:S++,this.init(e,r),o(this,"index",(function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)})),o(this,"length",(function(){return this.index.length}))}function a(e,r,t,a){return this.u!==this.g&&(this.o=this.o.concat(t),this.u++,a&&this.o.length>=a&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(r,this.o),this.F&&this.F(this.o))),this}function s(e,r){const t=e.length,a=y(r),s=[];for(let i=0,o=0;i=o&&((e=(e=e[n-(s+.5>>0)])[t]||(e[t]=[]))[e.length]=a),s)}function u(e,r){if(e){const t=Object.keys(e);for(let a=0,s=t.length;a(e=e.length-r.length)?1:e?-1:0}function d(e,r){return(e=e[R])<(r=r[R])?-1:e>r?1:0}function g(e,r){const t=R.length;for(let a=0;ar?1:0}function f(e,r,t){return e?{page:e,next:r?""+r:null,result:t}:t}function m(e,r,t,a,s,i,o){let n,l=[];if(!0===t){t="0";var c=""}else c=t&&t.split(":");const u=e.length;if(1o&&(c=0),n=(c=c||0)+r,n=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:e,content:r}),this.c[o]=""+this.C,t&&t(),this;if(!i){if(this.async&&"function"!=typeof importScripts){let s=this;return o=new Promise((function(t){setTimeout((function(){s.add(e,r,null,a,!0),s=null,t()}))})),t?(o.then(t),this):o}if(t)return this.add(e,r,null,a,!0),t(),this}if(!(r=this.encode(r)).length)return this;i=y(t=this.f)?t(r):r.split(this.split),this.filter&&(i=s(i,this.filter));const d=x();d._ctx=x();const g=i.length,f=this.threshold,m=this.depth,b=this.b,v=this.i,w=this.D;for(let r=0;rh;t--)c(v,d,p=n.substring(h,t),e,r,u,f,b-1)}break;default:if(l=c(v,d,n,e,1,u,f,b-1),m&&1=f)for(l=d._ctx[n]||(d._ctx[n]=x()),n=this.h[n]||(this.h[n]=D(b-(f||0))),0>(u=r-m)&&(u=0),(p=r+m+1)>g&&(p=g);us;t--)a=i[t-1],i[t]=a,r[a]=t;i[s]=e,r[e]=s}}}return r},e}();return t}(function(){const e={},r="undefined"!=typeof Blob&&"undefined"!=typeof URL&&URL.createObjectURL;return function(t,a,s,i,o){return s=r?URL.createObjectURL(new Blob(["("+s.toString()+")()"],{type:"text/javascript"})):t+".min.js",e[t+="-"+a]||(e[t]=[]),e[t][o]=new Worker(s),e[t][o].onmessage=i,e[t][o]}}()),this)},303:function(e,r,t){t(19),t(9);const a=t(304);function s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}e.exports.getPageText=e=>{if(!e._strippedContent)return"";const{html:r}=e._context.markdown.render(e._strippedContent);return a.decode(r.replace(/(<[^>]+>)+/g," ").replace(/^\s*#\s/gm,""))},e.exports.highlightText=(e,r)=>{let t=e;if(highlightWords=r.split(" ").filter(e=>e.length>0),highlightWords.length>0)for(const e of highlightWords)t=t.replace(new RegExp(s(e),"ig"),"$&");else t=e.replace(new RegExp(s(r),"ig"),"$&");return t}},304:function(e,r,t){(function(e){var a;/*! https://mths.be/he v1.2.0 by @mathias | MIT license */!function(s){var i=r,o=(e&&e.exports,"object"==typeof global&&global);o.global!==o&&o.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,p={"­":"shy","‌":"zwnj","â€":"zwj","‎":"lrm","â£":"ic","â¢":"it","â¡":"af","â€":"rlm","​":"ZeroWidthSpace","â ":"NoBreak","Ì‘":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp","âŸ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","âŸâ€Š":"ThickSpace","‾":"oline",_:"lowbar","â€":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","â":"bsemi",":":"colon","â©´":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","â€":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","â¦":"lbrkslu","⦎":"rbrksld","â¦":"lbrksld","â¦":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","â²":"lbbrk","â³":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","âƒ":"hybull","′":"prime","″":"Prime","‴":"tprime","â—":"qprime","‵":"bprime","â":"caret","`":"grave","´":"acute","Ëœ":"tilde","^":"Hat","¯":"macr","˘":"breve","Ë™":"dot","¨":"die","Ëš":"ring","Ë":"dblac","¸":"cedil","Ë›":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","â„—":"copysr","℘":"wp","â„ž":"rx","℧":"mho","â„©":"iiota","â†":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","â†":"rarrw","â†Ì¸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","â‡":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","â‡":"lArr","â‡":"nlArr","⇑":"uArr","⇒":"rArr","â‡":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","â‡":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","âˆ":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","âˆ":"prod","âˆ":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","â„":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","âˆ":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","â‰":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","â‰":"CupCap","≭":"NotCupCap","â‰âƒ’":"nvap","≎":"bump","≎̸":"nbump","â‰":"bumpe","â‰Ì¸":"nbumpe","â‰":"doteq","â‰Ì¸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","âŠ":"nsc","≼":"prcue","â‹ ":"nprcue","≽":"sccue","â‹¡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","âŠ":"cupdot","⊎":"uplus","âŠ":"sqsub","âŠÌ¸":"NotSquareSubset","âŠ":"sqsup","âŠÌ¸":"NotSquareSuperset","⊑":"sqsube","â‹¢":"nsqsube","⊒":"sqsupe","â‹£":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","âŠ":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","â‹«":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","â‹­":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","â‹€":"Wedge","â‹":"Vee","â‹‚":"xcap","⋃":"xcup","â‹„":"diam","â‹…":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","â‹Š":"rtimes","â‹‹":"lthree","â‹Œ":"rthree","â‹":"bsime","â‹Ž":"cuvee","â‹":"cuwed","â‹":"Sub","â‹‘":"Sup","â‹’":"Cap","â‹“":"Cup","â‹”":"fork","â‹•":"epar","â‹–":"ltdot","â‹—":"gtdot","⋘":"Ll","⋘̸":"nLl","â‹™":"Gg","⋙̸":"nGg","⋚︀":"lesg","â‹š":"leg","â‹›":"gel","⋛︀":"gesl","â‹ž":"cuepr","â‹Ÿ":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","â‹©":"scnsim","â‹®":"vellip","⋯":"ctdot","â‹°":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","â‹´":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","â‹·":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","â‹»":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","âŒ":"dlcrop","⌎":"urcrop","âŒ":"ulcrop","âŒ":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","âŒ":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","â¼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","âœ":"OverParenthesis","â":"UnderParenthesis","âž":"OverBrace","âŸ":"UnderBrace","â¢":"trpezium","â§":"elinters","â£":"blank","─":"boxh","│":"boxv","┌":"boxdr","â”":"boxdl","â””":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","â”´":"boxhu","┼":"boxvh","â•":"boxH","â•‘":"boxV","â•’":"boxdR","â•“":"boxDr","â•”":"boxDR","â••":"boxdL","â•–":"boxDl","â•—":"boxDL","╘":"boxuR","â•™":"boxUr","â•š":"boxUR","â•›":"boxuL","â•œ":"boxUl","â•":"boxUL","â•ž":"boxvR","â•Ÿ":"boxVr","â• ":"boxVR","â•¡":"boxvL","â•¢":"boxVl","â•£":"boxVL","╤":"boxHd","â•¥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","â•©":"boxHU","╪":"boxvH","â•«":"boxVh","╬":"boxVH","â–€":"uhblk","â–„":"lhblk","â–ˆ":"block","â–‘":"blk14","â–’":"blk12","â–“":"blk34","â–¡":"squ","â–ª":"squf","â–«":"EmptyVerySmallSquare","â–­":"rect","â–®":"marker","â–±":"fltns","â–³":"xutri","â–´":"utrif","â–µ":"utri","â–¸":"rtrif","â–¹":"rtri","â–½":"xdtri","â–¾":"dtrif","â–¿":"dtri","â—‚":"ltrif","â—ƒ":"ltri","â—Š":"loz","â—‹":"cir","â—¬":"tridot","â—¯":"xcirc","â—¸":"ultri","â—¹":"urtri","â—º":"lltri","â—»":"EmptySmallSquare","â—¼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","â™ ":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","â˜":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","â¤":"rbarr","⤎":"lBarr","â¤":"rBarr","â¤":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","â¤":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","â¥":"RightUpDownVector","â¥":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","â¥":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","â¦":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","â§":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","â§":"trisb","⧎":"rtriltri","â§":"LeftTriangleBar","â§Ì¸":"NotLeftTriangleBar","â§":"RightTriangleBar","â§Ì¸":"NotRightTriangleBar","⧜":"iinfin","â§":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","â¨":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","â¨":"fpartint","â¨":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","â©€":"capdot","â©‚":"ncup","⩃":"ncap","â©„":"capand","â©…":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","â©Š":"cupcup","â©‹":"capcap","â©Œ":"ccups","â©":"ccaps","â©":"ccupssm","â©“":"And","â©”":"Or","â©•":"andand","â©–":"oror","â©—":"orslope","⩘":"andslope","â©š":"andv","â©›":"orv","â©œ":"andd","â©":"ord","â©Ÿ":"wedbar","⩦":"sdote","⩪":"simdot","â©­":"congdot","⩭̸":"ncongdot","â©®":"easter","⩯":"apacir","â©°":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","â©·":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","â©»":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","â©¿":"lesdot","⪀":"gesdot","âª":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","âª":"lsime","⪎":"gsime","âª":"lsimg","âª":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","âª":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","â«€":"supplus","â«":"submult","â«‚":"supmult","⫃":"subedot","â«„":"supedot","â«…":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","â«‹":"subnE","⫌︀":"vsupnE","â«Œ":"supnE","â«":"csub","â«":"csup","â«‘":"csube","â«’":"csupe","â«“":"subsup","â«”":"supsub","â«•":"subsub","â«–":"supsup","â«—":"suphsub","⫘":"supdsub","â«™":"forkv","â«š":"topfork","â«›":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","â«©":"vBarv","â««":"Vbar","⫬":"Not","â«­":"bNot","â«®":"rnmid","⫯":"cirmid","â«°":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","â™­":"flat","â™®":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","Â¥":"yen","€":"euro","¹":"sup1","½":"half","â…“":"frac13","¼":"frac14","â…•":"frac15","â…™":"frac16","â…›":"frac18","²":"sup2","â…”":"frac23","â…–":"frac25","³":"sup3","¾":"frac34","â…—":"frac35","â…œ":"frac38","â…˜":"frac45","â…š":"frac56","â…":"frac58","â…ž":"frac78","ð’¶":"ascr","ð•’":"aopf","ð”ž":"afr","ð”¸":"Aopf","ð”„":"Afr","ð’œ":"Ascr","ª":"ordf","á":"aacute","Ã":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ä‚":"Abreve","â":"acirc","Â":"Acirc","Ã¥":"aring","Ã…":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","Ä…":"aogon","Ä„":"Aogon","Ä":"amacr","Ä€":"Amacr","æ":"aelig","Æ":"AElig","ð’·":"bscr","ð•“":"bopf","ð”Ÿ":"bfr","ð”¹":"Bopf","ℬ":"Bscr","ð”…":"Bfr","ð” ":"cfr","ð’¸":"cscr","ð•”":"copf","â„­":"Cfr","ð’ž":"Cscr","â„‚":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","Ä":"ccaron","ÄŒ":"Ccaron","Ä‹":"cdot","ÄŠ":"Cdot","ç":"ccedil","Ç":"Ccedil","â„…":"incare","ð”¡":"dfr","â…†":"dd","ð••":"dopf","ð’¹":"dscr","ð’Ÿ":"Dscr","ð”‡":"Dfr","â……":"DD","ð”»":"Dopf","Ä":"dcaron","ÄŽ":"Dcaron","Ä‘":"dstrok","Ä":"Dstrok","ð":"eth","Ã":"ETH","â…‡":"ee","ℯ":"escr","ð”¢":"efr","ð•–":"eopf","â„°":"Escr","ð”ˆ":"Efr","ð”¼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","Ä›":"ecaron","Äš":"Ecaron","ë":"euml","Ë":"Euml","Ä—":"edot","Ä–":"Edot","Ä™":"eogon","Ę":"Eogon","Ä“":"emacr","Ä’":"Emacr","ð”£":"ffr","ð•—":"fopf","ð’»":"fscr","ð”‰":"Ffr","ð”½":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","ï¬":"filig",fj:"fjlig","fl":"fllig","Æ’":"fnof","â„Š":"gscr","ð•˜":"gopf","ð”¤":"gfr","ð’¢":"Gscr","ð”¾":"Gopf","ð”Š":"Gfr","ǵ":"gacute","ÄŸ":"gbreve","Äž":"Gbreve","Ä":"gcirc","Äœ":"Gcirc","Ä¡":"gdot","Ä ":"Gdot","Ä¢":"Gcedil","ð”¥":"hfr","â„Ž":"planckh","ð’½":"hscr","ð•™":"hopf","â„‹":"Hscr","â„Œ":"Hfr","â„":"Hopf","Ä¥":"hcirc","Ĥ":"Hcirc","â„":"hbar","ħ":"hstrok","Ħ":"Hstrok","ð•š":"iopf","ð”¦":"ifr","ð’¾":"iscr","â…ˆ":"ii","ð•€":"Iopf","â„":"Iscr","â„‘":"Im","í":"iacute","Ã":"Iacute","ì":"igrave","ÃŒ":"Igrave","î":"icirc","ÃŽ":"Icirc","ï":"iuml","Ã":"Iuml","Ä©":"itilde","Ĩ":"Itilde","Ä°":"Idot","į":"iogon","Ä®":"Iogon","Ä«":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","ð’¿":"jscr","ð•›":"jopf","ð”§":"jfr","ð’¥":"Jscr","ð”":"Jfr","ð•":"Jopf","ĵ":"jcirc","Ä´":"Jcirc","È·":"jmath","ð•œ":"kopf","ð“€":"kscr","ð”¨":"kfr","ð’¦":"Kscr","ð•‚":"Kopf","ð”Ž":"Kfr","Ä·":"kcedil","Ķ":"Kcedil","ð”©":"lfr","ð“":"lscr","â„“":"ell","ð•":"lopf","â„’":"Lscr","ð”":"Lfr","ð•ƒ":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ä»":"Lcedil","Å‚":"lstrok","Å":"Lstrok","Å€":"lmidot","Ä¿":"Lmidot","ð”ª":"mfr","ð•ž":"mopf","ð“‚":"mscr","ð”":"Mfr","ð•„":"Mopf","ℳ":"Mscr","ð”«":"nfr","ð•Ÿ":"nopf","ð“ƒ":"nscr","â„•":"Nopf","ð’©":"Nscr","ð”‘":"Nfr","Å„":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Å…":"Ncedil","â„–":"numero","Å‹":"eng","ÅŠ":"ENG","ð• ":"oopf","ð”¬":"ofr","â„´":"oscr","ð’ª":"Oscr","ð”’":"Ofr","ð•†":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ã’":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","Å‘":"odblac","Å":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","Å":"omacr","ÅŒ":"Omacr","Å“":"oelig","Å’":"OElig","ð”­":"pfr","ð“…":"pscr","ð•¡":"popf","â„™":"Popf","ð”“":"Pfr","ð’«":"Pscr","ð•¢":"qopf","ð”®":"qfr","ð“†":"qscr","ð’¬":"Qscr","ð””":"Qfr","â„š":"Qopf","ĸ":"kgreen","ð”¯":"rfr","ð•£":"ropf","ð“‡":"rscr","â„›":"Rscr","â„œ":"Re","â„":"Ropf","Å•":"racute","Å”":"Racute","Å™":"rcaron","Ř":"Rcaron","Å—":"rcedil","Å–":"Rcedil","ð•¤":"sopf","ð“ˆ":"sscr","ð”°":"sfr","ð•Š":"Sopf","ð”–":"Sfr","ð’®":"Sscr","Ⓢ":"oS","Å›":"sacute","Åš":"Sacute","Å":"scirc","Åœ":"Scirc","Å¡":"scaron","Å ":"Scaron","ÅŸ":"scedil","Åž":"Scedil","ß":"szlig","ð”±":"tfr","ð“‰":"tscr","ð•¥":"topf","ð’¯":"Tscr","ð”—":"Tfr","ð•‹":"Topf","Å¥":"tcaron","Ť":"Tcaron","Å£":"tcedil","Å¢":"Tcedil","â„¢":"trade","ŧ":"tstrok","Ŧ":"Tstrok","ð“Š":"uscr","ð•¦":"uopf","ð”²":"ufr","ð•Œ":"Uopf","ð”˜":"Ufr","ð’°":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","Å­":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Å®":"Uring","ü":"uuml","Ãœ":"Uuml","ű":"udblac","Å°":"Udblac","Å©":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","Å«":"umacr","Ū":"Umacr","ð”³":"vfr","ð•§":"vopf","ð“‹":"vscr","ð”™":"Vfr","ð•":"Vopf","ð’±":"Vscr","ð•¨":"wopf","ð“Œ":"wscr","ð”´":"wfr","ð’²":"Wscr","ð•Ž":"Wopf","ð”š":"Wfr","ŵ":"wcirc","Å´":"Wcirc","ð”µ":"xfr","ð“":"xscr","ð•©":"xopf","ð•":"Xopf","ð”›":"Xfr","ð’³":"Xscr","ð”¶":"yfr","ð“Ž":"yscr","ð•ª":"yopf","ð’´":"Yscr","ð”œ":"Yfr","ð•":"Yopf","ý":"yacute","Ã":"Yacute","Å·":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","ð“":"zscr","ð”·":"zfr","ð•«":"zopf","ℨ":"Zfr","ℤ":"Zopf","ð’µ":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Å»":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Î’":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","Ï":"gammad","Ïœ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","Ï‘":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","Ï°":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Îœ":"Mu","ν":"nu","Î":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","Ï€":"pi","Ï–":"piv","Π":"Pi","Ï":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","Ï‚":"sigmaf","Ï„":"tau","Τ":"Tau","Ï…":"upsi","Î¥":"Upsilon","Ï’":"Upsi","φ":"phi","Ï•":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","Ð":"Acy","б":"bcy","Б":"Bcy","в":"vcy","Ð’":"Vcy","г":"gcy","Г":"Gcy","Ñ“":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","Ñ’":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","Ñ‘":"iocy","Ð":"IOcy","Ñ”":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","Ñ•":"dscy","Ð…":"DScy","и":"icy","И":"Icy","Ñ–":"iukcy","І":"Iukcy","Ñ—":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","Ñœ":"kjcy","ÐŒ":"KJcy","л":"lcy","Л":"Lcy","Ñ™":"ljcy","Љ":"LJcy","м":"mcy","Ðœ":"Mcy","н":"ncy","Ð":"Ncy","Ñš":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","Ñ€":"rcy","Р":"Rcy","Ñ":"scy","С":"Scy","Ñ‚":"tcy","Т":"Tcy","Ñ›":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","Ñž":"ubrcy","ÐŽ":"Ubrcy","Ñ„":"fcy","Ф":"Fcy","Ñ…":"khcy","Ð¥":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","ÑŸ":"dzcy","Ð":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ÑŠ":"hardcy","Ъ":"HARDcy","Ñ‹":"ycy","Ы":"Ycy","ÑŒ":"softcy","Ь":"SOFTcy","Ñ":"ecy","Э":"Ecy","ÑŽ":"yucy","Ю":"YUcy","Ñ":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","â„·":"gimel","ℸ":"daleth"},h=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},g=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,f=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,b={aacute:"á",Aacute:"Ã",abreve:"ă",Abreve:"Ä‚",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"Ð",aelig:"æ",AElig:"Æ",af:"â¡",afr:"ð”ž",Afr:"ð”„",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"Ä",Amacr:"Ä€",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"â©“",andand:"â©•",andd:"â©œ",andslope:"⩘",andv:"â©š",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"â¦",angsph:"∢",angst:"Ã…",angzarr:"â¼",aogon:"Ä…",Aogon:"Ä„",aopf:"ð•’",Aopf:"ð”¸",ap:"≈",apacir:"⩯",ape:"≊",apE:"â©°",apid:"≋",apos:"'",ApplyFunction:"â¡",approx:"≈",approxeq:"≊",aring:"Ã¥",Aring:"Ã…",ascr:"ð’¶",Ascr:"ð’œ",Assign:"≔",ast:"*",asymp:"≈",asympeq:"â‰",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"â‹",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Î’",beth:"ℶ",between:"≬",bfr:"ð”Ÿ",Bfr:"ð”…",bigcap:"â‹‚",bigcirc:"â—¯",bigcup:"⋃",bigodot:"⨀",bigoplus:"â¨",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"â–½",bigtriangleup:"â–³",biguplus:"⨄",bigvee:"â‹",bigwedge:"â‹€",bkarow:"â¤",blacklozenge:"⧫",blacksquare:"â–ª",blacktriangle:"â–´",blacktriangledown:"â–¾",blacktriangleleft:"â—‚",blacktriangleright:"â–¸",blank:"â£",blk12:"â–’",blk14:"â–‘",blk34:"â–“",block:"â–ˆ",bne:"=⃥",bnequiv:"≡⃥",bnot:"âŒ",bNot:"â«­",bopf:"ð•“",Bopf:"ð”¹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"â”",boxdL:"â••",boxDl:"â•–",boxDL:"â•—",boxdr:"┌",boxdR:"â•’",boxDr:"â•“",boxDR:"â•”",boxh:"─",boxH:"â•",boxhd:"┬",boxhD:"â•¥",boxHd:"╤",boxHD:"╦",boxhu:"â”´",boxhU:"╨",boxHu:"╧",boxHU:"â•©",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"â•›",boxUl:"â•œ",boxUL:"â•",boxur:"â””",boxuR:"╘",boxUr:"â•™",boxUR:"â•š",boxv:"│",boxV:"â•‘",boxvh:"┼",boxvH:"╪",boxVh:"â•«",boxVH:"╬",boxvl:"┤",boxvL:"â•¡",boxVl:"â•¢",boxVL:"â•£",boxvr:"├",boxvR:"â•ž",boxVr:"â•Ÿ",boxVR:"â• ",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"ð’·",Bscr:"ℬ",bsemi:"â",bsim:"∽",bsime:"â‹",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"â‰",bumpE:"⪮",bumpeq:"â‰",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"â‹’",capand:"â©„",capbrcup:"⩉",capcap:"â©‹",capcup:"⩇",capdot:"â©€",CapitalDifferentialD:"â……",caps:"∩︀",caret:"â",caron:"ˇ",Cayleys:"â„­",ccaps:"â©",ccaron:"Ä",Ccaron:"ÄŒ",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"â©Œ",ccupssm:"â©",cdot:"Ä‹",Cdot:"ÄŠ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"ð” ",Cfr:"â„­",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"â—‹",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"âŠ",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"â¨",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"â€",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"â©´",coloneq:"≔",comma:",",commat:"@",comp:"âˆ",compfn:"∘",complement:"âˆ",complexes:"â„‚",cong:"≅",congdot:"â©­",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"ð•”",Copf:"â„‚",coprod:"âˆ",Coproduct:"âˆ",copy:"©",COPY:"©",copysr:"â„—",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"ð’¸",Cscr:"ð’ž",csub:"â«",csube:"â«‘",csup:"â«",csupe:"â«’",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"â‹ž",cuesc:"â‹Ÿ",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"â‹“",cupbrcap:"⩈",cupcap:"⩆",CupCap:"â‰",cupcup:"â©Š",cupdot:"âŠ",cupor:"â©…",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"â‹ž",curlyeqsucc:"â‹Ÿ",curlyvee:"â‹Ž",curlywedge:"â‹",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"â‹Ž",cuwed:"â‹",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"â€",dashv:"⊣",Dashv:"⫤",dbkarow:"â¤",dblac:"Ë",dcaron:"Ä",Dcaron:"ÄŽ",dcy:"д",Dcy:"Д",dd:"â…†",DD:"â……",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"â©·",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"ð”¡",Dfr:"ð”‡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"Ë™",DiacriticalDoubleAcute:"Ë",DiacriticalGrave:"`",DiacriticalTilde:"Ëœ",diam:"â‹„",diamond:"â‹„",Diamond:"â‹„",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"â…†",digamma:"Ï",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"Ñ’",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"âŒ",dollar:"$",dopf:"ð••",Dopf:"ð”»",dot:"Ë™",Dot:"¨",DotDot:"⃜",doteq:"â‰",doteqdot:"≑",DotEqual:"â‰",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"â‡",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"Ì‘",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"â¥",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"â‡",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"â¤",drcorn:"⌟",drcrop:"⌌",dscr:"ð’¹",Dscr:"ð’Ÿ",dscy:"Ñ•",DScy:"Ð…",dsol:"⧶",dstrok:"Ä‘",Dstrok:"Ä",dtdot:"⋱",dtri:"â–¿",dtrif:"â–¾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"ÑŸ",DZcy:"Ð",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"â©®",ecaron:"Ä›",Ecaron:"Äš",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"Ñ",Ecy:"Э",eDDot:"â©·",edot:"Ä—",eDot:"≑",Edot:"Ä–",ee:"â…‡",efDot:"≒",efr:"ð”¢",Efr:"ð”ˆ",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"â§",ell:"â„“",els:"⪕",elsdot:"⪗",emacr:"Ä“",Emacr:"Ä’",empty:"∅",emptyset:"∅",EmptySmallSquare:"â—»",emptyv:"∅",EmptyVerySmallSquare:"â–«",emsp:" ",emsp13:" ",emsp14:" ",eng:"Å‹",ENG:"ÅŠ",ensp:" ",eogon:"Ä™",Eogon:"Ę",eopf:"ð•–",Eopf:"ð”¼",epar:"â‹•",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"â„°",esdot:"â‰",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ã",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"â„°",exponentiale:"â…‡",ExponentialE:"â…‡",fallingdotseq:"≒",fcy:"Ñ„",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"ð”£",Ffr:"ð”‰",filig:"ï¬",FilledSmallSquare:"â—¼",FilledVerySmallSquare:"â–ª",fjlig:"fj",flat:"â™­",fllig:"fl",fltns:"â–±",fnof:"Æ’",fopf:"ð•—",Fopf:"ð”½",forall:"∀",ForAll:"∀",fork:"â‹”",forkv:"â«™",Fouriertrf:"ℱ",fpartint:"â¨",frac12:"½",frac13:"â…“",frac14:"¼",frac15:"â…•",frac16:"â…™",frac18:"â…›",frac23:"â…”",frac25:"â…–",frac34:"¾",frac35:"â…—",frac38:"â…œ",frac45:"â…˜",frac56:"â…š",frac58:"â…",frac78:"â…ž",frasl:"â„",frown:"⌢",fscr:"ð’»",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"Ï",Gammad:"Ïœ",gap:"⪆",gbreve:"ÄŸ",Gbreve:"Äž",Gcedil:"Ä¢",gcirc:"Ä",Gcirc:"Äœ",gcy:"г",Gcy:"Г",gdot:"Ä¡",Gdot:"Ä ",ge:"≥",gE:"≧",gel:"â‹›",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"ð”¤",Gfr:"ð”Š",gg:"≫",Gg:"â‹™",ggg:"â‹™",gimel:"â„·",gjcy:"Ñ“",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"ð•˜",Gopf:"ð”¾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"â‹›",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"â„Š",Gscr:"ð’¢",gsim:"≳",gsime:"⪎",gsiml:"âª",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"â‹—",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"â‹—",gtreqless:"â‹›",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"â„‹",hardcy:"ÑŠ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"â„",hcirc:"Ä¥",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"ð”¥",Hfr:"â„Œ",HilbertSpace:"â„‹",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"ð•™",Hopf:"â„",horbar:"―",HorizontalLine:"─",hscr:"ð’½",Hscr:"â„‹",hslash:"â„",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"â‰",hybull:"âƒ",hyphen:"â€",iacute:"í",Iacute:"Ã",ic:"â£",icirc:"î",Icirc:"ÃŽ",icy:"и",Icy:"И",Idot:"Ä°",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"ð”¦",Ifr:"â„‘",igrave:"ì",Igrave:"ÃŒ",ii:"â…ˆ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"â„©",ijlig:"ij",IJlig:"IJ",Im:"â„‘",imacr:"Ä«",Imacr:"Ī",image:"â„‘",ImaginaryI:"â…ˆ",imagline:"â„",imagpart:"â„‘",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"â„…",infin:"∞",infintie:"â§",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"â‹‚",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"â£",InvisibleTimes:"â¢",iocy:"Ñ‘",IOcy:"Ð",iogon:"į",Iogon:"Ä®",iopf:"ð•š",Iopf:"ð•€",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"ð’¾",Iscr:"â„",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"â‹´",isinsv:"⋳",isinv:"∈",it:"â¢",itilde:"Ä©",Itilde:"Ĩ",iukcy:"Ñ–",Iukcy:"І",iuml:"ï",Iuml:"Ã",jcirc:"ĵ",Jcirc:"Ä´",jcy:"й",Jcy:"Й",jfr:"ð”§",Jfr:"ð”",jmath:"È·",jopf:"ð•›",Jopf:"ð•",jscr:"ð’¿",Jscr:"ð’¥",jsercy:"ј",Jsercy:"Ј",jukcy:"Ñ”",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"Ï°",kcedil:"Ä·",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"ð”¨",Kfr:"ð”Ž",kgreen:"ĸ",khcy:"Ñ…",KHcy:"Ð¥",kjcy:"Ñœ",KJcy:"ÐŒ",kopf:"ð•œ",Kopf:"ð•‚",kscr:"ð“€",Kscr:"ð’¦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"â„’",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"â„’",laquo:"«",larr:"â†",lArr:"â‡",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"â¤",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"â²",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"â¦",lbrkslu:"â¦",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ä»",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"â†",Leftarrow:"â‡",LeftArrow:"â†",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"â‹‹",LeftTriangle:"⊲",LeftTriangleBar:"â§",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"â‹š",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"â©¿",lesdoto:"âª",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"â‹–",lesseqgtr:"â‹š",lesseqqgtr:"⪋",LessEqualGreater:"â‹š",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"ð”©",Lfr:"ð”",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"â–„",ljcy:"Ñ™",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"â—º",lmidot:"Å€",Lmidot:"Ä¿",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"ð•",Lopf:"ð•ƒ",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"â—Š",lozenge:"â—Š",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"ð“",Lscr:"â„’",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"âª",lsimg:"âª",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"Å‚",Lstrok:"Å",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"â‹–",lthree:"â‹‹",ltimes:"⋉",ltlarr:"⥶",ltquest:"â©»",ltri:"â—ƒ",ltrie:"⊴",ltrif:"â—‚",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"â–®",mcomma:"⨩",mcy:"м",Mcy:"Ðœ",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:"âŸ",Mellintrf:"ℳ",mfr:"ð”ª",Mfr:"ð”",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"â«°",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"â«›",mldr:"…",mnplus:"∓",models:"⊧",mopf:"ð•ž",Mopf:"ð•„",mp:"∓",mscr:"ð“‚",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Îœ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"Å„",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"â™®",natural:"â™®",naturals:"â„•",nbsp:" ",nbump:"≎̸",nbumpe:"â‰Ì¸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Å…",ncong:"≇",ncongdot:"⩭̸",ncup:"â©‚",ncy:"н",Ncy:"Ð",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"â‰Ì¸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"ð”«",Nfr:"ð”‘",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"Ñš",NJcy:"Њ",nlarr:"↚",nlArr:"â‡",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"â‡",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"â ",NonBreakingSpace:" ",nopf:"ð•Ÿ",Nopf:"â„•",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"â‰Ì¸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"â‹·",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"â§Ì¸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"â‹ ",NotReverseElement:"∌",NotRightTriangle:"â‹«",NotRightTriangleBar:"â§Ì¸",NotRightTriangleEqual:"â‹­",NotSquareSubset:"âŠÌ¸",NotSquareSubsetEqual:"â‹¢",NotSquareSuperset:"âŠÌ¸",NotSquareSupersetEqual:"â‹£",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"âŠ",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"â‹¡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"â‰",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"â‹ ",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"â‡",nrarrc:"⤳̸",nrarrw:"â†Ì¸",nrightarrow:"↛",nRightarrow:"â‡",nrtri:"â‹«",nrtrie:"â‹­",nsc:"âŠ",nsccue:"â‹¡",nsce:"⪰̸",nscr:"ð“ƒ",Nscr:"ð’©",nshortmid:"∤",nshortparallel:"∦",nsim:"â‰",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"â‹¢",nsqsupe:"â‹£",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"âŠ",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"â‹«",ntrianglerighteq:"â‹­",nu:"ν",Nu:"Î",num:"#",numero:"â„–",numsp:" ",nvap:"â‰âƒ’",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"âŠ",odblac:"Å‘",Odblac:"Å",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"Å“",OElig:"Å’",ofcir:"⦿",ofr:"ð”¬",Ofr:"ð”’",ogon:"Ë›",ograve:"ò",Ograve:"Ã’",ogt:"â§",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"Å",Omacr:"ÅŒ",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"ð• ",Oopf:"ð•†",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"â©”",orarr:"↻",ord:"â©",order:"â„´",orderof:"â„´",ordf:"ª",ordm:"º",origof:"⊶",oror:"â©–",orslope:"â©—",orv:"â©›",oS:"Ⓢ",oscr:"â„´",Oscr:"ð’ª",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"âž",OverBracket:"⎴",OverParenthesis:"âœ",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"ð”­",Pfr:"ð”“",phi:"φ",Phi:"Φ",phiv:"Ï•",phmmat:"ℳ",phone:"☎",pi:"Ï€",Pi:"Π",pitchfork:"â‹”",piv:"Ï–",planck:"â„",planckh:"â„Ž",plankv:"â„",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"â„Œ",pointint:"⨕",popf:"ð•¡",Popf:"â„™",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"â„™",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"âˆ",Product:"âˆ",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"âˆ",Proportion:"∷",Proportional:"âˆ",propto:"âˆ",prsim:"≾",prurel:"⊰",pscr:"ð“…",Pscr:"ð’«",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"ð”®",Qfr:"ð””",qint:"⨌",qopf:"ð•¢",Qopf:"â„š",qprime:"â—",qscr:"ð“†",Qscr:"ð’¬",quaternions:"â„",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"Å•",Racute:"Å”",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"â†",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"â„š",rbarr:"â¤",rBarr:"â¤",RBarr:"â¤",rbbrk:"â³",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"â¦",rcaron:"Å™",Rcaron:"Ř",rcedil:"Å—",Rcedil:"Å–",rceil:"⌉",rcub:"}",rcy:"Ñ€",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"â€",rdquor:"â€",rdsh:"↳",Re:"â„œ",real:"â„œ",realine:"â„›",realpart:"â„œ",reals:"â„",rect:"â–­",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"ð”¯",Rfr:"â„œ",rHar:"⥤",rhard:"â‡",rharu:"⇀",rharul:"⥬",rho:"Ï",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"â¥",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"â‡",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"â†",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"â‹Œ",RightTriangle:"⊳",RightTriangleBar:"â§",RightTriangleEqual:"⊵",RightUpDownVector:"â¥",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"Ëš",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"â€",rmoust:"⎱",rmoustache:"⎱",rnmid:"â«®",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"ð•£",Ropf:"â„",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"ð“‡",Rscr:"â„›",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"â‹Œ",rtimes:"â‹Š",rtri:"â–¹",rtrie:"⊵",rtrif:"â–¸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"â„ž",sacute:"Å›",Sacute:"Åš",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"Å¡",Scaron:"Å ",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ÅŸ",Scedil:"Åž",scirc:"Å",Scirc:"Åœ",scnap:"⪺",scnE:"⪶",scnsim:"â‹©",scpolint:"⨓",scsim:"≿",scy:"Ñ",Scy:"С",sdot:"â‹…",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"ð”°",Sfr:"ð”–",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"â†",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"Ï‚",sigmav:"Ï‚",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"âª",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"â†",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ÑŒ",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"ð•¤",Sopf:"ð•Š",spades:"â™ ",spadesuit:"â™ ",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"âŠ",sqsube:"⊑",sqsubset:"âŠ",sqsubseteq:"⊑",sqsup:"âŠ",sqsupe:"⊒",sqsupset:"âŠ",sqsupseteq:"⊒",squ:"â–¡",square:"â–¡",Square:"â–¡",SquareIntersection:"⊓",SquareSubset:"âŠ",SquareSubsetEqual:"⊑",SquareSuperset:"âŠ",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"â–ª",squf:"â–ª",srarr:"→",sscr:"ð“ˆ",Sscr:"ð’®",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"Ï•",strns:"¯",sub:"⊂",Sub:"â‹",subdot:"⪽",sube:"⊆",subE:"â«…",subedot:"⫃",submult:"â«",subne:"⊊",subnE:"â«‹",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"â‹",subseteq:"⊆",subseteqq:"â«…",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"â«‹",subsim:"⫇",subsub:"â«•",subsup:"â«“",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"â‹©",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"â‹‘",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"â«„",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"â«—",suplarr:"⥻",supmult:"â«‚",supne:"⊋",supnE:"â«Œ",supplus:"â«€",supset:"⊃",Supset:"â‹‘",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"â«Œ",supsim:"⫈",supsub:"â«”",supsup:"â«–",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"Ï„",Tau:"Τ",tbrk:"⎴",tcaron:"Å¥",Tcaron:"Ť",tcedil:"Å£",Tcedil:"Å¢",tcy:"Ñ‚",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"ð”±",Tfr:"ð”—",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"Ï‘",thetav:"Ï‘",thickapprox:"≈",thicksim:"∼",ThickSpace:"âŸâ€Š",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"Ëœ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"ð•¥",Topf:"ð•‹",topfork:"â«š",tosa:"⤩",tprime:"‴",trade:"â„¢",TRADE:"â„¢",triangle:"â–µ",triangledown:"â–¿",triangleleft:"â—ƒ",trianglelefteq:"⊴",triangleq:"≜",triangleright:"â–¹",trianglerighteq:"⊵",tridot:"â—¬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"â§",tritime:"⨻",trpezium:"â¢",tscr:"ð“‰",Tscr:"ð’¯",tscy:"ц",TScy:"Ц",tshcy:"Ñ›",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"Ñž",Ubrcy:"ÐŽ",ubreve:"Å­",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Å°",udhar:"⥮",ufisht:"⥾",ufr:"ð”²",Ufr:"ð”˜",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"â–€",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"âŒ",ultri:"â—¸",umacr:"Å«",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"âŸ",UnderBracket:"⎵",UnderParenthesis:"â",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"ð•¦",Uopf:"ð•Œ",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"Ï…",Upsi:"Ï’",upsih:"Ï’",upsilon:"Ï…",Upsilon:"Î¥",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"âŒ",urcorner:"âŒ",urcrop:"⌎",uring:"ů",Uring:"Å®",urtri:"â—¹",uscr:"ð“Š",Uscr:"ð’°",utdot:"â‹°",utilde:"Å©",Utilde:"Ũ",utri:"â–µ",utrif:"â–´",uuarr:"⇈",uuml:"ü",Uuml:"Ãœ",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"Ï°",varnothing:"∅",varphi:"Ï•",varpi:"Ï–",varpropto:"âˆ",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"Ï‚",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"Ï‘",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"â««",vBarv:"â«©",vcy:"в",Vcy:"Ð’",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"â‹",veebar:"⊻",veeeq:"≚",vellip:"â‹®",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"â˜",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"ð”³",Vfr:"ð”™",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"ð•§",Vopf:"ð•",vprop:"âˆ",vrtri:"⊳",vscr:"ð“‹",Vscr:"ð’±",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Å´",wedbar:"â©Ÿ",wedge:"∧",Wedge:"â‹€",wedgeq:"≙",weierp:"℘",wfr:"ð”´",Wfr:"ð”š",wopf:"ð•¨",Wopf:"ð•Ž",wp:"℘",wr:"≀",wreath:"≀",wscr:"ð“Œ",Wscr:"ð’²",xcap:"â‹‚",xcirc:"â—¯",xcup:"⋃",xdtri:"â–½",xfr:"ð”µ",Xfr:"ð”›",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"â‹»",xodot:"⨀",xopf:"ð•©",Xopf:"ð•",xoplus:"â¨",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"ð“",Xscr:"ð’³",xsqcup:"⨆",xuplus:"⨄",xutri:"â–³",xvee:"â‹",xwedge:"â‹€",yacute:"ý",Yacute:"Ã",yacy:"Ñ",YAcy:"Я",ycirc:"Å·",Ycirc:"Ŷ",ycy:"Ñ‹",Ycy:"Ы",yen:"Â¥",yfr:"ð”¶",Yfr:"ð”œ",yicy:"Ñ—",YIcy:"Ї",yopf:"ð•ª",Yopf:"ð•",yscr:"ð“Ž",Yscr:"ð’´",yucy:"ÑŽ",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Å»",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"ð”·",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"â‡",zopf:"ð•«",Zopf:"ℤ",zscr:"ð“",Zscr:"ð’µ",zwj:"â€",zwnj:"‌"},v={aacute:"á",Aacute:"Ã",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"Ã¥",Aring:"Ã…",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ã",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Ã",icirc:"î",Icirc:"ÃŽ",iexcl:"¡",igrave:"ì",Igrave:"ÃŒ",iquest:"¿",iuml:"ï",Iuml:"Ã",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ã’",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ãœ",yacute:"ý",Yacute:"Ã",yen:"Â¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"Æ’",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Å ",139:"‹",140:"Å’",142:"Ž",145:"‘",146:"’",147:"“",148:"â€",149:"•",150:"–",151:"—",152:"Ëœ",153:"â„¢",154:"Å¡",155:"›",156:"Å“",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],q=String.fromCharCode,D={}.hasOwnProperty,x=function(e,r){return D.call(e,r)},k=function(e,r){if(!e)return r;var t,a={};for(t in r)a[t]=x(e,t)?e[t]:r[t];return a},E=function(e,r){var t="";return e>=55296&&e<=57343||e>1114111?(r&&C("character reference outside the permissible Unicode range"),"�"):x(y,e)?(r&&C("disallowed character reference"),y[e]):(r&&function(e,r){for(var t=-1,a=e.length;++t65535&&(t+=q((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=q(e))},A=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},L=function(e){return"&#"+e+";"},C=function(e){throw Error("Parse error: "+e)},S=function(e,r){(r=k(r,S.options)).strict&&f.test(e)&&C("forbidden code point");var t=r.encodeEverything,a=r.useNamedReferences,s=r.allowUnsafeSymbols,i=r.decimal?L:A,o=function(e){return i(e.charCodeAt(0))};return t?(e=e.replace(l,(function(e){return a&&x(p,e)?"&"+p[e]+";":o(e)})),a&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),a&&(e=e.replace(u,(function(e){return"&"+p[e]+";"})))):a?(s||(e=e.replace(h,(function(e){return"&"+p[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+p[e]+";"}))):s||(e=e.replace(h,o)),e.replace(n,(function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return i(1024*(r-55296)+t-56320+65536)})).replace(c,o)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var T=function(e,r){var t=(r=k(r,T.options)).strict;return t&&g.test(e)&&C("malformed character reference"),e.replace(m,(function(e,a,s,i,o,n,l,c,u){var p,h,d,g,f,m;return a?b[f=a]:s?(f=s,(m=i)&&r.isAttributeValue?(t&&"="==m&&C("`&` did not start a character reference"),e):(t&&C("named character reference was not terminated by a semicolon"),v[f]+(m||""))):o?(d=o,h=n,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(d,10),E(p,t)):l?(g=l,h=c,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(g,16),E(p,t)):(t&&C("named character reference was not terminated by a semicolon"),e)}))};T.options={isAttributeValue:!1,strict:!1};var B={version:"1.2.0",encode:S,decode:T,escape:function(e){return e.replace(h,(function(e){return d[e]}))},unescape:T};void 0===(a=function(){return B}.call(r,t,r,e))||(e.exports=a)}()}).call(this,t(69)(e))},305:function(e,r,t){"use strict";t(279)},306:function(e,r,t){"use strict";t(280)},307:function(e,r,t){"use strict";t(281)},308:function(e,r,t){"use strict";t(282)},309:function(e,r,t){"use strict";t(284)},310:function(e,r,t){var a=t(26),s=t(12),i=t(21);e.exports=function(e){return"string"==typeof e||!s(e)&&i(e)&&"[object String]"==a(e)}},311:function(e,r,t){"use strict";t(285)},312:function(e,r,t){"use strict";t(286)},313:function(e,r,t){"use strict";t(287)},314:function(e,r,t){"use strict";t(288)},315:function(e,r,t){"use strict";t(289)},335:function(e,r,t){"use strict";t.r(r);var a=t(70),s={name:"Home",components:{NavLink:a.a},computed:{data(){return this.$page.frontmatter},actionLink(){return{link:this.data.actionLink,text:this.data.actionText}}}},i=(t(300),t(6)),o=Object(i.a)(s,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("main",{staticClass:"home",attrs:{"aria-labelledby":null!==e.data.heroText?"main-title":null}},[t("header",{staticClass:"hero"},[e.data.heroImage?t("img",{attrs:{src:e.$withBase(e.data.heroImage),alt:e.data.heroAlt||"hero"}}):e._e(),e._v(" "),null!==e.data.heroText?t("h1",{attrs:{id:"main-title"}},[e._v("\n "+e._s(e.data.heroText||e.$title||"Hello")+"\n ")]):e._e(),e._v(" "),null!==e.data.tagline?t("p",{staticClass:"description"},[e._v("\n "+e._s(e.data.tagline||e.$description||"Welcome to your VuePress site")+"\n ")]):e._e(),e._v(" "),e.data.actionText&&e.data.actionLink?t("p",{staticClass:"action"},[t("NavLink",{staticClass:"action-button",attrs:{item:e.actionLink}})],1):e._e()]),e._v(" "),e.data.features&&e.data.features.length?t("div",{staticClass:"features"},e._l(e.data.features,(function(r,a){return t("div",{key:a,staticClass:"feature"},[t("h2",[e._v(e._s(r.title))]),e._v(" "),t("p",[e._v(e._s(r.details))])])})),0):e._e(),e._v(" "),t("Content",{staticClass:"theme-default-content custom"}),e._v(" "),e.data.footer?t("div",{staticClass:"footer"},[e._v("\n "+e._s(e.data.footer)+"\n ")]):e._e()],1)}),[],!1,null,null,null).exports,n=(t(19),t(122)),l=t.n(n),c=(e,r,t=null)=>{let a=l()(r,"title","");return l()(r,"frontmatter.tags")&&(a+=" "+r.frontmatter.tags.join(" ")),t&&(a+=" "+t),u(e,a)};const u=(e,r)=>{const t=e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),a=new RegExp("[^\0-]"),s=e.split(/\s+/g).map(e=>e.trim()).filter(e=>!!e);if(a.test(e))return s.some(e=>r.toLowerCase().indexOf(e)>-1);{const a=e.endsWith(" ");return new RegExp(s.map((e,r)=>s.length!==r+1||a?`(?=.*\\b${t(e)}\\b)`:`(?=.*\\b${t(e)})`).join("")+".+","gi").test(r)}};var p={name:"SearchBox",data:()=>({query:"",focused:!1,focusIndex:0,placeholder:void 0}),computed:{showSuggestions(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions(){const e=this.query.trim().toLowerCase();if(!e)return;const{pages:r}=this.$site,t=this.$site.themeConfig.searchMaxSuggestions||10,a=this.$localePath,s=[];for(let i=0;i=t);i++){const o=r[i];if(this.getPageLocalePath(o)===a&&this.isSearchable(o))if(c(e,o))s.push(o);else if(o.headers)for(let r=0;r=t);r++){const t=o.headers[r];t.title&&c(e,o,t.title)&&s.push(Object.assign({},o,{path:o.path+"#"+t.slug,header:t}))}}return s},alignRight(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath(e){for(const r in this.$site.locales||{})if("/"!==r&&0===e.path.indexOf(r))return r;return"/"},isSearchable(e){let r=null;return null===r||(r=Array.isArray(r)?r:new Array(r),r.filter(r=>e.path.match(r)).length>0)},onHotkey(e){e.srcElement===document.body&&"s".includes(e.key)&&(this.$refs.input.focus(),e.preventDefault())},onUp(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown(){this.showSuggestions&&(this.focusIndex "+e._s(r.header.title))]):e._e()])])})),0):e._e()])}),[],!1,null,null,null).exports),d=t(302),g=t.n(d),f=t(303),m={extends:h,data:()=>({index:null}),computed:{suggestions(){const e=this.query.trim().toLowerCase();if(!e)return;return this.index.search(e,10).map(e=>({...e,title:this.getSuggestionTitle(e),text:this.getSuggestionText(e)}))}},mounted(){this.setupFlexSearch()},methods:{go(e){if(!this.showSuggestions)return;const r=this.suggestions[e].path;this.$route.path!==r&&this.$router.push(this.suggestions[e].path),this.query="",this.focusIndex=0},setupFlexSearch(){this.index=new g.a({encode:"icase",tokenize:"forward",resolution:9,doc:{id:"key",field:["title","content","headers"]}});const{pages:e}=this.$site;this.index.add(e)},getSuggestionTitle(e){const r=e.title?e.title:e.regularPath;return Object(f.highlightText)(r,this.query)},getSuggestionText(e){const r=e.content,t=r.toLowerCase().indexOf(this.query.toLowerCase()),a=this.query.split(" ")[0];let s=-1===t?r.toLowerCase().indexOf(a.toLowerCase()):t,i="";s>15&&(s-=15,i=".. ");const o=e.content.substr(s,60);return i+Object(f.highlightText)(o,this.query)}}},b=(t(305),Object(i.a)(m,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"search-box"},[t("input",{ref:"input",class:{focused:e.focused},attrs:{"aria-label":"Search",placeholder:e.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:e.query},on:{input:function(r){e.query=r.target.value},focus:function(r){e.focused=!0},blur:function(r){e.focused=!1},keyup:[function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.go(e.focusIndex)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"up",38,r.key,["Up","ArrowUp"])?null:e.onUp.apply(null,arguments)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"down",40,r.key,["Down","ArrowDown"])?null:e.onDown.apply(null,arguments)}]}}),e._v(" "),e.showSuggestions?t("ul",{staticClass:"suggestions",class:{"align-right":e.alignRight},on:{mouseleave:e.unfocus}},e._l(e.suggestions,(function(r,a){return t("li",{key:a,staticClass:"suggestion",class:{focused:a===e.focusIndex},on:{mousedown:function(r){return e.go(a)},mouseenter:function(r){return e.focus(a)}}},[t("a",{attrs:{href:r.regularPath},on:{click:function(e){e.preventDefault()}}},[t("span",{staticClass:"suggestion__title",domProps:{innerHTML:e._s(r.title||r.regularPath)}}),e._v(" "),t("span",{staticClass:"suggestion__result",domProps:{innerHTML:e._s(r.text)}})])])})),0):e._e()])}),[],!1,null,null,null).exports),v=(t(306),Object(i.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"sidebar-button",on:{click:function(r){return e.$emit("toggle-sidebar")}}},[t("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[t("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),y=(t(9),t(114)),w=t(20),q={name:"NavLinks",components:{NavLink:a.a,DropdownLink:y.a},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:e}=this.$site;if(e&&Object.keys(e).length>1){const r=this.$page.path,t=this.$router.options.routes,a=this.$site.themeConfig.locales||{},s={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map(s=>{const i=e[s],o=a[s]&&a[s].label||i.lang;let n;return i.lang===this.$lang?n=r:(n=r.replace(this.$localeConfig.path,s),t.some(e=>e.path===n)||(n=s)),{text:o,link:n}})};return[...this.userNav,s]}return this.userNav},userLinks(){return(this.nav||[]).map(e=>Object.assign(Object(w.j)(e),{items:(e.items||[]).map(w.j)}))},repoLink(){const{repo:e}=this.$site.themeConfig;return e?/^https?:/.test(e)?e:"https://github.com/"+e:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const e=this.repoLink.match(/^https?:\/\/[^/]+/)[0],r=["GitHub","GitLab","Bitbucket"];for(let t=0;t({linksWrapMaxWidth:null}),computed:{algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}},mounted(){const e=parseInt(x(this.$el,"paddingLeft"))+parseInt(x(this.$el,"paddingRight")),r=()=>{document.documentElement.clientWidth<719?this.linksWrapMaxWidth=null:this.linksWrapMaxWidth=this.$el.offsetWidth-e-(this.$refs.siteName&&this.$refs.siteName.offsetWidth||0)};r(),window.addEventListener("resize",r,!1)}},E=(t(308),Object(i.a)(k,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("header",{staticClass:"navbar"},[t("SidebarButton",{on:{"toggle-sidebar":function(r){return e.$emit("toggle-sidebar")}}}),e._v(" "),t("RouterLink",{staticClass:"home-link",attrs:{to:e.$localePath}},[e.$site.themeConfig.logo?t("img",{staticClass:"logo",attrs:{src:e.$withBase(e.$site.themeConfig.logo),alt:e.$siteTitle}}):e._e(),e._v(" "),e.$siteTitle?t("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":e.$site.themeConfig.logo}},[e._v(e._s(e.$siteTitle))]):e._e()]),e._v(" "),t("div",{staticClass:"links",style:e.linksWrapMaxWidth?{"max-width":e.linksWrapMaxWidth+"px"}:{}},[e.isAlgoliaSearch?t("AlgoliaSearchBox",{attrs:{options:e.algolia}}):!1!==e.$site.themeConfig.search&&!1!==e.$page.frontmatter.search?t("SearchBox"):e._e(),e._v(" "),t("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null).exports),A=t(283),L=t.n(A),C={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const e=L()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:r,docsDir:t="",docsBranch:a="master",docsRepo:s=r}=this.$site.themeConfig;return e&&s&&this.$page.relativePath?this.createEditLink(r,s,t,a,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(e,r,t,a,s){if(/bitbucket.org/.test(r)){return r.replace(w.a,"")+"/src"+`/${a}/`+(t?t.replace(w.a,"")+"/":"")+s+`?mode=edit&spa=0&at=${a}&fileviewer=file-view-default`}if(/gitlab.com/.test(r)){return r.replace(w.a,"")+"/-/edit"+`/${a}/`+(t?t.replace(w.a,"")+"/":"")+s}return(w.i.test(r)?r:"https://github.com/"+r).replace(w.a,"")+"/edit"+`/${a}/`+(t?t.replace(w.a,"")+"/":"")+s}}},S=(t(309),Object(i.a)(C,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("footer",{staticClass:"page-edit"},[e.editLink?t("div",{staticClass:"edit-link"},[t("a",{attrs:{href:e.editLink,target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.editLinkText))]),e._v(" "),t("OutboundLink")],1):e._e(),e._v(" "),e.lastUpdated?t("div",{staticClass:"last-updated"},[t("span",{staticClass:"prefix"},[e._v(e._s(e.lastUpdatedText)+":")]),e._v(" "),t("span",{staticClass:"time"},[e._v(e._s(e.lastUpdated))])]):e._e()])}),[],!1,null,null,null).exports),T=t(310),B=t.n(T),R={name:"PageNav",props:["sidebarItems"],computed:{prev(){return U(N.PREV,this)},next(){return U(N.NEXT,this)}}};const N={NEXT:{resolveLink:function(e,r){return F(e,r,1)},getThemeLinkConfig:({nextLinks:e})=>e,getPageLinkConfig:({frontmatter:e})=>e.next},PREV:{resolveLink:function(e,r){return F(e,r,-1)},getThemeLinkConfig:({prevLinks:e})=>e,getPageLinkConfig:({frontmatter:e})=>e.prev}};function U(e,{$themeConfig:r,$page:t,$route:a,$site:s,sidebarItems:i}){const{resolveLink:o,getThemeLinkConfig:n,getPageLinkConfig:l}=e,c=n(r),u=l(t),p=L()(u)?c:u;return!1===p?void 0:B()(p)?Object(w.k)(s.pages,p,a.path):o(t,i)}function F(e,r,t){const a=[];!function e(r,t){for(let a=0,s=r.length;a({isSidebarOpen:!1}),computed:{shouldShowNavbar(){const{themeConfig:e}=this.$site,{frontmatter:r}=this.$page;return!1!==r.navbar&&!1!==e.navbar&&(this.$title||e.logo||e.repo||e.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar(){const{frontmatter:e}=this.$page;return!e.home&&!1!==e.sidebar&&this.sidebarItems.length},sidebarItems(){return Object(w.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses(){const e=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},e]}},mounted(){this.$router.afterEach(()=>{this.isSidebarOpen=!1})},methods:{toggleSidebar(e){this.isSidebarOpen="boolean"==typeof e?e:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart(e){this.touchStart={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}},onTouchEnd(e){const r=e.changedTouches[0].clientX-this.touchStart.x,t=e.changedTouches[0].clientY-this.touchStart.y;Math.abs(r)>Math.abs(t)&&Math.abs(r)>40&&(r>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),P=Object(i.a)(G,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"theme-container",class:e.pageClasses,on:{touchstart:e.onTouchStart,touchend:e.onTouchEnd}},[e.shouldShowNavbar?t("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),t("div",{staticClass:"sidebar-mask",on:{click:function(r){return e.toggleSidebar(!1)}}}),e._v(" "),t("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar},scopedSlots:e._u([{key:"top",fn:function(){return[e._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[e._t("sidebar-bottom")]},proxy:!0}],null,!0)}),e._v(" "),e.$page.frontmatter.home?t("Home"):t("Page",{attrs:{"sidebar-items":e.sidebarItems},scopedSlots:e._u([{key:"top",fn:function(){return[e._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[e._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);r.default=P.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/20.5d11c294.js b/scriptApl/chart.js/dist/docs/assets/js/20.5d11c294.js new file mode 100644 index 00000000..0f1cda64 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/20.5d11c294.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{351:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"enumeration-updatemodeenum"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#enumeration-updatemodeenum"}},[e._v("#")]),e._v(" Enumeration: UpdateModeEnum")]),e._v(" "),r("h2",{attrs:{id:"enumeration-members"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#enumeration-members"}},[e._v("#")]),e._v(" Enumeration members")]),e._v(" "),r("h3",{attrs:{id:"active"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[e._v("#")]),e._v(" active")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("active")]),e._v(" = "),r("code",[e._v('"active"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L568",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:568"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"hide"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hide"}},[e._v("#")]),e._v(" hide")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("hide")]),e._v(" = "),r("code",[e._v('"hide"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L565",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:565"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"none"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#none"}},[e._v("#")]),e._v(" none")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("none")]),e._v(" = "),r("code",[e._v('"none"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L564",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:564"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"normal"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normal"}},[e._v("#")]),e._v(" normal")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("normal")]),e._v(" = "),r("code",[e._v('"normal"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L567",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:567"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"reset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[e._v("#")]),e._v(" reset")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("reset")]),e._v(" = "),r("code",[e._v('"reset"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L563",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:563"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"resize"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#resize"}},[e._v("#")]),e._v(" resize")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("resize")]),e._v(" = "),r("code",[e._v('"resize"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L562",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:562"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"show"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#show"}},[e._v("#")]),e._v(" show")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("show")]),e._v(" = "),r("code",[e._v('"show"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L566",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:566"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/200.2eb9437f.js b/scriptApl/chart.js/dist/docs/assets/js/200.2eb9437f.js new file mode 100644 index 00000000..a7b76714 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/200.2eb9437f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[200],{530:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart-stacked"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart-stacked"}},[t._v("#")]),t._v(" Line Chart Stacked")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Stacked: true',\n handler: (chart) => {\n chart.options.scales.y.stacked = true;\n chart.update();\n }\n },\n {\n name: 'Stacked: false (default)',\n handler: (chart) => {\n chart.options.scales.y.stacked = false;\n chart.update();\n }\n },\n {\n name: 'Stacked Single',\n handler: (chart) => {\n chart.options.scales.y.stacked = 'single';\n chart.update();\n }\n },\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: dsColor,\n borderColor: dsColor,\n fill: true,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'My First dataset',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n fill: true\n },\n {\n label: 'My Second dataset',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.CHART_COLORS.blue,\n fill: true\n },\n {\n label: 'My Third dataset',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.green,\n backgroundColor: Utils.CHART_COLORS.green,\n fill: true\n },\n {\n label: 'My Fourth dataset',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.yellow,\n backgroundColor: Utils.CHART_COLORS.yellow,\n fill: true\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: (ctx) => 'Chart.js Line Chart - stacked=' + ctx.chart.options.scales.y.stacked\n },\n tooltip: {\n mode: 'index'\n },\n },\n interaction: {\n mode: 'nearest',\n axis: 'x',\n intersect: false\n },\n scales: {\n x: {\n title: {\n display: true,\n text: 'Month'\n }\n },\n y: {\n stacked: true,\n title: {\n display: true,\n text: 'Value'\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[t._v("Area")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"../../charts/area.htmll#filling-modes"}},[t._v("Filling modes")])])])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/"}},[t._v("Axes scales")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[t._v("Common options to all axes ("),a("code",[t._v("stacked")]),t._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/201.6dba10c3.js b/scriptApl/chart.js/dist/docs/assets/js/201.6dba10c3.js new file mode 100644 index 00000000..d965f0dd --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/201.6dba10c3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[201],{531:function(n,t,a){"use strict";a.r(t);var e=a(6),r=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"radar-chart-stacked"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radar-chart-stacked"}},[n._v("#")]),n._v(" Radar Chart Stacked")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst inputs = {\n min: 8,\n max: 16,\n count: 8,\n decimals: 2,\n continuity: 1\n};\n\nconst generateLabels = () => {\n return Utils.months({count: inputs.count});\n};\n\nconst generateData = () => {\n const values = Utils.numbers(inputs);\n inputs.from = values;\n return values;\n};\n\nconst labels = Utils.months({count: 8});\nconst data = {\n labels: generateLabels(),\n datasets: [\n {\n label: 'D0',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),\n },\n {\n label: 'D1',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.orange,\n hidden: true,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange),\n fill: '-1'\n },\n {\n label: 'D2',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.yellow,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.yellow),\n fill: 1\n },\n {\n label: 'D3',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.green,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green),\n fill: false\n },\n {\n label: 'D4',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue),\n fill: '-1'\n },\n {\n label: 'D5',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.purple,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.purple),\n fill: '-1'\n },\n {\n label: 'D6',\n data: generateData(),\n borderColor: Utils.CHART_COLORS.grey,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.grey),\n fill: {value: 85}\n }\n ]\n};\n// \n\n// \nlet smooth = false;\nlet propagate = false;\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n inputs.from = [];\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n {\n name: 'Propagate',\n handler(chart) {\n propagate = !propagate;\n chart.options.plugins.filler.propagate = propagate;\n chart.update();\n\n }\n },\n {\n name: 'Smooth',\n handler(chart) {\n smooth = !smooth;\n chart.options.elements.line.tension = smooth ? 0.4 : 0;\n chart.update();\n }\n }\n];\n// \n\n// \nconst config = {\n type: 'radar',\n data: data,\n options: {\n plugins: {\n filler: {\n propagate: false\n },\n 'samples-filler-analyser': {\n target: 'chart-analyser'\n }\n },\n interaction: {\n intersect: false\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config\n};\n"}}),a("div",{staticClass:"analyser",attrs:{id:"chart-analyser"}}),n._v(" "),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/area.html"}},[n._v("Area")]),n._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"../../charts/area.htmll#filling-modes"}},[n._v("Filling modes")])]),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/area.html#propagate"}},[a("code",[n._v("propagate")])])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/radar.html"}},[n._v("Radar")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/202.9c5057c6.js b/scriptApl/chart.js/dist/docs/assets/js/202.9c5057c6.js new file mode 100644 index 00000000..52f21437 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/202.9c5057c6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[202],{532:function(t,n,a){"use strict";a.r(n);var r=a(6),s=Object(r.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"bar-chart-border-radius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bar-chart-border-radius"}},[t._v("#")]),t._v(" Bar Chart Border Radius")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Fully Rounded',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n borderWidth: 2,\n borderRadius: Number.MAX_VALUE,\n borderSkipped: false,\n },\n {\n label: 'Small Radius',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n borderWidth: 2,\n borderRadius: 5,\n borderSkipped: false,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Bar Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html#borderradius"}},[a("code",[t._v("borderRadius")])])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/203.98a3c2b8.js b/scriptApl/chart.js/dist/docs/assets/js/203.98a3c2b8.js new file mode 100644 index 00000000..b89c2dfd --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/203.98a3c2b8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[203],{533:function(n,t,a){"use strict";a.r(t);var s=a(6),e=Object(s.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"floating-bars"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#floating-bars"}},[n._v("#")]),n._v(" Floating Bars")]),n._v(" "),a("p",[n._v("Using "),a("code",[n._v("[number, number][]")]),n._v(" as the type for "),a("code",[n._v("data")]),n._v(" to define the beginning and end value for each bar. This is instead of having every bar start at 0.")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = chart.data.labels.map(() => {\n return [Utils.rand(-100, 100), Utils.rand(-100, 100)];\n });\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: labels.map(() => {\n return [Utils.rand(-100, 100), Utils.rand(-100, 100)];\n }),\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: labels.map(() => {\n return [Utils.rand(-100, 100), Utils.rand(-100, 100)];\n }),\n backgroundColor: Utils.CHART_COLORS.blue,\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Floating Bar Chart'\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[n._v("Bar")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/204.50d5cf2e.js b/scriptApl/chart.js/dist/docs/assets/js/204.50d5cf2e.js new file mode 100644 index 00000000..42be78cf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/204.50d5cf2e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[204],{534:function(t,a,n){"use strict";n.r(a);var e=n(6),s=Object(e.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"horizontal-bar-chart"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#horizontal-bar-chart"}},[t._v("#")]),t._v(" Horizontal Bar Chart")]),t._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n borderWidth: 1,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n indexAxis: 'y',\n // Elements options apply to all of the options unless overridden in a dataset\n // In this case, we are setting the border of each horizontal bar to be 2px wide\n elements: {\n bar: {\n borderWidth: 2,\n }\n },\n responsive: true,\n plugins: {\n legend: {\n position: 'right',\n },\n title: {\n display: true,\n text: 'Chart.js Horizontal Bar Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/bar.html#horizontal-bar-chart"}},[t._v("Horizontal Bar Chart")])],1)])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/205.e56e820b.js b/scriptApl/chart.js/dist/docs/assets/js/205.e56e820b.js new file mode 100644 index 00000000..1179cf4d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/205.e56e820b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[205],{535:function(t,n,a){"use strict";a.r(n);var s=a(6),e=Object(s.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"stacked-bar-chart-with-groups"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stacked-bar-chart-with-groups"}},[t._v("#")]),t._v(" Stacked Bar Chart with Groups")]),t._v(" "),a("p",[t._v("Using the "),a("code",[t._v("stack")]),t._v(" property to divide datasets into multiple stacks.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.red,\n stack: 'Stack 0',\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.blue,\n stack: 'Stack 0',\n },\n {\n label: 'Dataset 3',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.green,\n stack: 'Stack 1',\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Bar Chart - Stacked'\n },\n },\n responsive: true,\n interaction: {\n intersect: false,\n },\n scales: {\n x: {\n stacked: true,\n },\n y: {\n stacked: true\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html#stacked-bar-chart"}},[t._v("Stacked Bar Chart")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html#dataset-configuration"}},[t._v("Dataset Configuration ("),a("code",[t._v("stack")]),t._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/206.6ce5c41e.js b/scriptApl/chart.js/dist/docs/assets/js/206.6ce5c41e.js new file mode 100644 index 00000000..549af3d3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/206.6ce5c41e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[206],{536:function(t,n,a){"use strict";a.r(n);var s=a(6),e=Object(s.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"stacked-bar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stacked-bar-chart"}},[t._v("#")]),t._v(" Stacked Bar Chart")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.blue,\n },\n {\n label: 'Dataset 3',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Utils.CHART_COLORS.green,\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Bar Chart - Stacked'\n },\n },\n responsive: true,\n scales: {\n x: {\n stacked: true,\n },\n y: {\n stacked: true\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html#stacked-bar-chart"}},[t._v("Stacked Bar Chart")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/207.8aa83d91.js b/scriptApl/chart.js/dist/docs/assets/js/207.8aa83d91.js new file mode 100644 index 00000000..6161fd57 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/207.8aa83d91.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[207],{537:function(t,a,n){"use strict";n.r(a);var e=n(6),s=Object(e.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"vertical-bar-chart"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#vertical-bar-chart"}},[t._v("#")]),t._v(" Vertical Bar Chart")]),t._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n borderWidth: 1,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Bar Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),n("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/208.296ee160.js b/scriptApl/chart.js/dist/docs/assets/js/208.296ee160.js new file mode 100644 index 00000000..fa4f5bda --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/208.296ee160.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[208],{538:function(t,e,a){"use strict";a.r(e);var o=a(6),s=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"information"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#information"}},[t._v("#")]),t._v(" Information")]),t._v(" "),a("h2",{attrs:{id:"out-of-the-box-working-samples"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#out-of-the-box-working-samples"}},[t._v("#")]),t._v(" Out of the box working samples")]),t._v(" "),a("p",[t._v("These samples are made for demonstration purposes only. They won't work out of the box if you copy paste them into your own website. This is because of how the docs are getting built. Some boilerplate code gets hidden.\nFor a sample that can be copied and pasted and used directly you can check the "),a("RouterLink",{attrs:{to:"/getting-started/usage.html"}},[t._v("usage page")]),t._v(".")],1),t._v(" "),a("h2",{attrs:{id:"autogenerated-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#autogenerated-data"}},[t._v("#")]),t._v(" Autogenerated data")]),t._v(" "),a("p",[t._v("The data used in the samples is autogenerated using custom functions. These functions do not ship with the library, for more information about this you can check the "),a("RouterLink",{attrs:{to:"/samples/utils.html"}},[t._v("utils page")]),t._v(".")],1),t._v(" "),a("h2",{attrs:{id:"actions-block"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#actions-block"}},[t._v("#")]),t._v(" Actions block")]),t._v(" "),a("p",[t._v("The samples have an "),a("code",[t._v("actions")]),t._v(" code block. These actions are not part of chart.js. They are internally transformed to separate buttons together with onClick listeners by a plugin we use in the documentation. To implement such actions yourself you can make some buttons and add onClick event listeners to them. Then in these event listeners you can call your variable in which you made the chart and do the logic that the button is supposed to do.")])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/209.13279349.js b/scriptApl/chart.js/dist/docs/assets/js/209.13279349.js new file mode 100644 index 00000000..47897cbd --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/209.13279349.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[209],{539:function(e,n,o){"use strict";o.r(n);var t=o(6),a=Object(t.a)({},(function(){var e=this,n=e.$createElement,o=e._self._c||n;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"events"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[e._v("#")]),e._v(" Events")]),e._v(" "),o("p",[e._v("This sample demonstrates how to use the event hooks to highlight chart elements.")]),e._v(" "),o("chart-editor",{attrs:{code:"\n// \nconst data = {\n labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],\n datasets: [{\n label: '# of Votes',\n data: [12, 19, 3, 5, 2, 3],\n borderWidth: 1,\n backgroundColor: ['#CB4335', '#1F618D', '#F1C40F', '#27AE60', '#884EA0', '#D35400'],\n }]\n};\n// \n\n// \n// Append '4d' to the colors (alpha channel), except for the hovered index\nfunction handleHover(evt, item, legend) {\n legend.chart.data.datasets[0].backgroundColor.forEach((color, index, colors) => {\n colors[index] = index === item.index || color.length === 9 ? color : color + '4D';\n });\n legend.chart.update();\n}\n// \n\n// \n// Removes the alpha channel from background colors\nfunction handleLeave(evt, item, legend) {\n legend.chart.data.datasets[0].backgroundColor.forEach((color, index, colors) => {\n colors[index] = color.length === 9 ? color.slice(0, -2) : color;\n });\n legend.chart.update();\n}\n// \n\n// \nconst config = {\n type: 'pie',\n data: data,\n options: {\n plugins: {\n legend: {\n onHover: handleHover,\n onLeave: handleLeave\n }\n }\n }\n};\n// \n\nmodule.exports = {\n config\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[e._v("#")]),e._v(" Docs")]),e._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[e._v("Doughnut and Pie Charts")])],1),e._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/legend.html"}},[e._v("Legend")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("onHover")])]),e._v(" "),o("li",[o("code",[e._v("onLeave")])])])],1)])],1)}),[],!1,null,null,null);n.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/21.7b54d7d8.js b/scriptApl/chart.js/dist/docs/assets/js/21.7b54d7d8.js new file mode 100644 index 00000000..9ed2bbb9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/21.7b54d7d8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{352:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-activedatapoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-activedatapoint"}},[t._v("#")]),t._v(" Interface: ActiveDataPoint")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("ActiveDataPoint")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"datasetindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[t._v("#")]),t._v(" datasetIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L471",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:471"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L472",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:472"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/210.63e30420.js b/scriptApl/chart.js/dist/docs/assets/js/210.63e30420.js new file mode 100644 index 00000000..76e63364 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/210.63e30420.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[210],{540:function(n,t,e){"use strict";e.r(t);var l=e(6),i=Object(l.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"html-legend"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#html-legend"}},[n._v("#")]),n._v(" HTML Legend")]),n._v(" "),e("p",[n._v("This example shows how to create a custom HTML legend using a plugin and connect it to the chart in lieu of the default on-canvas legend.")]),n._v(" "),e("div",{attrs:{id:"legend-container"}}),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst getOrCreateLegendList = (chart, id) => {\n const legendContainer = document.getElementById(id);\n let listContainer = legendContainer.querySelector('ul');\n\n if (!listContainer) {\n listContainer = document.createElement('ul');\n listContainer.style.display = 'flex';\n listContainer.style.flexDirection = 'row';\n listContainer.style.margin = 0;\n listContainer.style.padding = 0;\n\n legendContainer.appendChild(listContainer);\n }\n\n return listContainer;\n};\n\nconst htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(chart, args, options) {\n const ul = getOrCreateLegendList(chart, options.containerID);\n\n // Remove old legend items\n while (ul.firstChild) {\n ul.firstChild.remove();\n }\n\n // Reuse the built-in legendItems generator\n const items = chart.options.plugins.legend.labels.generateLabels(chart);\n\n items.forEach(item => {\n const li = document.createElement('li');\n li.style.alignItems = 'center';\n li.style.cursor = 'pointer';\n li.style.display = 'flex';\n li.style.flexDirection = 'row';\n li.style.marginLeft = '10px';\n\n li.onclick = () => {\n const {type} = chart.config;\n if (type === 'pie' || type === 'doughnut') {\n // Pie and doughnut charts only have a single dataset and visibility is per item\n chart.toggleDataVisibility(item.index);\n } else {\n chart.setDatasetVisibility(item.datasetIndex, !chart.isDatasetVisible(item.datasetIndex));\n }\n chart.update();\n };\n\n // Color box\n const boxSpan = document.createElement('span');\n boxSpan.style.background = item.fillStyle;\n boxSpan.style.borderColor = item.strokeStyle;\n boxSpan.style.borderWidth = item.lineWidth + 'px';\n boxSpan.style.display = 'inline-block';\n boxSpan.style.height = '20px';\n boxSpan.style.marginRight = '10px';\n boxSpan.style.width = '20px';\n\n // Text\n const textContainer = document.createElement('p');\n textContainer.style.color = item.fontColor;\n textContainer.style.margin = 0;\n textContainer.style.padding = 0;\n textContainer.style.textDecoration = item.hidden ? 'line-through' : '';\n\n const text = document.createTextNode(item.text);\n textContainer.appendChild(text);\n\n li.appendChild(boxSpan);\n li.appendChild(textContainer);\n ul.appendChild(li);\n });\n }\n};\n// \n\n// \nconst NUM_DATA = 7;\nconst NUM_CFG = {count: NUM_DATA, min: 0, max: 100};\nconst data = {\n labels: Utils.months({count: NUM_DATA}),\n datasets: [\n {\n label: 'Dataset: 1',\n data: Utils.numbers(NUM_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n fill: false,\n },\n {\n label: 'Dataset: 1',\n data: Utils.numbers(NUM_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n fill: false,\n },\n ],\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n htmlLegend: {\n // ID of the container to put the legend in\n containerID: 'legend-container',\n },\n legend: {\n display: false,\n }\n }\n },\n plugins: [htmlLegendPlugin],\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),e("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/legend.html"}},[n._v("Legend")]),n._v(" "),e("ul",[e("li",[e("code",[n._v("display: false")])])])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/developers/plugins.html"}},[n._v("Plugins")])],1)])],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/211.0b325f23.js b/scriptApl/chart.js/dist/docs/assets/js/211.0b325f23.js new file mode 100644 index 00000000..03e354de --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/211.0b325f23.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[211],{541:function(t,n,e){"use strict";e.r(n);var o=e(6),l=Object(o.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"point-style"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#point-style"}},[t._v("#")]),t._v(" Point Style")]),t._v(" "),e("p",[t._v("This sample show how to use the dataset point style in the legend instead of a rectangle to identify each dataset..")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Toggle Point Style',\n handler(chart) {\n chart.options.plugins.legend.labels.usePointStyle = !chart.options.plugins.legend.labels.usePointStyle;\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n borderWidth: 1,\n pointStyle: 'rectRot',\n pointRadius: 5,\n pointBorderColor: 'rgb(0, 0, 0)'\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n legend: {\n labels: {\n usePointStyle: true,\n },\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/legend.html"}},[t._v("Legend")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/configuration/legend.html#legend-label-configuration"}},[t._v("Legend Label Configuration")]),t._v(" "),e("ul",[e("li",[e("code",[t._v("usePointStyle")])])])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/elements.html"}},[t._v("Elements")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/configuration/elements.html#point-configuration"}},[t._v("Point Configuration")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[t._v("Point Styles")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/212.be671e2e.js b/scriptApl/chart.js/dist/docs/assets/js/212.be671e2e.js new file mode 100644 index 00000000..36ca488b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/212.be671e2e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[212],{542:function(n,t,o){"use strict";o.r(t);var a=o(6),s=Object(a.a)({},(function(){var n=this,t=n.$createElement,o=n._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[o("h1",{attrs:{id:"position"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[n._v("#")]),n._v(" Position")]),n._v(" "),o("p",[n._v("This sample show how to change the position of the chart legend.")]),n._v(" "),o("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Position: top',\n handler(chart) {\n chart.options.plugins.legend.position = 'top';\n chart.update();\n }\n },\n {\n name: 'Position: right',\n handler(chart) {\n chart.options.plugins.legend.position = 'right';\n chart.update();\n }\n },\n {\n name: 'Position: bottom',\n handler(chart) {\n chart.options.plugins.legend.position = 'bottom';\n chart.update();\n }\n },\n {\n name: 'Position: left',\n handler(chart) {\n chart.options.plugins.legend.position = 'left';\n chart.update();\n }\n },\n];\n// \n\n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),o("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),o("li",[o("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/legend.html"}},[n._v("Legend")]),n._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/configuration/legend.html#position"}},[n._v("Position")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/213.81d2e607.js b/scriptApl/chart.js/dist/docs/assets/js/213.81d2e607.js new file mode 100644 index 00000000..92a2a151 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/213.81d2e607.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[213],{543:function(n,t,e){"use strict";e.r(t);var o=e(6),a=Object(o.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"alignment-and-title-position"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alignment-and-title-position"}},[n._v("#")]),n._v(" Alignment and Title Position")]),n._v(" "),e("p",[n._v("This sample show how to configure the alignment and title position of the chart legend.")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Title Position: start',\n handler(chart) {\n chart.options.plugins.legend.align = 'start';\n chart.options.plugins.legend.title.position = 'start';\n chart.update();\n }\n },\n {\n name: 'Title Position: center (default)',\n handler(chart) {\n chart.options.plugins.legend.align = 'center';\n chart.options.plugins.legend.title.position = 'center';\n chart.update();\n }\n },\n {\n name: 'Title Position: end',\n handler(chart) {\n chart.options.plugins.legend.align = 'end';\n chart.options.plugins.legend.title.position = 'end';\n chart.update();\n }\n },\n];\n// \n\n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n legend: {\n title: {\n display: true,\n text: 'Legend Title',\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),e("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/legend.html"}},[n._v("Legend")])],1)])],1)}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/214.ba403b5c.js b/scriptApl/chart.js/dist/docs/assets/js/214.ba403b5c.js new file mode 100644 index 00000000..a218ef8b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/214.ba403b5c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[214],{544:function(n,t,e){"use strict";e.r(t);var o=e(6),i=Object(o.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"interpolation-modes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#interpolation-modes"}},[n._v("#")]),n._v(" Interpolation Modes")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 12;\nconst labels = [];\nfor (let i = 0; i < DATA_COUNT; ++i) {\n labels.push(i.toString());\n}\nconst datapoints = [0, 20, 20, 60, 60, 120, NaN, 180, 120, 125, 105, 110, 170];\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Cubic interpolation (monotone)',\n data: datapoints,\n borderColor: Utils.CHART_COLORS.red,\n fill: false,\n cubicInterpolationMode: 'monotone',\n tension: 0.4\n }, {\n label: 'Cubic interpolation',\n data: datapoints,\n borderColor: Utils.CHART_COLORS.blue,\n fill: false,\n tension: 0.4\n }, {\n label: 'Linear interpolation (default)',\n data: datapoints,\n borderColor: Utils.CHART_COLORS.green,\n fill: false\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart - Cubic interpolation mode'\n },\n },\n interaction: {\n intersect: false,\n },\n scales: {\n x: {\n display: true,\n title: {\n display: true\n }\n },\n y: {\n display: true,\n title: {\n display: true,\n text: 'Value'\n },\n suggestedMin: -10,\n suggestedMax: 200\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html#cubicinterpolationmode"}},[e("code",[n._v("cubicInterpolationMode")])])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[n._v("Line Styling ("),e("code",[n._v("tension")]),n._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/215.2efcec5f.js b/scriptApl/chart.js/dist/docs/assets/js/215.2efcec5f.js new file mode 100644 index 00000000..6f2ef39e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/215.2efcec5f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[215],{545:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart"}},[t._v("#")]),t._v(" Line Chart")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Line Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/216.e01d3100.js b/scriptApl/chart.js/dist/docs/assets/js/216.e01d3100.js new file mode 100644 index 00000000..99e630f2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/216.e01d3100.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[216],{546:function(n,t,a){"use strict";a.r(t);var s=a(6),e=Object(s.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"multi-axis-line-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#multi-axis-line-chart"}},[n._v("#")]),n._v(" Multi Axis Line Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n yAxisID: 'y',\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n yAxisID: 'y1',\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n interaction: {\n mode: 'index',\n intersect: false,\n },\n stacked: false,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart - Multi Axis'\n }\n },\n scales: {\n y: {\n type: 'linear',\n display: true,\n position: 'left',\n },\n y1: {\n type: 'linear',\n display: true,\n position: 'right',\n\n // grid line settings\n grid: {\n drawOnChartArea: false, // only want the grid lines for one axis to show up\n },\n },\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/"}},[n._v("Axes scales")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/"}},[n._v("Cartesian Axes")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[n._v("Axis Position")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/217.906c8d54.js b/scriptApl/chart.js/dist/docs/assets/js/217.906c8d54.js new file mode 100644 index 00000000..e0d744c7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/217.906c8d54.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[217],{547:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"point-styling"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-styling"}},[t._v("#")]),t._v(" Point Styling")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'pointStyle: circle (default)',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'cirlce';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: cross',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'cross';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: crossRot',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'crossRot';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: dash',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'dash';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: line',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'line';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: rect',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'rect';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: rectRounded',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'rectRounded';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: rectRot',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'rectRot';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: star',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'star';\n });\n chart.update();\n }\n },\n {\n name: 'pointStyle: triangle',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.pointStyle = 'triangle';\n });\n chart.update();\n }\n }\n];\n// \n\n// \nconst data = {\n labels: ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5', 'Day 6'],\n datasets: [\n {\n label: 'Dataset',\n data: Utils.numbers({count: 6, min: -100, max: 100}),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n pointStyle: 'circle',\n pointRadius: 10,\n pointHoverRadius: 15\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html#point-styling"}},[t._v("Point Styling")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/218.94e33827.js b/scriptApl/chart.js/dist/docs/assets/js/218.94e33827.js new file mode 100644 index 00000000..9452ccc2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/218.94e33827.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[218],{548:function(t,n,e){"use strict";e.r(n);var s=e(6),i=Object(s.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"line-segment-styling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#line-segment-styling"}},[t._v("#")]),t._v(" Line Segment Styling")]),t._v(" "),e("p",[t._v("Using helper functions to style each segment. Gaps in the data ('skipped') are set to dashed lines and segments with values going 'down' are set to a different color.")]),t._v(" "),e("chart-editor",{attrs:{code:"\n// \nconst skipped = (ctx, value) => ctx.p0.skip || ctx.p1.skip ? value : undefined;\nconst down = (ctx, value) => ctx.p0.parsed.y > ctx.p1.parsed.y ? value : undefined;\n// \n\n// \nconst genericOptions = {\n fill: false,\n interaction: {\n intersect: false\n },\n radius: 0,\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: {\n labels: Utils.months({count: 7}),\n datasets: [{\n label: 'My First Dataset',\n data: [65, 59, NaN, 48, 56, 57, 40],\n borderColor: 'rgb(75, 192, 192)',\n segment: {\n borderColor: ctx => skipped(ctx, 'rgb(0,0,0,0.2)') || down(ctx, 'rgb(192,75,75)'),\n borderDash: ctx => skipped(ctx, [6, 6]),\n },\n spanGaps: true\n }]\n },\n options: genericOptions\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[t._v("Line Styling")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html#segment"}},[t._v("Segment")])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/219.21c5e01f.js b/scriptApl/chart.js/dist/docs/assets/js/219.21c5e01f.js new file mode 100644 index 00000000..f7355081 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/219.21c5e01f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[219],{549:function(t,a,n){"use strict";n.r(a);var e=n(6),s=Object(e.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"stepped-line-charts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#stepped-line-charts"}},[t._v("#")]),t._v(" Stepped Line Charts")]),t._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Step: false (default)',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.stepped = false;\n });\n chart.update();\n }\n },\n {\n name: 'Step: true',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.stepped = true;\n });\n chart.update();\n }\n },\n {\n name: 'Step: before',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.stepped = 'before';\n });\n chart.update();\n }\n },\n {\n name: 'Step: after',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.stepped = 'after';\n });\n chart.update();\n }\n },\n {\n name: 'Step: middle',\n handler: (chart) => {\n chart.data.datasets.forEach(dataset => {\n dataset.stepped = 'middle';\n });\n chart.update();\n }\n }\n];\n// \n\n// \nconst data = {\n labels: ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5', 'Day 6'],\n datasets: [\n {\n label: 'Dataset',\n data: Utils.numbers({count: 6, min: -100, max: 100}),\n borderColor: Utils.CHART_COLORS.red,\n fill: false,\n stepped: true,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n interaction: {\n intersect: false,\n axis: 'x'\n },\n plugins: {\n title: {\n display: true,\n text: (ctx) => 'Step ' + ctx.chart.data.datasets[0].stepped + ' Interpolation',\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),n("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/line.html#stepped"}},[t._v("Stepped")])],1)])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/22.c2daedd0.js b/scriptApl/chart.js/dist/docs/assets/js/22.c2daedd0.js new file mode 100644 index 00000000..b87f089c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/22.c2daedd0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{353:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-activeelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-activeelement"}},[t._v("#")]),t._v(" Interface: ActiveElement")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[a("code",[t._v("ActiveDataPoint")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("ActiveElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"datasetindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[t._v("#")]),t._v(" datasetIndex")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[t._v("ActiveDataPoint")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html#datasetindex"}},[t._v("datasetIndex")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L471",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:471"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"element"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#element"}},[t._v("#")]),t._v(" element")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("element")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L476",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:476"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[t._v("ActiveDataPoint")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html#index"}},[t._v("index")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L472",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:472"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/220.3ba160e4.js b/scriptApl/chart.js/dist/docs/assets/js/220.3ba160e4.js new file mode 100644 index 00000000..edaac35e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/220.3ba160e4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[220],{550:function(n,t,e){"use strict";e.r(t);var l=e(6),s=Object(l.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"line-styling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#line-styling"}},[n._v("#")]),n._v(" Line Styling")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: DATA_COUNT});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Unfilled',\n fill: false,\n backgroundColor: Utils.CHART_COLORS.blue,\n borderColor: Utils.CHART_COLORS.blue,\n data: Utils.numbers(NUMBER_CFG),\n }, {\n label: 'Dashed',\n fill: false,\n backgroundColor: Utils.CHART_COLORS.green,\n borderColor: Utils.CHART_COLORS.green,\n borderDash: [5, 5],\n data: Utils.numbers(NUMBER_CFG),\n }, {\n label: 'Filled',\n backgroundColor: Utils.CHART_COLORS.red,\n borderColor: Utils.CHART_COLORS.red,\n data: Utils.numbers(NUMBER_CFG),\n fill: true,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart'\n },\n },\n interaction: {\n mode: 'index',\n intersect: false\n },\n scales: {\n x: {\n display: true,\n title: {\n display: true,\n text: 'Month'\n }\n },\n y: {\n display: true,\n title: {\n display: true,\n text: 'Value'\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),e("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[n._v("Line Styling")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/221.5c17138c.js b/scriptApl/chart.js/dist/docs/assets/js/221.5c17138c.js new file mode 100644 index 00000000..cf452cf0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/221.5c17138c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[221],{551:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"bubble"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubble"}},[n._v("#")]),n._v(" Bubble")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.bubbles({count: chart.data.labels.length, rmin: 5, rmax: 15, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.bubbles({count: data.labels.length, rmin: 5, rmax: 15, min: 0, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.bubbles({count: 1, rmin: 5, rmax: 15, min: 0, max: 100})[0]);\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, rmin: 5, rmax: 15, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.orange,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bubble',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Bubble Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bubble.html"}},[n._v("Bubble")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/222.aea004ce.js b/scriptApl/chart.js/dist/docs/assets/js/222.aea004ce.js new file mode 100644 index 00000000..e142c8f5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/222.aea004ce.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[222],{553:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"combo-bar-line"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#combo-bar-line"}},[t._v("#")]),t._v(" Combo bar/line")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n borderWidth: 1,\n data: Utils.numbers({count: data.labels.length, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(-100, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n order: 1\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n type: 'line',\n order: 0\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'bar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Combined Line/Bar Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/223.cbb7b883.js b/scriptApl/chart.js/dist/docs/assets/js/223.cbb7b883.js new file mode 100644 index 00000000..ed1d3b45 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/223.cbb7b883.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[223],{552:function(n,a,t){"use strict";t.r(a);var e=t(6),s=Object(e.a)({},(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[t("h1",{attrs:{id:"doughnut"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#doughnut"}},[n._v("#")]),n._v(" Doughnut")]),n._v(" "),t("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: [],\n data: [],\n };\n\n for (let i = 0; i < data.labels.length; i++) {\n newDataset.data.push(Utils.numbers({count: 1, min: 0, max: 100}));\n\n const colorIndex = i % Object.keys(Utils.CHART_COLORS).length;\n newDataset.backgroundColor.push(Object.values(Utils.CHART_COLORS)[colorIndex]);\n }\n\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels.push('data #' + (data.labels.length + 1));\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Hide(0)',\n handler(chart) {\n chart.hide(0);\n }\n },\n {\n name: 'Show(0)',\n handler(chart) {\n chart.show(0);\n }\n },\n {\n name: 'Hide (0, 1)',\n handler(chart) {\n chart.hide(0, 1);\n }\n },\n {\n name: 'Show (0, 1)',\n handler(chart) {\n chart.show(0, 1);\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 5;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst data = {\n labels: ['Red', 'Orange', 'Yellow', 'Green', 'Blue'],\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Object.values(Utils.CHART_COLORS),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'doughnut',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Doughnut Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),t("h2",{attrs:{id:"docs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[n._v("Doughnut and Pie Charts")])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/224.b130b37f.js b/scriptApl/chart.js/dist/docs/assets/js/224.b130b37f.js new file mode 100644 index 00000000..174d6b2d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/224.b130b37f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[224],{555:function(t,n,e){"use strict";e.r(n);var a=e(6),l=Object(a.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"multi-series-pie"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#multi-series-pie"}},[t._v("#")]),t._v(" Multi Series Pie")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 5;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: ['Overall Yay', 'Overall Nay', 'Group A Yay', 'Group A Nay', 'Group B Yay', 'Group B Nay', 'Group C Yay', 'Group C Nay'],\n datasets: [\n {\n backgroundColor: ['#AAA', '#777'],\n data: [21, 79]\n },\n {\n backgroundColor: ['hsl(0, 100%, 60%)', 'hsl(0, 100%, 35%)'],\n data: [33, 67]\n },\n {\n backgroundColor: ['hsl(100, 100%, 60%)', 'hsl(100, 100%, 35%)'],\n data: [20, 80]\n },\n {\n backgroundColor: ['hsl(180, 100%, 60%)', 'hsl(180, 100%, 35%)'],\n data: [10, 90]\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'pie',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n labels: {\n generateLabels: function(chart) {\n // Get the default label list\n const original = Chart.overrides.pie.plugins.legend.labels.generateLabels;\n const labelsOriginal = original.call(this, chart);\n\n // Build an array of colors used in the datasets of the chart\n let datasetColors = chart.data.datasets.map(function(e) {\n return e.backgroundColor;\n });\n datasetColors = datasetColors.flat();\n\n // Modify the color and hide state of each label\n labelsOriginal.forEach(label => {\n // There are twice as many labels as there are datasets. This converts the label index into the corresponding dataset index\n label.datasetIndex = (label.index - label.index % 2) / 2;\n\n // The hidden state must match the dataset's hidden state\n label.hidden = !chart.isDatasetVisible(label.datasetIndex);\n\n // Change the color to match the dataset\n label.fillStyle = datasetColors[label.index];\n });\n\n return labelsOriginal;\n }\n },\n onClick: function(mouseEvent, legendItem, legend) {\n // toggle the visibility of the dataset from what it currently is\n legend.chart.getDatasetMeta(\n legendItem.datasetIndex\n ).hidden = legend.chart.isDatasetVisible(legendItem.datasetIndex);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n label: function(context) {\n const labelIndex = (context.datasetIndex * 2) + context.dataIndex;\n return context.chart.data.labels[labelIndex] + ': ' + context.formattedValue;\n }\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[t._v("Doughnut and Pie Charts")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/225.32f90319.js b/scriptApl/chart.js/dist/docs/assets/js/225.32f90319.js new file mode 100644 index 00000000..72d45b89 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/225.32f90319.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[225],{554:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"pie"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pie"}},[n._v("#")]),n._v(" Pie")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: [],\n data: [],\n };\n\n for (let i = 0; i < data.labels.length; i++) {\n newDataset.data.push(Utils.numbers({count: 1, min: 0, max: 100}));\n\n const colorIndex = i % Object.keys(Utils.CHART_COLORS).length;\n newDataset.backgroundColor.push(Object.values(Utils.CHART_COLORS)[colorIndex]);\n }\n\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels.push('data #' + (data.labels.length + 1));\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 5;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst data = {\n labels: ['Red', 'Orange', 'Yellow', 'Green', 'Blue'],\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: Object.values(Utils.CHART_COLORS),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'pie',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Pie Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[n._v("Doughnut and Pie Charts")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/226.8c102c21.js b/scriptApl/chart.js/dist/docs/assets/js/226.8c102c21.js new file mode 100644 index 00000000..07af2d85 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/226.8c102c21.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[226],{556:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"polar-area-centered-point-labels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polar-area-centered-point-labels"}},[n._v("#")]),n._v(" Polar area centered point labels")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels.push('data #' + (data.labels.length + 1));\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 5;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = ['Red', 'Orange', 'Yellow', 'Green', 'Blue'];\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: [\n Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.orange, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.yellow, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n ]\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'polarArea',\n data: data,\n options: {\n responsive: true,\n scales: {\n r: {\n pointLabels: {\n display: true,\n centerPointLabels: true,\n font: {\n size: 18\n }\n }\n }\n },\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Polar Area Chart With Centered Point Labels'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/polar.html"}},[n._v("Polar Area Chart")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/radial/linear.html"}},[n._v("Linear Radial Axis")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/radial/linear.html#point-label-options"}},[n._v("Point Label Options ("),a("code",[n._v("centerPointLabels")]),n._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/227.b3d60339.js b/scriptApl/chart.js/dist/docs/assets/js/227.b3d60339.js new file mode 100644 index 00000000..f332155c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/227.b3d60339.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[227],{557:function(n,a,t){"use strict";t.r(a);var e=t(6),s=Object(e.a)({},(function(){var n=this,a=n.$createElement,t=n._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[t("h1",{attrs:{id:"polar-area"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#polar-area"}},[n._v("#")]),n._v(" Polar area")]),n._v(" "),t("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels.push('data #' + (data.labels.length + 1));\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 5;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = ['Red', 'Orange', 'Yellow', 'Green', 'Blue'];\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n backgroundColor: [\n Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.orange, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.yellow, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n ]\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'polarArea',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Polar Area Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),t("h2",{attrs:{id:"docs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/charts/polar.html"}},[n._v("Polar Area Chart")])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/228.72f0ad18.js b/scriptApl/chart.js/dist/docs/assets/js/228.72f0ad18.js new file mode 100644 index 00000000..e443c9f7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/228.72f0ad18.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[228],{558:function(t,n,a){"use strict";a.r(n);var s=a(6),e=Object(s.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"radar-skip-points"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radar-skip-points"}},[t._v("#")]),t._v(" Radar skip points")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach((dataset, i) => {\n const data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n\n if (i === 0) {\n data[0] = null;\n } else if (i === 1) {\n data[Number.parseInt(data.length / 2, 10)] = null;\n } else {\n data[data.length - 1] = null;\n }\n\n dataset.data = data;\n });\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst dataFirstSkip = Utils.numbers(NUMBER_CFG);\nconst dataMiddleSkip = Utils.numbers(NUMBER_CFG);\nconst dataLastSkip = Utils.numbers(NUMBER_CFG);\n\ndataFirstSkip[0] = null;\ndataMiddleSkip[Number.parseInt(dataMiddleSkip.length / 2, 10)] = null;\ndataLastSkip[dataLastSkip.length - 1] = null;\n\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Skip first dataset',\n data: dataFirstSkip,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Skip mid dataset',\n data: dataMiddleSkip,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n },\n {\n label: 'Skip last dataset',\n data: dataLastSkip,\n borderColor: Utils.CHART_COLORS.green,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Radar Skip Points Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/radar.html"}},[t._v("Radar")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/229.3daa3b7e.js b/scriptApl/chart.js/dist/docs/assets/js/229.3daa3b7e.js new file mode 100644 index 00000000..6629d056 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/229.3daa3b7e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[229],{559:function(a,t,n){"use strict";n.r(t);var e=n(6),s=Object(e.a)({},(function(){var a=this,t=a.$createElement,n=a._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[n("h1",{attrs:{id:"radar"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#radar"}},[a._v("#")]),a._v(" Radar")]),a._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: 0, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'radar',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Radar Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[a._v("#")]),a._v(" Docs")]),a._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/radar.html"}},[a._v("Radar")])],1),a._v(" "),n("li",[n("RouterLink",{attrs:{to:"/general/data-structures.html"}},[a._v("Data structures ("),n("code",[a._v("labels")]),a._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/23.2c668e20.js b/scriptApl/chart.js/dist/docs/assets/js/23.2c668e20.js new file mode 100644 index 00000000..8211ad47 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/23.2c668e20.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{354:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-animationevent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-animationevent"}},[t._v("#")]),t._v(" Interface: AnimationEvent")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"currentstep"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#currentstep"}},[t._v("#")]),t._v(" currentStep")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("currentStep")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L16",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:16"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"initial"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#initial"}},[t._v("#")]),t._v(" initial")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("initial")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L15",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:15"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"numsteps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#numsteps"}},[t._v("#")]),t._v(" numSteps")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("numSteps")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/animation.d.ts#L14",target:"_blank",rel:"noopener noreferrer"}},[t._v("animation.d.ts:14"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/230.7e5a85b1.js b/scriptApl/chart.js/dist/docs/assets/js/230.7e5a85b1.js new file mode 100644 index 00000000..1518eaff --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/230.7e5a85b1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[230],{560:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"scatter-multi-axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scatter-multi-axis"}},[t._v("#")]),t._v(" Scatter - Multi axis")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.bubbles({count: chart.data.labels.length, rmin: 1, rmax: 1, min: -100, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.bubbles({count: data.labels.length, rmin: 1, rmax: 1, min: -100, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.bubbles({count: 1, rmin: 1, rmax: 1, min: -100, max: 100})[0]);\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, rmin: 1, rmax: 1, min: -100, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n yAxisID: 'y',\n },\n {\n label: 'Dataset 2',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.orange,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange, 0.5),\n yAxisID: 'y2',\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Scatter Multi Axis Chart'\n }\n },\n scales: {\n y: {\n type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\n position: 'left',\n ticks: {\n color: Utils.CHART_COLORS.red\n }\n },\n y2: {\n type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\n position: 'right',\n reverse: true,\n ticks: {\n color: Utils.CHART_COLORS.blue\n },\n grid: {\n drawOnChartArea: false // only want the grid lines for one axis to show up\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/scatter.html"}},[t._v("Scatter")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/"}},[t._v("Cartesian Axes")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[t._v("Axis Position")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/231.b83d12f1.js b/scriptApl/chart.js/dist/docs/assets/js/231.b83d12f1.js new file mode 100644 index 00000000..d21ad68e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/231.b83d12f1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[231],{561:function(t,a,n){"use strict";n.r(a);var e=n(6),s=Object(e.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"scatter"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#scatter"}},[t._v("#")]),t._v(" Scatter")]),t._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.bubbles({count: chart.data.labels.length, rmin: 1, rmax: 1, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n data: Utils.bubbles({count: data.labels.length, rmin: 1, rmax: 1, min: 0, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.bubbles({count: 1, rmin: 1, rmax: 1, min: 0, max: 100})[0]);\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, rmin: 1, rmax: 1, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.bubbles(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.orange,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n responsive: true,\n plugins: {\n legend: {\n position: 'top',\n },\n title: {\n display: true,\n text: 'Chart.js Scatter Chart'\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/charts/scatter.html"}},[t._v("Scatter")])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/232.e902f42d.js b/scriptApl/chart.js/dist/docs/assets/js/232.e902f42d.js new file mode 100644 index 00000000..ae71533e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/232.e902f42d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[232],{562:function(t,a,n){"use strict";n.r(a);var e=n(6),s=Object(e.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"stacked-bar-line"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#stacked-bar-line"}},[t._v("#")]),t._v(" Stacked bar/line")]),t._v(" "),n("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: Utils.transparentize(dsColor, 0.5),\n borderColor: dsColor,\n borderWidth: 1,\n stack: 'combined',\n data: Utils.numbers({count: data.labels.length, min: 0, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n stack: 'combined',\n type: 'bar'\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n stack: 'combined'\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Stacked Line/Bar Chart'\n }\n },\n scales: {\n y: {\n stacked: true\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),n("h2",{attrs:{id:"docs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/axes/"}},[t._v("Axes scales")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[t._v("Common options to all axes ("),n("code",[t._v("stacked")]),t._v(")")])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("Stacking")])],1)])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),n("li",[n("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),n("code",[t._v("labels")]),t._v(")")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/general/data-structures.html#dataset-configuration"}},[t._v("Dataset Configuration ("),n("code",[t._v("stack")]),t._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/233.b4f254c0.js b/scriptApl/chart.js/dist/docs/assets/js/233.b4f254c0.js new file mode 100644 index 00000000..a2e09c0f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/233.b4f254c0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[233],{563:function(t,n,r){"use strict";r.r(n);var e=r(6),o=Object(e.a)({},(function(){var t=this,n=t.$createElement,r=t._self._c||n;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"chart-area-border"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#chart-area-border"}},[t._v("#")]),t._v(" Chart Area Border")]),t._v(" "),r("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst chartAreaBorder = {\n id: 'chartAreaBorder',\n beforeDraw(chart, args, options) {\n const {ctx, chartArea: {left, top, width, height}} = chart;\n ctx.save();\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.setLineDash(options.borderDash || []);\n ctx.lineDashOffset = options.borderDashOffset;\n ctx.strokeRect(left, top, width, height);\n ctx.restore();\n }\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n chartAreaBorder: {\n borderColor: 'red',\n borderWidth: 2,\n borderDash: [5, 5],\n borderDashOffset: 2,\n }\n }\n },\n plugins: [chartAreaBorder]\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),r("h2",{attrs:{id:"docs"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),r("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/developers/plugins.html"}},[t._v("Plugins")])],1)])],1)}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/234.d975df48.js b/scriptApl/chart.js/dist/docs/assets/js/234.d975df48.js new file mode 100644 index 00000000..7af54c42 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/234.d975df48.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[234],{564:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"doughnut-empty-state"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#doughnut-empty-state"}},[t._v("#")]),t._v(" Doughnut Empty State")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst data = {\n labels: [],\n datasets: [\n {\n label: 'Dataset 1',\n data: []\n }\n ]\n};\n// \n\n// \nconst plugin = {\n id: 'emptyDoughnut',\n afterDraw(chart, args, options) {\n const {datasets} = chart.data;\n const {color, width, radiusDecrease} = options;\n let hasData = false;\n\n for (let i = 0; i < datasets.length; i += 1) {\n const dataset = datasets[i];\n hasData |= dataset.data.length > 0;\n }\n\n if (!hasData) {\n const {chartArea: {left, top, right, bottom}, ctx} = chart;\n const centerX = (left + right) / 2;\n const centerY = (top + bottom) / 2;\n const r = Math.min(right - left, bottom - top) / 2;\n\n ctx.beginPath();\n ctx.lineWidth = width || 2;\n ctx.strokeStyle = color || 'rgba(255, 128, 0, 0.5)';\n ctx.arc(centerX, centerY, (r - radiusDecrease || 0), 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n};\n// \n\n// \nconst config = {\n type: 'doughnut',\n data: data,\n options: {\n plugins: {\n emptyDoughnut: {\n color: 'rgba(255, 128, 0, 0.5)',\n width: 2,\n radiusDecrease: 20\n }\n }\n },\n plugins: [plugin]\n};\n// \n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.points(NUMBER_CFG);\n });\n chart.update();\n }\n },\n];\n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/developers/plugins.html"}},[t._v("Plugins")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[t._v("Doughnut and Pie Charts")])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/235.71a7be7d.js b/scriptApl/chart.js/dist/docs/assets/js/235.71a7be7d.js new file mode 100644 index 00000000..7e726ad2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/235.71a7be7d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[235],{565:function(t,n,a){"use strict";a.r(n);var o=a(6),e=Object(o.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"quadrants"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#quadrants"}},[t._v("#")]),t._v(" Quadrants")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.points(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.points(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst quadrants = {\n id: 'quadrants',\n beforeDraw(chart, args, options) {\n const {ctx, chartArea: {left, top, right, bottom}, scales: {x, y}} = chart;\n const midX = x.getPixelForValue(0);\n const midY = y.getPixelForValue(0);\n ctx.save();\n ctx.fillStyle = options.topLeft;\n ctx.fillRect(left, top, midX - left, midY - top);\n ctx.fillStyle = options.topRight;\n ctx.fillRect(midX, top, right - midX, midY - top);\n ctx.fillStyle = options.bottomRight;\n ctx.fillRect(midX, midY, right - midX, bottom - midY);\n ctx.fillStyle = options.bottomLeft;\n ctx.fillRect(left, midY, midX - left, bottom - midY);\n ctx.restore();\n }\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n plugins: {\n quadrants: {\n topLeft: Utils.CHART_COLORS.red,\n topRight: Utils.CHART_COLORS.blue,\n bottomRight: Utils.CHART_COLORS.green,\n bottomLeft: Utils.CHART_COLORS.yellow,\n }\n }\n },\n plugins: [quadrants]\n};\n// \n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.points(NUMBER_CFG);\n });\n chart.update();\n }\n },\n];\n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/developers/plugins.html"}},[t._v("Plugins")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/scatter.html"}},[t._v("Scatter")])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/236.05d87a5e.js b/scriptApl/chart.js/dist/docs/assets/js/236.05d87a5e.js new file mode 100644 index 00000000..f2ba5b87 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/236.05d87a5e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[236],{566:function(n,t,s){"use strict";s.r(t);var o=s(6),a=Object(o.a)({},(function(){var n=this,t=n.$createElement,s=n._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[s("h1",{attrs:{id:"center-positioning"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#center-positioning"}},[n._v("#")]),n._v(" Center Positioning")]),n._v(" "),s("p",[n._v("This sample show how to place the axis in the center of the chart area, instead of at the edges.")]),n._v(" "),s("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Default Positions',\n handler(chart) {\n chart.options.scales.x.position = 'bottom';\n chart.options.scales.y.position = 'left';\n chart.update();\n }\n },\n {\n name: 'Position: center',\n handler(chart) {\n chart.options.scales.x.position = 'center';\n chart.options.scales.y.position = 'center';\n chart.update();\n }\n },\n {\n name: 'Position: Vertical: x=-60, Horizontal: y=30',\n handler(chart) {\n chart.options.scales.x.position = {y: 30};\n chart.options.scales.y.position = {x: -60};\n chart.update();\n }\n },\n];\n// \n\n\n// \nconst DATA_COUNT = 6;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.points(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.points(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'scatter',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Axis Center Positioning'\n }\n },\n scales: {\n x: {\n min: -100,\n max: 100,\n },\n y: {\n min: -100,\n max: 100,\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),s("h2",{attrs:{id:"docs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/charts/scatter.html"}},[n._v("Scatter")])],1),n._v(" "),s("li",[s("RouterLink",{attrs:{to:"/axes/cartesian/"}},[n._v("Cartesian Axes")]),n._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/axes/cartesian/#axis-position"}},[n._v("Axis Position")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/237.d518e28b.js b/scriptApl/chart.js/dist/docs/assets/js/237.d518e28b.js new file mode 100644 index 00000000..a987e9c1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/237.d518e28b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[237],{567:function(t,n,e){"use strict";e.r(n);var a=e(6),o=Object(a.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"grid-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#grid-configuration"}},[t._v("#")]),t._v(" Grid Configuration")]),t._v(" "),e("p",[t._v("This sample shows how to use scriptable grid options for an axis to control styling. In this case, the Y axis grid lines are colored based on their value. In addition, booleans are provided to toggle different parts of the X axis grid visibility.")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: -100, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: [10, 30, 39, 20, 25, 34, -10],\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: [18, 33, 22, 19, 11, -39, 30],\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \n// Change these settings to change the display for different parts of the X axis\n// grid configuiration\nconst DISPLAY = true;\nconst BORDER = true;\nconst CHART_AREA = true;\nconst TICKS = true;\n\nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Grid Line Settings'\n }\n },\n scales: {\n x: {\n grid: {\n display: DISPLAY,\n drawBorder: BORDER,\n drawOnChartArea: CHART_AREA,\n drawTicks: TICKS,\n }\n },\n y: {\n grid: {\n drawBorder: false,\n color: function(context) {\n if (context.tick.value > 0) {\n return Utils.CHART_COLORS.green;\n } else if (context.tick.value < 0) {\n return Utils.CHART_COLORS.red;\n }\n\n return '#000000';\n },\n },\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#tick"}},[t._v("Tick Context")])],1)])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/styling.html"}},[t._v("Axes Styling")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/styling.html#grid-line-configuration"}},[t._v("Grid Line Configuration")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/238.eb60e397.js b/scriptApl/chart.js/dist/docs/assets/js/238.eb60e397.js new file mode 100644 index 00000000..30e7c907 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/238.eb60e397.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[238],{568:function(n,t,e){"use strict";e.r(t);var a=e(6),i=Object(a.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"tick-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#tick-configuration"}},[n._v("#")]),n._v(" Tick Configuration")]),n._v(" "),e("p",[n._v("This sample shows how to use different tick features to control how tick labels are shown on the X axis. These features include:")]),n._v(" "),e("ul",[e("li",[n._v("Multi-line labels")]),n._v(" "),e("li",[n._v("Filtering labels")]),n._v(" "),e("li",[n._v("Changing the tick color")]),n._v(" "),e("li",[n._v("Changing the tick alignment for the X axis")])]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Alignment: start',\n handler(chart) {\n chart.options.scales.x.ticks.align = 'start';\n chart.update();\n }\n },\n {\n name: 'Alignment: center (default)',\n handler(chart) {\n chart.options.scales.x.ticks.align = 'center';\n chart.update();\n }\n },\n {\n name: 'Alignment: end',\n handler(chart) {\n chart.options.scales.x.ticks.align = 'end';\n chart.update();\n }\n },\n];\n// \n\n\n// \nconst DATA_COUNT = 12;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\nconst data = {\n labels: [['June', '2015'], 'July', 'August', 'September', 'October', 'November', 'December', ['January', '2016'], 'February', 'March', 'April', 'May'],\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart with Tick Configuration'\n }\n },\n scales: {\n x: {\n ticks: {\n // For a category axis, the val is the index so the lookup via getLabelForValue is needed\n callback: function(val, index) {\n // Hide every 2nd tick label\n return index % 2 === 0 ? this.getLabelForValue(val) : '';\n },\n color: 'red',\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/options.html#tick"}},[n._v("Tick Context")])],1)])],1)])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),e("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/styling.html"}},[n._v("Axes Styling")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/styling.html#tick-configuration"}},[n._v("Tick Configuration")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/239.81fecfed.js b/scriptApl/chart.js/dist/docs/assets/js/239.81fecfed.js new file mode 100644 index 00000000..3927e341 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/239.81fecfed.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[239],{569:function(t,n,e){"use strict";e.r(n);var a=e(6),o=Object(a.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"title-configuration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#title-configuration"}},[t._v("#")]),t._v(" Title Configuration")]),t._v(" "),e("p",[t._v("This sample shows how to configure the title of an axis including alignment, font, and color.")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n scales: {\n x: {\n display: true,\n title: {\n display: true,\n text: 'Month',\n color: '#911',\n font: {\n family: 'Comic Sans MS',\n size: 20,\n weight: 'bold',\n lineHeight: 1.2,\n },\n padding: {top: 20, left: 0, right: 0, bottom: 0}\n }\n },\n y: {\n display: true,\n title: {\n display: true,\n text: 'Value',\n color: '#191',\n font: {\n family: 'Times',\n size: 20,\n style: 'normal',\n lineHeight: 1.2\n },\n padding: {top: 30, left: 0, right: 0, bottom: 0}\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/styling.html"}},[t._v("Axes Styling")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/cartesian/"}},[t._v("Cartesian Axes")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/cartesian/#common-options-to-all-cartesian-axes"}},[t._v("Common options to all cartesian axes")])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/labelling.html"}},[t._v("Labeling Axes")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/labelling.html#scale-title-configuration"}},[t._v("Scale Title Configuration")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/24.af200d5b.js b/scriptApl/chart.js/dist/docs/assets/js/24.af200d5b.js new file mode 100644 index 00000000..aa7eec6c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/24.af200d5b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{355:function(e,t,r){"use strict";r.r(t);var a=r(6),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-arcborderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-arcborderradius"}},[e._v("#")]),e._v(" Interface: ArcBorderRadius")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"innerend"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#innerend"}},[e._v("#")]),e._v(" innerEnd")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("innerEnd")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1725",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1725"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"innerstart"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#innerstart"}},[e._v("#")]),e._v(" innerStart")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("innerStart")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1724",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1724"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"outerend"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#outerend"}},[e._v("#")]),e._v(" outerEnd")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("outerEnd")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1723",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1723"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"outerstart"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#outerstart"}},[e._v("#")]),e._v(" outerStart")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("outerStart")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1722",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1722"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/240.c0869bc2.js b/scriptApl/chart.js/dist/docs/assets/js/240.c0869bc2.js new file mode 100644 index 00000000..a9fcb127 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/240.c0869bc2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[240],{570:function(t,n,e){"use strict";e.r(n);var s=e(6),a=Object(s.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"linear-scale-suggested-min-max"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#linear-scale-suggested-min-max"}},[t._v("#")]),t._v(" Linear Scale - Suggested Min-Max")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: [10, 30, 39, 20, 25, 34, -10],\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: [18, 33, 22, 19, 11, 39, 30],\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.CHART_COLORS.blue,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Suggested Min and Max Settings'\n }\n },\n scales: {\n y: {\n // the data minimum used for determining the ticks is Math.min(dataMin, suggestedMin)\n suggestedMin: 30,\n\n // the data maximum used for determining the ticks is Math.max(dataMax, suggestedMax)\n suggestedMax: 50,\n }\n }\n },\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/"}},[t._v("Axes scales")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[t._v("Common options to all axes")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/#axis-range-settings"}},[t._v("Axis Range Settings")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/241.59dc896f.js b/scriptApl/chart.js/dist/docs/assets/js/241.59dc896f.js new file mode 100644 index 00000000..f82dcc85 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/241.59dc896f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[241],{571:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"linear-scale-min-max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-scale-min-max"}},[n._v("#")]),n._v(" Linear Scale - Min-Max")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: [10, 30, 50, 20, 25, 44, -10],\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: [100, 33, 22, 19, 11, 49, 30],\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.CHART_COLORS.blue,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Min and Max Settings'\n }\n },\n scales: {\n y: {\n min: 10,\n max: 50,\n }\n }\n },\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/"}},[n._v("Axes scales")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[n._v("Common options to all axes ("),a("code",[n._v("min")]),n._v(","),a("code",[n._v("max")]),n._v(")")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/242.6d423d39.js b/scriptApl/chart.js/dist/docs/assets/js/242.6d423d39.js new file mode 100644 index 00000000..fc810576 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/242.6d423d39.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[242],{572:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"linear-scale-step-size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear-scale-step-size"}},[t._v("#")]),t._v(" Linear Scale - Step Size")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n {\n name: 'Add Dataset',\n handler(chart) {\n const data = chart.data;\n const dsColor = Utils.namedColor(chart.data.datasets.length);\n const newDataset = {\n label: 'Dataset ' + (data.datasets.length + 1),\n backgroundColor: dsColor,\n borderColor: dsColor,\n data: Utils.numbers({count: data.labels.length, min: 0, max: 100}),\n };\n chart.data.datasets.push(newDataset);\n chart.update();\n }\n },\n {\n name: 'Add Data',\n handler(chart) {\n const data = chart.data;\n if (data.datasets.length > 0) {\n data.labels = Utils.months({count: data.labels.length + 1});\n\n for (let index = 0; index < data.datasets.length; ++index) {\n data.datasets[index].data.push(Utils.rand(0, 100));\n }\n\n chart.update();\n }\n }\n },\n {\n name: 'Remove Dataset',\n handler(chart) {\n chart.data.datasets.pop();\n chart.update();\n }\n },\n {\n name: 'Remove Data',\n handler(chart) {\n chart.data.labels.splice(-1, 1); // remove the label first\n\n chart.data.datasets.forEach(dataset => {\n dataset.data.pop();\n });\n\n chart.update();\n }\n }\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.CHART_COLORS.blue,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n tooltip: {\n mode: 'index',\n intersect: false\n },\n title: {\n display: true,\n text: 'Chart.js Line Chart'\n }\n },\n hover: {\n mode: 'index',\n intersec: false\n },\n scales: {\n x: {\n title: {\n display: true,\n text: 'Month'\n }\n },\n y: {\n title: {\n display: true,\n text: 'Value'\n },\n min: 0,\n max: 100,\n ticks: {\n // forces step size to be 50 units\n stepSize: 50\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/"}},[t._v("Axes scales")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/#common-options-to-all-axes"}},[t._v("Common options to all axes ("),a("code",[t._v("min")]),t._v(","),a("code",[t._v("max")]),t._v(")")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/linear.html"}},[t._v("Linear Axis")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/linear.html#linear-axis-specific-tick-options"}},[t._v("Linear Axis specific tick options ("),a("code",[t._v("stepSize")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/linear.html#step-size"}},[t._v("Step Size")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/243.a355eaa8.js b/scriptApl/chart.js/dist/docs/assets/js/243.a355eaa8.js new file mode 100644 index 00000000..34b89173 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/243.a355eaa8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[243],{573:function(n,t,a){"use strict";a.r(t);var s=a(6),e=Object(s.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"log-scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#log-scale"}},[n._v("#")]),n._v(" Log Scale")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst logNumbers = (num) => {\n const data = [];\n\n for (let i = 0; i < num; ++i) {\n data.push(Math.ceil(Math.random() * 10.0) * Math.pow(10, Math.ceil(Math.random() * 5)));\n }\n\n return data;\n};\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = logNumbers(chart.data.labels.length);\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: logNumbers(DATA_COUNT),\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n fill: false,\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart - Logarithmic'\n }\n },\n scales: {\n x: {\n display: true,\n },\n y: {\n display: true,\n type: 'logarithmic',\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/logarithmic.html"}},[n._v("Logarithmic Axis")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/244.ad729cf8.js b/scriptApl/chart.js/dist/docs/assets/js/244.ad729cf8.js new file mode 100644 index 00000000..8cedcae2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/244.ad729cf8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[244],{574:function(t,n,e){"use strict";e.r(n);var s=e(6),a=Object(s.a)({},(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"stacked-linear-category"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stacked-linear-category"}},[t._v("#")]),t._v(" Stacked Linear / Category")]),t._v(" "),e("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = Utils.months({count: 7});\nconst data = {\n labels: labels,\n datasets: [\n {\n label: 'Dataset 1',\n data: [10, 30, 50, 20, 25, 44, -10],\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.CHART_COLORS.red,\n },\n {\n label: 'Dataset 2',\n data: ['ON', 'ON', 'OFF', 'ON', 'OFF', 'OFF', 'ON'],\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.CHART_COLORS.blue,\n stepped: true,\n yAxisID: 'y2',\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n responsive: true,\n plugins: {\n title: {\n display: true,\n text: 'Stacked scales',\n },\n },\n scales: {\n y: {\n type: 'linear',\n position: 'left',\n stack: 'demo',\n stackWeight: 2,\n grid: {\n borderColor: Utils.CHART_COLORS.red\n }\n },\n y2: {\n type: 'category',\n labels: ['ON', 'OFF'],\n offset: true,\n position: 'left',\n stack: 'demo',\n stackWeight: 1,\n grid: {\n borderColor: Utils.CHART_COLORS.blue\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/axes/"}},[t._v("Axes scales")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/axes/#stacking"}},[t._v("Stacking")])],1)])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),e("code",[t._v("labels")]),t._v(")")])],1)])],1)}),[],!1,null,null,null);n.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/245.c3cd6bbe.js b/scriptApl/chart.js/dist/docs/assets/js/245.c3cd6bbe.js new file mode 100644 index 00000000..657cae70 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/245.c3cd6bbe.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[245],{576:function(t,n,a){"use strict";a.r(n);var e=a(6),s=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"time-scale-combo-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time-scale-combo-chart"}},[t._v("#")]),t._v(" Time Scale - Combo Chart")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = Utils.numbers({count: chart.data.labels.length, min: 0, max: 100});\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst labels = [];\n\nfor (let i = 0; i < DATA_COUNT; ++i) {\n labels.push(Utils.newDate(i));\n}\n\nconst data = {\n labels: labels,\n datasets: [{\n type: 'bar',\n label: 'Dataset 1',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n borderColor: Utils.CHART_COLORS.red,\n data: Utils.numbers(NUMBER_CFG),\n }, {\n type: 'bar',\n label: 'Dataset 2',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n borderColor: Utils.CHART_COLORS.blue,\n data: Utils.numbers(NUMBER_CFG),\n }, {\n type: 'line',\n label: 'Dataset 3',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n borderColor: Utils.CHART_COLORS.green,\n fill: false,\n data: Utils.numbers(NUMBER_CFG),\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n title: {\n text: 'Chart.js Combo Time Scale',\n display: true\n }\n },\n scales: {\n x: {\n type: 'time',\n display: true,\n offset: true,\n time: {\n unit: 'day'\n }\n },\n },\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[t._v("Time Scale")])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/246.d0708528.js b/scriptApl/chart.js/dist/docs/assets/js/246.d0708528.js new file mode 100644 index 00000000..9cea0faf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/246.d0708528.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[246],{593:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"time-scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time-scale"}},[n._v("#")]),n._v(" Time Scale")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data.forEach(function(dataObj, j) {\n const newVal = Utils.rand(0, 100);\n\n if (typeof dataObj === 'object') {\n dataObj.y = newVal;\n } else {\n dataset.data[j] = newVal;\n }\n });\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: 0, max: 100};\n\nconst data = {\n labels: [ // Date Objects\n Utils.newDate(0),\n Utils.newDate(1),\n Utils.newDate(2),\n Utils.newDate(3),\n Utils.newDate(4),\n Utils.newDate(5),\n Utils.newDate(6)\n ],\n datasets: [{\n label: 'My First dataset',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n borderColor: Utils.CHART_COLORS.red,\n fill: false,\n data: Utils.numbers(NUMBER_CFG),\n }, {\n label: 'My Second dataset',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n borderColor: Utils.CHART_COLORS.blue,\n fill: false,\n data: Utils.numbers(NUMBER_CFG),\n }, {\n label: 'Dataset with point data',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n borderColor: Utils.CHART_COLORS.green,\n fill: false,\n data: [{\n x: Utils.newDateString(0),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(5),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(7),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(15),\n y: Utils.rand(0, 100)\n }],\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n title: {\n text: 'Chart.js Time Scale',\n display: true\n }\n },\n scales: {\n x: {\n type: 'time',\n time: {\n // Luxon format string\n tooltipFormat: 'DD T'\n },\n title: {\n display: true,\n text: 'Date'\n }\n },\n y: {\n title: {\n display: true,\n text: 'value'\n }\n }\n },\n },\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[n._v("Time Cartesian Axis")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/247.13d65d78.js b/scriptApl/chart.js/dist/docs/assets/js/247.13d65d78.js new file mode 100644 index 00000000..d1726cb8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/247.13d65d78.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[247],{592:function(n,t,a){"use strict";a.r(t);var e=a(6),s=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"time-scale-max-span"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time-scale-max-span"}},[n._v("#")]),n._v(" Time Scale - Max Span")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data.forEach(function(dataObj, j) {\n const newVal = Utils.rand(0, 100);\n\n if (typeof dataObj === 'object') {\n dataObj.y = newVal;\n } else {\n dataset.data[j] = newVal;\n }\n });\n });\n chart.update();\n }\n },\n];\n// \n\n// \nconst data = {\n datasets: [{\n label: 'Dataset with string point data',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n borderColor: Utils.CHART_COLORS.red,\n fill: false,\n data: [{\n x: Utils.newDateString(0),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(2),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(4),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDateString(6),\n y: Utils.rand(0, 100)\n }],\n }, {\n label: 'Dataset with date object point data',\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n borderColor: Utils.CHART_COLORS.blue,\n fill: false,\n data: [{\n x: Utils.newDate(0),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDate(2),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDate(5),\n y: Utils.rand(0, 100)\n }, {\n x: Utils.newDate(6),\n y: Utils.rand(0, 100)\n }]\n }]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n spanGaps: 1000 * 60 * 60 * 24 * 2, // 2 days\n responsive: true,\n interaction: {\n mode: 'nearest',\n },\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Time - spanGaps: 172800000 (2 days in ms)'\n },\n },\n scales: {\n x: {\n type: 'time',\n display: true,\n title: {\n display: true,\n text: 'Date'\n },\n ticks: {\n autoSkip: false,\n maxRotation: 0,\n major: {\n enabled: true\n },\n // color: function(context) {\n // return context.tick && context.tick.major ? '#FF0000' : 'rgba(0,0,0,0.1)';\n // },\n font: function(context) {\n if (context.tick && context.tick.major) {\n return {\n weight: 'bold',\n };\n }\n }\n }\n },\n y: {\n display: true,\n title: {\n display: true,\n text: 'value'\n }\n }\n }\n },\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html#line-styling"}},[a("code",[n._v("spanGaps")])])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/axes/cartesian/time.html"}},[n._v("Time Scale")])],1)])],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/248.1d222543.js b/scriptApl/chart.js/dist/docs/assets/js/248.1d222543.js new file mode 100644 index 00000000..6bafaba4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/248.1d222543.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[248],{577:function(t,n,a){"use strict";a.r(n);var e=a(6),r=Object(e.a)({},(function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"bar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bar-chart"}},[t._v("#")]),t._v(" Bar Chart")]),t._v(" "),a("p",[t._v("Demo selecting bar color based on the bar's y value.")]),t._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 16;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: -100,\n max: 100\n });\n}\n\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [{\n data: generateData(),\n }]\n};\n// \n\n// \nfunction colorize(opaque) {\n return (ctx) => {\n const v = ctx.parsed.y;\n const c = v < -50 ? '#D60000'\n : v < 0 ? '#F46300'\n : v < 50 ? '#0358B6'\n : '#44DE28';\n\n return opaque ? c : Utils.transparentize(c, 1 - Math.abs(v / 150));\n };\n}\n\nconst config = {\n type: 'bar',\n data: data,\n options: {\n plugins: {\n legend: false,\n },\n elements: {\n bar: {\n backgroundColor: colorize(false),\n borderColor: colorize(true),\n borderWidth: 2\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bar.html"}},[t._v("Bar")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),a("code",[t._v("labels")]),t._v(")")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html#dataset-configuration"}},[t._v("Dataset Configuration ("),a("code",[t._v("stack")]),t._v(")")])],1)])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[t._v("Options")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[t._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/249.2d7a9bf1.js b/scriptApl/chart.js/dist/docs/assets/js/249.2d7a9bf1.js new file mode 100644 index 00000000..ea2e6019 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/249.2d7a9bf1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[249],{578:function(n,t,a){"use strict";a.r(t);var e=a(6),o=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"bubble-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubble-chart"}},[n._v("#")]),n._v(" Bubble Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 16;\nconst MIN_XY = -150;\nconst MAX_XY = 100;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction generateData() {\n const data = [];\n let i;\n\n for (i = 0; i < DATA_COUNT; ++i) {\n data.push({\n x: Utils.rand(MIN_XY, MAX_XY),\n y: Utils.rand(MIN_XY, MAX_XY),\n v: Utils.rand(0, 1000)\n });\n }\n\n return data;\n}\n\nconst data = {\n datasets: [{\n data: generateData()\n }, {\n data: generateData()\n }]\n};\n// \n\n// \nfunction channelValue(x, y, values) {\n return x < 0 && y < 0 ? values[0] : x < 0 ? values[1] : y < 0 ? values[2] : values[3];\n}\n\nfunction colorize(opaque, context) {\n const value = context.raw;\n const x = value.x / 100;\n const y = value.y / 100;\n const r = channelValue(x, y, [250, 150, 50, 0]);\n const g = channelValue(x, y, [0, 50, 150, 250]);\n const b = channelValue(x, y, [0, 150, 150, 250]);\n const a = opaque ? 1 : 0.5 * value.v / 1000;\n\n return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n}\n\nconst config = {\n type: 'bubble',\n data: data,\n options: {\n aspectRatio: 1,\n plugins: {\n legend: false,\n tooltip: false,\n },\n elements: {\n point: {\n backgroundColor: colorize.bind(null, false),\n\n borderColor: colorize.bind(null, true),\n\n borderWidth: function(context) {\n return Math.min(Math.max(1, context.datasetIndex + 1), 8);\n },\n\n hoverBackgroundColor: 'transparent',\n\n hoverBorderColor: function(context) {\n return Utils.color(context.datasetIndex);\n },\n\n hoverBorderWidth: function(context) {\n return Math.round(8 * context.raw.v / 1000);\n },\n\n radius: function(context) {\n const size = context.chart.width;\n const base = Math.abs(context.raw.v) / 1000;\n return (size / 24) * base;\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/bubble.html"}},[n._v("Bubble")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")])],1)])],1)])],1)}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/25.4f97f63f.js b/scriptApl/chart.js/dist/docs/assets/js/25.4f97f63f.js new file mode 100644 index 00000000..30cb22d7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/25.4f97f63f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{356:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-arcelement-t-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-arcelement-t-o"}},[t._v("#")]),t._v(" Interface: ArcElement")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcProps.html"}},[a("code",[t._v("ArcProps")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcProps.html"}},[a("code",[t._v("ArcProps")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[a("code",[t._v("ArcOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[a("code",[t._v("ArcOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[a("code",[t._v("VisualElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("ArcElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("area?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("area?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1685",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1685"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcenterpoint"}},[t._v("#")]),t._v(" getCenterPoint")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getCenterPoint")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getcenterpoint"}},[t._v("getCenterPoint")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1689",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1689"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("code",[t._v("T")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getrange"}},[t._v("#")]),t._v(" getRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getRange")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getrange"}},[t._v("getRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1690",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1690"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inrange"}},[t._v("#")]),t._v(" inRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inrange"}},[t._v("inRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1686",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1686"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inxrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inxrange"}},[t._v("#")]),t._v(" inXRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inXRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inxrange"}},[t._v("inXRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1687"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inyrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inyrange"}},[t._v("#")]),t._v(" inYRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inYRange")]),t._v("("),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inyrange"}},[t._v("inYRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1688"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/250.09ef38e2.js b/scriptApl/chart.js/dist/docs/assets/js/250.09ef38e2.js new file mode 100644 index 00000000..9e01b020 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/250.09ef38e2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[250],{579:function(n,t,a){"use strict";a.r(t);var e=a(6),o=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"line-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line-chart"}},[n._v("#")]),n._v(" Line Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 12;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: 0,\n max: 100\n });\n}\n\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [{\n data: generateData()\n }]\n};\n// \n\n// \nfunction getLineColor(ctx) {\n return Utils.color(ctx.datasetIndex);\n}\n\nfunction alternatePointStyles(ctx) {\n const index = ctx.dataIndex;\n return index % 2 === 0 ? 'circle' : 'rect';\n}\n\nfunction makeHalfAsOpaque(ctx) {\n return Utils.transparentize(getLineColor(ctx));\n}\n\nfunction adjustRadiusBasedOnData(ctx) {\n const v = ctx.parsed.y;\n return v < 10 ? 5\n : v < 25 ? 7\n : v < 50 ? 9\n : v < 75 ? 11\n : 15;\n}\n\nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n legend: false,\n tooltip: true,\n },\n elements: {\n line: {\n fill: false,\n backgroundColor: getLineColor,\n borderColor: getLineColor,\n },\n point: {\n backgroundColor: getLineColor,\n hoverBackgroundColor: makeHalfAsOpaque,\n radius: adjustRadiusBasedOnData,\n pointStyle: alternatePointStyles,\n hoverRadius: 15,\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/charts/line.html#point-styling"}},[n._v("Point Styling")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1)])],1)}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/251.0cb90e8a.js b/scriptApl/chart.js/dist/docs/assets/js/251.0cb90e8a.js new file mode 100644 index 00000000..93d89533 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/251.0cb90e8a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[251],{580:function(n,t,a){"use strict";a.r(t);var o=a(6),e=Object(o.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"pie-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pie-chart"}},[n._v("#")]),n._v(" Pie Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 5;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n {\n name: 'Toggle Doughnut View',\n handler(chart) {\n if (chart.options.cutout) {\n chart.options.cutout = 0;\n } else {\n chart.options.cutout = '50%';\n }\n chart.update();\n }\n }\n];\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: -100,\n max: 100\n });\n}\n\nconst data = {\n datasets: [{\n data: generateData()\n }]\n};\n// \n\n// \nfunction colorize(opaque, hover, ctx) {\n const v = ctx.parsed;\n const c = v < -50 ? '#D60000'\n : v < 0 ? '#F46300'\n : v < 50 ? '#0358B6'\n : '#44DE28';\n\n const opacity = hover ? 1 - Math.abs(v / 150) - 0.2 : 1 - Math.abs(v / 150);\n\n return opaque ? c : Utils.transparentize(c, opacity);\n}\n\nfunction hoverColorize(ctx) {\n return colorize(false, true, ctx);\n}\n\nconst config = {\n type: 'pie',\n data: data,\n options: {\n plugins: {\n legend: false,\n tooltip: false,\n },\n elements: {\n arc: {\n backgroundColor: colorize.bind(null, false, false),\n hoverBackgroundColor: hoverColorize\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/doughnut.html"}},[n._v("Doughnut and Pie Charts")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/252.2ff0def4.js b/scriptApl/chart.js/dist/docs/assets/js/252.2ff0def4.js new file mode 100644 index 00000000..7355f8d4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/252.2ff0def4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[252],{581:function(n,t,a){"use strict";a.r(t);var o=a(6),e=Object(o.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"polar-area-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polar-area-chart"}},[n._v("#")]),n._v(" Polar Area Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: 0,\n max: 100\n });\n}\n\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [{\n data: generateData()\n }]\n};\n// \n\n// \nfunction colorize(opaque, hover, ctx) {\n const v = ctx.raw;\n const c = v < 35 ? '#D60000'\n : v < 55 ? '#F46300'\n : v < 75 ? '#0358B6'\n : '#44DE28';\n\n const opacity = hover ? 1 - Math.abs(v / 150) - 0.2 : 1 - Math.abs(v / 150);\n\n return opaque ? c : Utils.transparentize(c, opacity);\n}\n\nfunction hoverColorize(ctx) {\n return colorize(false, true, ctx);\n}\n\nconst config = {\n type: 'polarArea',\n data: data,\n options: {\n plugins: {\n legend: false,\n tooltip: false,\n },\n elements: {\n arc: {\n backgroundColor: colorize.bind(null, false, false),\n hoverBackgroundColor: hoverColorize\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/polar.html"}},[n._v("Polar Area Chart")])],1)])],1)}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/253.61c7c505.js b/scriptApl/chart.js/dist/docs/assets/js/253.61c7c505.js new file mode 100644 index 00000000..1098bdb0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/253.61c7c505.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[253],{582:function(n,t,a){"use strict";a.r(t);var e=a(6),r=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"radar-chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radar-chart"}},[n._v("#")]),n._v(" Radar Chart")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nUtils.srand(110);\n\nconst actions = [\n {\n name: 'Randomize',\n handler(chart) {\n chart.data.datasets.forEach(dataset => {\n dataset.data = generateData();\n });\n chart.update();\n }\n },\n];\n// \n\n// \nfunction generateData() {\n return Utils.numbers({\n count: DATA_COUNT,\n min: 0,\n max: 100\n });\n}\n\nconst data = {\n labels: [['Eating', 'Dinner'], ['Drinking', 'Water'], 'Sleeping', ['Designing', 'Graphics'], 'Coding', 'Cycling', 'Running'],\n datasets: [{\n data: generateData()\n }]\n};\n// \n\n// \nfunction getLineColor(ctx) {\n return Utils.color(ctx.datasetIndex);\n}\n\nfunction alternatePointStyles(ctx) {\n const index = ctx.dataIndex;\n return index % 2 === 0 ? 'circle' : 'rect';\n}\n\nfunction makeHalfAsOpaque(ctx) {\n return Utils.transparentize(getLineColor(ctx));\n}\n\nfunction make20PercentOpaque(ctx) {\n return Utils.transparentize(getLineColor(ctx), 0.8);\n}\n\nfunction adjustRadiusBasedOnData(ctx) {\n const v = ctx.parsed.y;\n return v < 10 ? 5\n : v < 25 ? 7\n : v < 50 ? 9\n : v < 75 ? 11\n : 15;\n}\n\nconst config = {\n type: 'radar',\n data: data,\n options: {\n plugins: {\n legend: false,\n tooltip: false,\n },\n elements: {\n line: {\n backgroundColor: make20PercentOpaque,\n borderColor: getLineColor,\n },\n point: {\n backgroundColor: getLineColor,\n hoverBackgroundColor: makeHalfAsOpaque,\n radius: adjustRadiusBasedOnData,\n pointStyle: alternatePointStyles,\n hoverRadius: 15,\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions,\n config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html"}},[n._v("Options")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/options.html#scriptable-options"}},[n._v("Scriptable Options")])],1)])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/radar.html"}},[n._v("Radar")])],1)])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/254.20137eeb.js b/scriptApl/chart.js/dist/docs/assets/js/254.20137eeb.js new file mode 100644 index 00000000..8bf621dc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/254.20137eeb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[254],{583:function(t,n,s){"use strict";s.r(n);var a=s(6),e=Object(a.a)({},(function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"basic"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#basic"}},[t._v("#")]),t._v(" Basic")]),t._v(" "),s("p",[t._v("This sample shows basic usage of subtitle.")]),t._v(" "),s("chart-editor",{attrs:{code:"// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n title: {\n display: true,\n text: 'Chart Title',\n },\n subtitle: {\n display: true,\n text: 'Chart Subtitle',\n color: 'blue',\n font: {\n size: 12,\n family: 'tahoma',\n weight: 'normal',\n style: 'italic'\n },\n padding: {\n bottom: 10\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n config: config,\n};\n"}}),s("h2",{attrs:{id:"docs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),s("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),s("li",[s("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),s("li",[s("RouterLink",{attrs:{to:"/configuration/title.html"}},[t._v("Title")])],1),t._v(" "),s("li",[s("RouterLink",{attrs:{to:"/configuration/subtitle.html"}},[t._v("Subtitle")])],1)])],1)}),[],!1,null,null,null);n.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/255.49c937e9.js b/scriptApl/chart.js/dist/docs/assets/js/255.49c937e9.js new file mode 100644 index 00000000..8088ee09 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/255.49c937e9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[255],{584:function(n,t,e){"use strict";e.r(t);var a=e(6),l=Object(a.a)({},(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"alignment"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alignment"}},[n._v("#")]),n._v(" Alignment")]),n._v(" "),e("p",[n._v("This sample show how to configure the alignment of the chart title")]),n._v(" "),e("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Title Alignment: start',\n handler(chart) {\n chart.options.plugins.title.align = 'start';\n chart.update();\n }\n },\n {\n name: 'Title Alignment: center (default)',\n handler(chart) {\n chart.options.plugins.title.align = 'center';\n chart.update();\n }\n },\n {\n name: 'Title Alignment: end',\n handler(chart) {\n chart.options.plugins.title.align = 'end';\n chart.update();\n }\n },\n];\n// \n\n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n plugins: {\n title: {\n display: true,\n text: 'Chart Title',\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),e("h2",{attrs:{id:"docs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),e("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),e("li",[e("RouterLink",{attrs:{to:"/configuration/title.html"}},[n._v("Title")])],1)])],1)}),[],!1,null,null,null);t.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/256.8d709dae.js b/scriptApl/chart.js/dist/docs/assets/js/256.8d709dae.js new file mode 100644 index 00000000..8a72d87d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/256.8d709dae.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[256],{586:function(t,n,o){"use strict";o.r(n);var l=o(6),s=Object(l.a)({},(function(){var t=this,n=t.$createElement,o=t._self._c||n;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"custom-tooltip-content"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#custom-tooltip-content"}},[t._v("#")]),t._v(" Custom Tooltip Content")]),t._v(" "),o("p",[t._v("This sample shows how to use the tooltip callbacks to add additional content to the tooltip.")]),t._v(" "),o("chart-editor",{attrs:{code:"// \nconst footer = (tooltipItems) => {\n let sum = 0;\n\n tooltipItems.forEach(function(tooltipItem) {\n sum += tooltipItem.parsed.y;\n });\n return 'Sum: ' + sum;\n};\n\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100, decimals: 0};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n plugins: {\n tooltip: {\n callbacks: {\n footer: footer,\n }\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),o("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html#tooltip-callbacks"}},[t._v("Tooltip Callbacks")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/257.b3ebdce7.js b/scriptApl/chart.js/dist/docs/assets/js/257.b3ebdce7.js new file mode 100644 index 00000000..d86c9205 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/257.b3ebdce7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[257],{585:function(t,n,o){"use strict";o.r(n);var e=o(6),l=Object(e.a)({},(function(){var t=this,n=t.$createElement,o=t._self._c||n;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"external-html-tooltip"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#external-html-tooltip"}},[t._v("#")]),t._v(" External HTML Tooltip")]),t._v(" "),o("p",[t._v("This sample shows how to use the external tooltip functionality to generate an HTML tooltip.")]),t._v(" "),o("chart-editor",{attrs:{code:"// \nconst getOrCreateTooltip = (chart) => {\n let tooltipEl = chart.canvas.parentNode.querySelector('div');\n\n if (!tooltipEl) {\n tooltipEl = document.createElement('div');\n tooltipEl.style.background = 'rgba(0, 0, 0, 0.7)';\n tooltipEl.style.borderRadius = '3px';\n tooltipEl.style.color = 'white';\n tooltipEl.style.opacity = 1;\n tooltipEl.style.pointerEvents = 'none';\n tooltipEl.style.position = 'absolute';\n tooltipEl.style.transform = 'translate(-50%, 0)';\n tooltipEl.style.transition = 'all .1s ease';\n\n const table = document.createElement('table');\n table.style.margin = '0px';\n\n tooltipEl.appendChild(table);\n chart.canvas.parentNode.appendChild(tooltipEl);\n }\n\n return tooltipEl;\n};\n\nconst externalTooltipHandler = (context) => {\n // Tooltip Element\n const {chart, tooltip} = context;\n const tooltipEl = getOrCreateTooltip(chart);\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n // Set Text\n if (tooltip.body) {\n const titleLines = tooltip.title || [];\n const bodyLines = tooltip.body.map(b => b.lines);\n\n const tableHead = document.createElement('thead');\n\n titleLines.forEach(title => {\n const tr = document.createElement('tr');\n tr.style.borderWidth = 0;\n\n const th = document.createElement('th');\n th.style.borderWidth = 0;\n const text = document.createTextNode(title);\n\n th.appendChild(text);\n tr.appendChild(th);\n tableHead.appendChild(tr);\n });\n\n const tableBody = document.createElement('tbody');\n bodyLines.forEach((body, i) => {\n const colors = tooltip.labelColors[i];\n\n const span = document.createElement('span');\n span.style.background = colors.backgroundColor;\n span.style.borderColor = colors.borderColor;\n span.style.borderWidth = '2px';\n span.style.marginRight = '10px';\n span.style.height = '10px';\n span.style.width = '10px';\n span.style.display = 'inline-block';\n\n const tr = document.createElement('tr');\n tr.style.backgroundColor = 'inherit';\n tr.style.borderWidth = 0;\n\n const td = document.createElement('td');\n td.style.borderWidth = 0;\n\n const text = document.createTextNode(body);\n\n td.appendChild(span);\n td.appendChild(text);\n tr.appendChild(td);\n tableBody.appendChild(tr);\n });\n\n const tableRoot = tooltipEl.querySelector('table');\n\n // Remove old children\n while (tableRoot.firstChild) {\n tableRoot.firstChild.remove();\n }\n\n // Add new children\n tableRoot.appendChild(tableHead);\n tableRoot.appendChild(tableBody);\n }\n\n const {offsetLeft: positionX, offsetTop: positionY} = chart.canvas;\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n tooltipEl.style.left = positionX + tooltip.caretX + 'px';\n tooltipEl.style.top = positionY + tooltip.caretY + 'px';\n tooltipEl.style.font = tooltip.options.bodyFont.string;\n tooltipEl.style.padding = tooltip.options.padding + 'px ' + tooltip.options.padding + 'px';\n};\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100, decimals: 0};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n interaction: {\n mode: 'index',\n intersect: false,\n },\n plugins: {\n title: {\n display: true,\n text: 'Chart.js Line Chart - External Tooltips'\n },\n tooltip: {\n enabled: false,\n position: 'nearest',\n external: externalTooltipHandler\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: [],\n config: config,\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),o("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html#external-custom-tooltips"}},[t._v("External (Custom) Tooltips")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/258.792f66d1.js b/scriptApl/chart.js/dist/docs/assets/js/258.792f66d1.js new file mode 100644 index 00000000..7f98aaed --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/258.792f66d1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[258],{587:function(n,t,a){"use strict";a.r(t);var e=a(6),o=Object(e.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"interaction-modes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interaction-modes"}},[n._v("#")]),n._v(" Interaction Modes")]),n._v(" "),a("p",[n._v("This sample shows how to use the tooltip position mode setting.")]),n._v(" "),a("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Mode: index',\n handler(chart) {\n chart.options.interaction.axis = 'xy';\n chart.options.interaction.mode = 'index';\n chart.update();\n }\n },\n {\n name: 'Mode: dataset',\n handler(chart) {\n chart.options.interaction.axis = 'xy';\n chart.options.interaction.mode = 'dataset';\n chart.update();\n }\n },\n {\n name: 'Mode: point',\n handler(chart) {\n chart.options.interaction.axis = 'xy';\n chart.options.interaction.mode = 'point';\n chart.update();\n }\n },\n {\n name: 'Mode: nearest, axis: xy',\n handler(chart) {\n chart.options.interaction.axis = 'xy';\n chart.options.interaction.mode = 'nearest';\n chart.update();\n }\n },\n {\n name: 'Mode: nearest, axis: x',\n handler(chart) {\n chart.options.interaction.axis = 'x';\n chart.options.interaction.mode = 'nearest';\n chart.update();\n }\n },\n {\n name: 'Mode: nearest, axis: y',\n handler(chart) {\n chart.options.interaction.axis = 'y';\n chart.options.interaction.mode = 'nearest';\n chart.update();\n }\n },\n {\n name: 'Mode: x',\n handler(chart) {\n chart.options.interaction.mode = 'x';\n chart.update();\n }\n },\n {\n name: 'Mode: y',\n handler(chart) {\n chart.options.interaction.mode = 'y';\n chart.update();\n }\n },\n {\n name: 'Toggle Intersect',\n handler(chart) {\n chart.options.interaction.intersect = !chart.options.interaction.intersect;\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n },\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n plugins: {\n title: {\n display: true,\n text: (ctx) => {\n const {axis = 'xy', intersect, mode} = ctx.chart.options.interaction;\n return 'Mode: ' + mode + ', axis: ' + axis + ', intersect: ' + intersect;\n }\n },\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),a("h2",{attrs:{id:"docs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[n._v("#")]),n._v(" Docs")]),n._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/general/data-structures.html"}},[n._v("Data structures ("),a("code",[n._v("labels")]),n._v(")")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/charts/line.html"}},[n._v("Line")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[n._v("Tooltip")])],1),n._v(" "),a("li",[a("RouterLink",{attrs:{to:"/configuration/interactions.html"}},[n._v("Interactions")])],1)])],1)}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/259.98c809e9.js b/scriptApl/chart.js/dist/docs/assets/js/259.98c809e9.js new file mode 100644 index 00000000..9a527d5b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/259.98c809e9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[259],{588:function(t,n,o){"use strict";o.r(n);var e=o(6),l=Object(e.a)({},(function(){var t=this,n=t.$createElement,o=t._self._c||n;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"point-style"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#point-style"}},[t._v("#")]),t._v(" Point Style")]),t._v(" "),o("p",[t._v("This sample shows how to use the dataset point style in the tooltip instead of a rectangle to identify each dataset.")]),t._v(" "),o("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Toggle Tooltip Point Style',\n handler(chart) {\n chart.options.plugins.tooltip.usePointStyle = !chart.options.plugins.tooltip.usePointStyle;\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Triangles',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n pointStyle: 'triangle',\n pointRadius: 6,\n },\n {\n label: 'Circles',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n pointStyle: 'circle',\n pointRadius: 6,\n },\n {\n label: 'Stars',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.green,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green, 0.5),\n pointStyle: 'star',\n pointRadius: 6,\n }\n ]\n};\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n interaction: {\n mode: 'index',\n },\n plugins: {\n title: {\n display: true,\n text: (ctx) => 'Tooltip point style: ' + ctx.chart.options.plugins.tooltip.usePointStyle,\n },\n tooltip: {\n usePointStyle: true,\n }\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),o("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip")]),t._v(" "),o("ul",[o("li",[o("code",[t._v("usePointStyle")])])])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/elements.html"}},[t._v("Elements")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/configuration/elements.html#point-styles"}},[t._v("Point Styles")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/26.d1bb645c.js b/scriptApl/chart.js/dist/docs/assets/js/26.d1bb645c.js new file mode 100644 index 00000000..5e0b493c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/26.d1bb645c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{357:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-archoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-archoveroptions"}},[r._v("#")]),r._v(" Interface: ArcHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[r._v("#")]),r._v(" Hierarchy")]),r._v(" "),t("ul",[t("li",[t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[t("code",[r._v("CommonHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("strong",[t("code",[r._v("ArcHoverOptions")])])])])]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"hoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[r._v("#")]),r._v(" hoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbackgroundcolor"}},[r._v("hoverBackgroundColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1702"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[r._v("#")]),r._v(" hoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbordercolor"}},[r._v("hoverBorderColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1701"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[r._v("#")]),r._v(" hoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"inherited-from-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverborderwidth"}},[r._v("hoverBorderWidth")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1700"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoveroffset"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoveroffset"}},[r._v("#")]),r._v(" hoverOffset")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverOffset")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1758",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1758"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/260.54ff10d2.js b/scriptApl/chart.js/dist/docs/assets/js/260.54ff10d2.js new file mode 100644 index 00000000..f0e413e0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/260.54ff10d2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[260],{590:function(t,n,o){"use strict";o.r(n);var i=o(6),s=Object(i.a)({},(function(){var t=this,n=t.$createElement,o=t._self._c||n;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"position"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" Position")]),t._v(" "),o("p",[t._v("This sample shows how to use the tooltip position mode setting.")]),t._v(" "),o("chart-editor",{attrs:{code:"// \nconst actions = [\n {\n name: 'Position: average',\n handler(chart) {\n chart.options.plugins.tooltip.position = 'average';\n chart.update();\n }\n },\n {\n name: 'Position: nearest',\n handler(chart) {\n chart.options.plugins.tooltip.position = 'nearest';\n chart.update();\n }\n },\n {\n name: 'Position: bottom (custom)',\n handler(chart) {\n chart.options.plugins.tooltip.position = 'bottom';\n chart.update();\n }\n },\n];\n// \n\n// \nconst DATA_COUNT = 7;\nconst NUMBER_CFG = {count: DATA_COUNT, min: -100, max: 100};\nconst data = {\n labels: Utils.months({count: DATA_COUNT}),\n datasets: [\n {\n label: 'Dataset 1',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.red,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5),\n },\n {\n label: 'Dataset 2',\n data: Utils.numbers(NUMBER_CFG),\n fill: false,\n borderColor: Utils.CHART_COLORS.blue,\n backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5),\n },\n ]\n};\n// \n\n// \n// Create a custom tooltip positioner to put at the bottom of the chart area\ncomponents.Tooltip.positioners.bottom = function(items) {\n const pos = components.Tooltip.positioners.average(items);\n\n // Happens when nothing is found\n if (pos === false) {\n return false;\n }\n\n const chart = this.chart;\n\n return {\n x: pos.x,\n y: chart.chartArea.bottom,\n xAlign: 'center',\n yAlign: 'bottom',\n };\n};\n\n// \n\n// \nconst config = {\n type: 'line',\n data: data,\n options: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n plugins: {\n title: {\n display: true,\n text: (ctx) => 'Tooltip position mode: ' + ctx.chart.options.plugins.tooltip.position,\n },\n }\n }\n};\n// \n\nmodule.exports = {\n actions: actions,\n config: config,\n};\n"}}),o("h2",{attrs:{id:"docs"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#docs"}},[t._v("#")]),t._v(" Docs")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/general/data-structures.html"}},[t._v("Data structures ("),o("code",[t._v("labels")]),t._v(")")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/charts/line.html"}},[t._v("Line")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html"}},[t._v("Tooltip")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html#position-modes"}},[t._v("Position Modes")])],1),t._v(" "),o("li",[o("RouterLink",{attrs:{to:"/configuration/tooltip.html#custom-position-modes"}},[t._v("Custom Position Modes")])],1)])],1)])],1)}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/261.928afea4.js b/scriptApl/chart.js/dist/docs/assets/js/261.928afea4.js new file mode 100644 index 00000000..b06fd674 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/261.928afea4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[261],{589:function(t,s,a){"use strict";a.r(s);var n=a(6),r=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"utils"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#utils"}},[t._v("#")]),t._v(" Utils")]),t._v(" "),a("h2",{attrs:{id:"disclaimer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#disclaimer"}},[t._v("#")]),t._v(" Disclaimer")]),t._v(" "),a("p",[t._v("The Utils file contains multiple helper functions that the chart.js sample pages use to generate charts.\nThese functions are subject to change, including but not limited to breaking changes without prior notice.")]),t._v(" "),a("p",[t._v("Because of this please don't rely on this file in production environments.")]),t._v(" "),a("h2",{attrs:{id:"functions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#functions"}},[t._v("#")]),t._v(" Functions")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" colorLib "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'@kurkle/color'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("DateTime"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'luxon'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'chartjs-adapter-luxon'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("valueOrDefault"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'../../dist/helpers.mjs'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Adapted from http://indiegamr.com/generate-repeatable-random-numbers-in-js/")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" _seed "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Date"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("now")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("srand")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("seed")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n _seed "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" seed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rand")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" max")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n _seed "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("_seed "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("9301")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("49297")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("233280")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("_seed "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("233280")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("numbers")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" cfg "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" config "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" from "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("from"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" count "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("count"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" decimals "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decimals"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" continuity "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("valueOrDefault")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("continuity"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" dfactor "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("pow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" decimals"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v(" count"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("++")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("from"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rand")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rand")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<=")]),t._v(" continuity"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("round")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("dfactor "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" dfactor"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("points")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" xs "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("numbers")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" ys "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("numbers")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" xs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("map")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" i")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("x"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("y")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" ys"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("bubbles")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("points")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("map")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("pt")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n pt"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("r "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rand")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("rmin"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("rmax"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" pt"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("labels")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" cfg "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" config "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("min "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("100")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" count "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("count "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" step "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("max "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" count"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" decimals "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decimals "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" dfactor "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("pow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" decimals"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" prefix "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("prefix "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" values "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" min"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v(" max"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+=")]),t._v(" step"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n values"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("prefix "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("round")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("dfactor "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("/")]),t._v(" dfactor"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" values"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("MONTHS")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'January'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'February'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'March'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'April'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'May'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'June'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'July'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'August'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'September'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'October'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'November'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'December'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("months")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("config")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" cfg "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" config "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" count "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("count "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("||")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" section "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cfg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("section"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" values "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v(" count"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("++")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n value "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("MONTHS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Math"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ceil")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n values"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("substring")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" section"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" values"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("COLORS")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#4dc9f6'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#f67019'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#f53794'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#537bc4'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#acc236'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#166a8f'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#00a950'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#58595b'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'#8549ba'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("transparentize")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" alpha "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" opacity "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("undefined")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v(" opacity"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("colorLib")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("value"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("alpha")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("alpha"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rgbString")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("red")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 99, 132)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("orange")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 159, 64)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("yellow")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(255, 205, 86)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("green")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(75, 192, 192)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("blue")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(54, 162, 235)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("purple")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(153, 102, 255)'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("grey")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'rgb(201, 203, 207)'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("NAMED_COLORS")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("orange"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("green"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("purple"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("CHART_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("grey"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("namedColor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("NAMED_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("index "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("NAMED_COLORS")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("length"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("newDate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("days")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" DateTime"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("now")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("plus")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("days"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("toJSDate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("newDateString")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("days")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" DateTime"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("now")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("plus")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("days"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("toISO")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("parseISODate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" DateTime"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("fromISO")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("str"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/master/docs/scripts/utils.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("File on github"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"components"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#components"}},[t._v("#")]),t._v(" Components")]),t._v(" "),a("p",[t._v("Some of the samples make reference to a "),a("code",[t._v("components")]),t._v(" object. This is an artifact of using a module bundler to build the samples. The creation of that components object is shown below. If chart.js is included as a browser script, these items are accessible via the "),a("code",[t._v("Chart")]),t._v(" object, i.e "),a("code",[t._v("Chart.Tooltip")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Add Chart components needed in samples here.")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Usable through `components[name]`.")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Tooltip"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'../../dist/chart.mjs'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/master/docs/scripts/components.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("File on github"),a("OutboundLink")],1)])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/27.2d5c4a6b.js b/scriptApl/chart.js/dist/docs/assets/js/27.2d5c4a6b.js new file mode 100644 index 00000000..b8ec1c5d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/27.2d5c4a6b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{358:function(e,r,t){"use strict";t.r(r);var a=t(6),s=Object(a.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"interface-arcoptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-arcoptions"}},[e._v("#")]),e._v(" Interface: ArcOptions")]),e._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[e._v("#")]),e._v(" Hierarchy")]),e._v(" "),t("ul",[t("li",[t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t("code",[e._v("CommonElementOptions")])])],1),e._v(" "),t("p",[e._v("↳ "),t("strong",[t("code",[e._v("ArcOptions")])])])])]),e._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),t("h3",{attrs:{id:"backgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[e._v("#")]),e._v(" backgroundColor")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("backgroundColor")]),e._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[e._v("Color")])])],1),e._v(" "),t("h4",{attrs:{id:"inherited-from"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[e._v("#")]),e._v(" Inherited from")]),e._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[e._v("CommonElementOptions")]),e._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#backgroundcolor"}},[e._v("backgroundColor")])],1),e._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1696"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderalign"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderalign"}},[e._v("#")]),e._v(" borderAlign")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderAlign")]),e._v(": "),t("code",[e._v('"center"')]),e._v(" | "),t("code",[e._v('"inner"')])]),e._v(" "),t("p",[e._v("Arc stroke alignment.")]),e._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1732",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1732"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"bordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[e._v("#")]),e._v(" borderColor")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderColor")]),e._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[e._v("Color")])])],1),e._v(" "),t("h4",{attrs:{id:"inherited-from-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[e._v("#")]),e._v(" Inherited from")]),e._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[e._v("CommonElementOptions")]),e._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#bordercolor"}},[e._v("borderColor")])],1),e._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1695"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderjoinstyle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[e._v("#")]),e._v(" borderJoinStyle")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderJoinStyle")]),e._v(": "),t("code",[e._v("CanvasLineJoin")])]),e._v(" "),t("p",[e._v("Line join style. See MDN. Default is 'round' when "),t("code",[e._v("borderAlign")]),e._v(" is 'inner', else 'bevel'.")]),e._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1737",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1737"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderradius"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[e._v("#")]),e._v(" borderRadius")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderRadius")]),e._v(": "),t("code",[e._v("number")]),e._v(" | "),t("RouterLink",{attrs:{to:"/api/interfaces/ArcBorderRadius.html"}},[t("code",[e._v("ArcBorderRadius")])])],1),e._v(" "),t("p",[e._v("Sets the border radius for arcs")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("default")])]),e._v(" 0")]),e._v(" "),t("h4",{attrs:{id:"defined-in-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1743",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1743"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"borderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[e._v("#")]),e._v(" borderWidth")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("borderWidth")]),e._v(": "),t("code",[e._v("number")])]),e._v(" "),t("h4",{attrs:{id:"inherited-from-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[e._v("#")]),e._v(" Inherited from")]),e._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[e._v("CommonElementOptions")]),e._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#borderwidth"}},[e._v("borderWidth")])],1),e._v(" "),t("h4",{attrs:{id:"defined-in-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1694"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"circular"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#circular"}},[e._v("#")]),e._v(" circular")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("circular")]),e._v(": "),t("code",[e._v("boolean")])]),e._v(" "),t("p",[e._v("If false, Arc will be flat.")]),e._v(" "),t("p",[t("strong",[t("code",[e._v("default")])]),e._v(" true")]),e._v(" "),t("h4",{attrs:{id:"defined-in-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1754",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1754"),t("OutboundLink")],1)]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"offset"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[e._v("#")]),e._v(" offset")]),e._v(" "),t("p",[e._v("• "),t("strong",[e._v("offset")]),e._v(": "),t("code",[e._v("number")])]),e._v(" "),t("p",[e._v("Arc offset (in pixels).")]),e._v(" "),t("h4",{attrs:{id:"defined-in-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1748",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1748"),t("OutboundLink")],1)])])}),[],!1,null,null,null);r.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/28.72dee0f1.js b/scriptApl/chart.js/dist/docs/assets/js/28.72dee0f1.js new file mode 100644 index 00000000..465520cb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/28.72dee0f1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{359:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-arcprops"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-arcprops"}},[e._v("#")]),e._v(" Interface: ArcProps")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"circumference"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circumference"}},[e._v("#")]),e._v(" circumference")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("circumference")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1718",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1718"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"endangle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#endangle"}},[e._v("#")]),e._v(" endAngle")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("endAngle")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1715",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1715"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"innerradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#innerradius"}},[e._v("#")]),e._v(" innerRadius")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("innerRadius")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1716",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1716"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"outerradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#outerradius"}},[e._v("#")]),e._v(" outerRadius")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("outerRadius")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1717",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1717"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"startangle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#startangle"}},[e._v("#")]),e._v(" startAngle")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("startAngle")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1714",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1714"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[e._v("#")]),e._v(" x")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("x")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1712",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1712"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[e._v("#")]),e._v(" y")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("y")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1713",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1713"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/29.8820be26.js b/scriptApl/chart.js/dist/docs/assets/js/29.8820be26.js new file mode 100644 index 00000000..da50785f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/29.8820be26.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{360:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-barcontrollerchartoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-barcontrollerchartoptions"}},[t._v("#")]),t._v(" Interface: BarControllerChartOptions")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"skipnull"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#skipnull"}},[t._v("#")]),t._v(" skipNull")]),t._v(" "),r("p",[t._v("• "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("skipNull")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Should null or undefined values be omitted from drawing")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L142",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:142"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/3.947b8d98.js b/scriptApl/chart.js/dist/docs/assets/js/3.947b8d98.js new file mode 100644 index 00000000..35e77e0b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/3.947b8d98.js @@ -0,0 +1,14 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{276:function(t,e,i){!function(t){"use strict"; +/*! + * perfect-scrollbar v1.5.2 + * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors + * Licensed under MIT + */function e(t){return getComputedStyle(t)}function i(t,e){for(var i in e){var s=e[i];"number"==typeof s&&(s+="px"),t.style[i]=s}return t}function s(t){var e=document.createElement("div");return e.className=t,e}var r="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function a(t,e){if(!r)throw new Error("No element matching method supported");return r.call(t,e)}function n(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function o(t,e){return Array.prototype.filter.call(t.children,(function(t){return a(t,e)}))}var h="ps",l="ps__rtl",c={thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},p={focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}},u={x:null,y:null};function d(t,e){var i=t.element.classList,s=p.scrolling(e);i.contains(s)?clearTimeout(u[e]):i.add(s)}function f(t,e){u[e]=setTimeout((function(){return t.isAlive&&t.element.classList.remove(p.scrolling(e))}),t.settings.scrollingThreshold)}var m=function(t){this.element=t,this.handlers={}},g={isEmpty:{configurable:!0}};m.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},m.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter((function(s){return!(!e||s===e)||(i.element.removeEventListener(t,s,!1),!1)}))},m.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},g.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every((function(e){return 0===t.handlers[e].length}))},Object.defineProperties(m.prototype,g);var v=function(){this.eventElements=[]};function y(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}function x(t,e,i,s,r){var a;if(void 0===s&&(s=!0),void 0===r&&(r=!1),"top"===e)a=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");a=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,i,s,r){var a=i[0],n=i[1],o=i[2],h=i[3],l=i[4],c=i[5];void 0===s&&(s=!0),void 0===r&&(r=!1);var p=t.element;t.reach[h]=null,p[o]<1&&(t.reach[h]="start"),p[o]>t[a]-t[n]-1&&(t.reach[h]="end"),e&&(p.dispatchEvent(y("ps-scroll-"+h)),e<0?p.dispatchEvent(y("ps-scroll-"+l)):e>0&&p.dispatchEvent(y("ps-scroll-"+c)),s&&function(t,e){d(t,e),f(t,e)}(t,h)),t.reach[h]&&(e||r)&&p.dispatchEvent(y("ps-"+h+"-reach-"+t.reach[h]))}(t,i,a,s,r)}function b(t){return parseInt(t,10)||0}v.prototype.eventElement=function(t){var e=this.eventElements.filter((function(e){return e.element===t}))[0];return e||(e=new m(t),this.eventElements.push(e)),e},v.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},v.prototype.unbind=function(t,e,i){var s=this.eventElement(t);s.unbind(e,i),s.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(s),1)},v.prototype.unbindAll=function(){this.eventElements.forEach((function(t){return t.unbindAll()})),this.eventElements=[]},v.prototype.once=function(t,e,i){var s=this.eventElement(t),r=function(t){s.unbind(e,r),i(t)};s.bind(e,r)};var _={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function k(t){var e=t.element,s=Math.floor(e.scrollTop),r=e.getBoundingClientRect();t.containerWidth=Math.round(r.width),t.containerHeight=Math.round(r.height),t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(o(e,c.rail("x")).forEach((function(t){return n(t)})),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(o(e,c.rail("y")).forEach((function(t){return n(t)})),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var s={width:e.railXWidth},r=Math.floor(t.scrollTop);e.isRtl?s.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:s.left=t.scrollLeft,e.isScrollbarXUsingBottom?s.bottom=e.scrollbarXBottom-r:s.top=e.scrollbarXTop+r,i(e.scrollbarXRail,s);var a={top:r,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?a.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth-9:a.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?a.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:a.left=e.scrollbarYLeft+t.scrollLeft,i(e.scrollbarYRail,a),i(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),i(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(p.active("x")):(e.classList.remove(p.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=!0===t.isRtl?t.contentWidth:0),t.scrollbarYActive?e.classList.add(p.active("y")):(e.classList.remove(p.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)}function w(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function S(t,e){var i=e[0],s=e[1],r=e[2],a=e[3],n=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=t.element,m=null,g=null,v=null;function y(e){e.touches&&e.touches[0]&&(e[r]=e.touches[0].pageY),u[h]=m+v*(e[r]-g),d(t,l),k(t),e.stopPropagation(),e.preventDefault()}function x(){f(t,l),t[c].classList.remove(p.clicking),t.event.unbind(t.ownerDocument,"mousemove",y)}function b(e,n){m=u[h],n&&e.touches&&(e[r]=e.touches[0].pageY),g=e[r],v=(t[s]-t[i])/(t[a]-t[o]),n?t.event.bind(t.ownerDocument,"touchmove",y):(t.event.bind(t.ownerDocument,"mousemove",y),t.event.once(t.ownerDocument,"mouseup",x),e.preventDefault()),t[c].classList.add(p.clicking),e.stopPropagation()}t.event.bind(t[n],"mousedown",(function(t){b(t)})),t.event.bind(t[n],"touchstart",(function(t){b(t,!0)}))}var C={"click-rail":function(t){t.element,t.event.bind(t.scrollbarY,"mousedown",(function(t){return t.stopPropagation()})),t.event.bind(t.scrollbarYRail,"mousedown",(function(e){var i=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top>t.scrollbarYTop?1:-1;t.element.scrollTop+=i*t.containerHeight,k(t),e.stopPropagation()})),t.event.bind(t.scrollbarX,"mousedown",(function(t){return t.stopPropagation()})),t.event.bind(t.scrollbarXRail,"mousedown",(function(e){var i=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=i*t.containerWidth,k(t),e.stopPropagation()}))},"drag-thumb":function(t){S(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),S(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",(function(i){if(!(i.isDefaultPrevented&&i.isDefaultPrevented()||i.defaultPrevented)&&(a(e,":hover")||a(t.scrollbarX,":focus")||a(t.scrollbarY,":focus"))){var s,r=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(r){if("IFRAME"===r.tagName)r=r.contentDocument.activeElement;else for(;r.shadowRoot;)r=r.shadowRoot.activeElement;if(a(s=r,"input,[contenteditable]")||a(s,"select,[contenteditable]")||a(s,"textarea,[contenteditable]")||a(s,"button,[contenteditable]"))return}var n=0,o=0;switch(i.which){case 37:n=i.metaKey?-t.contentWidth:i.altKey?-t.containerWidth:-30;break;case 38:o=i.metaKey?t.contentHeight:i.altKey?t.containerHeight:30;break;case 39:n=i.metaKey?t.contentWidth:i.altKey?t.containerWidth:30;break;case 40:o=i.metaKey?-t.contentHeight:i.altKey?-t.containerHeight:-30;break;case 32:o=i.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:o=t.containerHeight;break;case 34:o=-t.containerHeight;break;case 36:o=t.contentHeight;break;case 35:o=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==n||t.settings.suppressScrollY&&0!==o||(e.scrollTop-=o,e.scrollLeft+=n,k(t),function(i,s){var r=Math.floor(e.scrollTop);if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&s>0||r>=t.contentHeight-t.containerHeight&&s<0)return!t.settings.wheelPropagation}var a=e.scrollLeft;if(0===s){if(!t.scrollbarXActive)return!1;if(0===a&&i<0||a>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(n,o)&&i.preventDefault())}}))},wheel:function(t){var i=t.element;function s(s){var r=function(t){var e=t.deltaX,i=-1*t.deltaY;return void 0!==e&&void 0!==i||(e=-1*t.wheelDeltaX/6,i=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,i*=10),e!=e&&i!=i&&(e=0,i=t.wheelDelta),t.shiftKey?[-i,-e]:[e,i]}(s),a=r[0],n=r[1];if(!function(t,s,r){if(!_.isWebKit&&i.querySelector("select:focus"))return!0;if(!i.contains(t))return!1;for(var a=t;a&&a!==i;){if(a.classList.contains(c.consuming))return!0;var n=e(a);if(r&&n.overflowY.match(/(scroll|auto)/)){var o=a.scrollHeight-a.clientHeight;if(o>0&&(a.scrollTop>0&&r<0||a.scrollTop0))return!0}if(s&&n.overflowX.match(/(scroll|auto)/)){var h=a.scrollWidth-a.clientWidth;if(h>0&&(a.scrollLeft>0&&s<0||a.scrollLeft0))return!0}a=a.parentNode}return!1}(s.target,a,n)){var o=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(n?i.scrollTop-=n*t.settings.wheelSpeed:i.scrollTop+=a*t.settings.wheelSpeed,o=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(a?i.scrollLeft+=a*t.settings.wheelSpeed:i.scrollLeft-=n*t.settings.wheelSpeed,o=!0):(i.scrollTop-=n*t.settings.wheelSpeed,i.scrollLeft+=a*t.settings.wheelSpeed),k(t),(o=o||function(e,s){var r=Math.floor(i.scrollTop),a=0===i.scrollTop,n=r+i.offsetHeight===i.scrollHeight,o=0===i.scrollLeft,h=i.scrollLeft+i.offsetWidth===i.scrollWidth;return!(Math.abs(s)>Math.abs(e)?a||n:o||h)||!t.settings.wheelPropagation}(a,n))&&!s.ctrlKey&&(s.stopPropagation(),s.preventDefault())}}void 0!==window.onwheel?t.event.bind(i,"wheel",s):void 0!==window.onmousewheel&&t.event.bind(i,"mousewheel",s)},touch:function(t){if(_.supportsTouch||_.supportsIePointer){var i=t.element,s={},r=0,a={},n=null;_.supportsTouch?(t.event.bind(i,"touchstart",p),t.event.bind(i,"touchmove",u),t.event.bind(i,"touchend",d)):_.supportsIePointer&&(window.PointerEvent?(t.event.bind(i,"pointerdown",p),t.event.bind(i,"pointermove",u),t.event.bind(i,"pointerup",d)):window.MSPointerEvent&&(t.event.bind(i,"MSPointerDown",p),t.event.bind(i,"MSPointerMove",u),t.event.bind(i,"MSPointerUp",d)))}function o(e,s){i.scrollTop-=s,i.scrollLeft-=e,k(t)}function h(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return!(t.pointerType&&"pen"===t.pointerType&&0===t.buttons||(!t.targetTouches||1!==t.targetTouches.length)&&(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function p(t){if(l(t)){var e=h(t);s.pageX=e.pageX,s.pageY=e.pageY,r=(new Date).getTime(),null!==n&&clearInterval(n)}}function u(n){if(l(n)){var p=h(n),u={pageX:p.pageX,pageY:p.pageY},d=u.pageX-s.pageX,f=u.pageY-s.pageY;if(function(t,s,r){if(!i.contains(t))return!1;for(var a=t;a&&a!==i;){if(a.classList.contains(c.consuming))return!0;var n=e(a);if(r&&n.overflowY.match(/(scroll|auto)/)){var o=a.scrollHeight-a.clientHeight;if(o>0&&(a.scrollTop>0&&r<0||a.scrollTop0))return!0}if(s&&n.overflowX.match(/(scroll|auto)/)){var h=a.scrollWidth-a.clientWidth;if(h>0&&(a.scrollLeft>0&&s<0||a.scrollLeft0))return!0}a=a.parentNode}return!1}(n.target,d,f))return;o(d,f),s=u;var m=(new Date).getTime(),g=m-r;g>0&&(a.x=d/g,a.y=f/g,r=m),function(e,s){var r=Math.floor(i.scrollTop),a=i.scrollLeft,n=Math.abs(e),o=Math.abs(s);if(o>n){if(s<0&&r===t.contentHeight-t.containerHeight||s>0&&0===r)return 0===window.scrollY&&s>0&&_.isChrome}else if(n>o&&(e<0&&a===t.contentWidth-t.containerWidth||e>0&&0===a))return!0;return!0}(d,f)&&n.preventDefault()}}function d(){t.settings.swipeEasing&&(clearInterval(n),n=setInterval((function(){t.isInitialized?clearInterval(n):a.x||a.y?Math.abs(a.x)<.01&&Math.abs(a.y)<.01?clearInterval(n):t.element?(o(30*a.x,30*a.y),a.x*=.8,a.y*=.8):clearInterval(n):clearInterval(n)}),10))}}},E=function(t,r){var a=this;if(void 0===r&&(r={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var n in this.element=t,t.classList.add(h),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},r)this.settings[n]=r[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var o,u,d=function(){return t.classList.add(p.focus)},f=function(){return t.classList.remove(p.focus)};this.isRtl="rtl"===e(t).direction,!0===this.isRtl&&t.classList.add(l),this.isNegativeScroll=(u=t.scrollLeft,t.scrollLeft=-1,o=t.scrollLeft<0,t.scrollLeft=u,o),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new v,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=s(c.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=s(c.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",d),this.event.bind(this.scrollbarX,"blur",f),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var m=e(this.scrollbarXRail);this.scrollbarXBottom=parseInt(m.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=b(m.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=b(m.borderLeftWidth)+b(m.borderRightWidth),i(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=b(m.marginLeft)+b(m.marginRight),i(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=s(c.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=s(c.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",d),this.event.bind(this.scrollbarY,"blur",f),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var g=e(this.scrollbarYRail);this.scrollbarYRight=parseInt(g.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=b(g.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var i=e(t);return b(i.width)+b(i.paddingLeft)+b(i.paddingRight)+b(i.borderLeftWidth)+b(i.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=b(g.borderTopWidth)+b(g.borderBottomWidth),i(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=b(g.marginTop)+b(g.marginBottom),i(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach((function(t){return C[t](a)})),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",(function(t){return a.onScroll(t)})),k(this)};E.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,i(this.scrollbarXRail,{display:"block"}),i(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=b(e(this.scrollbarXRail).marginLeft)+b(e(this.scrollbarXRail).marginRight),this.railYMarginHeight=b(e(this.scrollbarYRail).marginTop)+b(e(this.scrollbarYRail).marginBottom),i(this.scrollbarXRail,{display:"none"}),i(this.scrollbarYRail,{display:"none"}),k(this),x(this,"top",0,!1,!0),x(this,"left",0,!1,!0),i(this.scrollbarXRail,{display:""}),i(this.scrollbarYRail,{display:""}))},E.prototype.onScroll=function(t){this.isAlive&&(k(this),x(this,"top",this.element.scrollTop-this.lastScrollTop),x(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},E.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),n(this.scrollbarX),n(this.scrollbarY),n(this.scrollbarXRail),n(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},E.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter((function(t){return!t.match(/^ps([-_].+|)$/)})).join(" ")};var A={name:"PerfectScrollbar",props:{options:{type:Object,required:!1,default:function(){}},tag:{type:String,required:!1,default:"div"},watchOptions:{type:Boolean,required:!1,default:!1}},data:function(){return{ps:null}},watch:{watchOptions:function(t){!t&&this.watcher?this.watcher():this.createWatcher()}},mounted:function(){this.create(),this.watchOptions&&this.createWatcher()},updated:function(){var t=this;this.$nextTick((function(){t.update()}))},beforeDestroy:function(){this.destroy()},methods:{create:function(){this.ps&&this.$isServer||(this.ps=new E(this.$refs.container,this.options))},createWatcher:function(){var t=this;this.watcher=this.$watch("options",(function(){t.destroy(),t.create()}),{deep:!0})},update:function(){this.ps&&this.ps.update()},destroy:function(){this.ps&&(this.ps.destroy(),this.ps=null)}},render:function(t){return t(this.tag,{ref:"container",class:"ps",on:this.$listeners},this.$slots.default)}};function P(t,e){e&&(e.name&&"string"==typeof e.name&&(A.name=e.name),e.options&&"object"==typeof e.options&&(A.props.options.default=function(){return e.options}),e.tag&&"string"==typeof e.tag&&(A.props.tag.default=e.tag),e.watchOptions&&"boolean"==typeof e.watchOptions&&(A.props.watchOptions=e.watchOptions)),t.component(A.name,A)}t.install=P,t.PerfectScrollbar=A,t.default=P,Object.defineProperty(t,"__esModule",{value:!0})}(e)},290:function(t,e,i){},291:function(t,e,i){},292:function(t,e,i){},293:function(t,e,i){},294:function(t,e,i){},295:function(t,e,i){},322:function(t,e,i){"use strict";i(290)},323:function(t,e,i){"use strict";i(291)},324:function(t,e,i){var s=function(t){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,s={},r={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(e){return e instanceof a?new a(e.type,t(e.content),e.alias):Array.isArray(e)?e.map(t):e.replace(/&/g,"&").replace(/=p.reach);w+=k.value.length,k=k.next){var S=k.value;if(i.length>e.length)return;if(!(S instanceof a)){var C,E=1;if(y){if(!(C=n(_,w,e,v))||C.index>=e.length)break;var A=C.index,P=C.index+C[0].length,I=w;for(I+=k.value.length;A>=I;)k=k.next,I+=k.value.length;if(I-=k.value.length,w=I,k.value instanceof a)continue;for(var L=k;L!==i.tail&&(Ip.reach&&(p.reach=V);var M=k.prev;N&&(M=h(i,M,N),w+=N.length),l(i,M,E);var O=new a(u,g?r.tokenize(T,g):T,x,T);if(k=h(i,M,O),R&&h(i,k,R),E>1){var D={cause:u+","+f,reach:V};t(e,i,s,k.prev,w,D),p&&D.reach>p.reach&&(p.reach=D.reach)}}}}}}(t,c,e,c.head,0),function(t){var e=[],i=t.head.next;for(;i!==t.tail;)e.push(i.value),i=i.next;return e}(c)},hooks:{all:{},add:function(t,e){var i=r.hooks.all;i[t]=i[t]||[],i[t].push(e)},run:function(t,e){var i=r.hooks.all[t];if(i&&i.length)for(var s,a=0;s=i[a++];)s(e)}},Token:a};function a(t,e,i,s){this.type=t,this.content=e,this.alias=i,this.length=0|(s||"").length}function n(t,e,i,s){t.lastIndex=e;var r=t.exec(i);if(r&&s&&r[1]){var a=r[1].length;r.index+=a,r[0]=r[0].slice(a)}return r}function o(){var t={value:null,prev:null,next:null},e={value:null,prev:t,next:null};t.next=e,this.head=t,this.tail=e,this.length=0}function h(t,e,i){var s=e.next,r={value:i,prev:e,next:s};return e.next=r,s.prev=r,t.length++,r}function l(t,e,i){for(var s=e.next,r=0;r"+a.content+""},!t.document)return t.addEventListener?(r.disableWorkerMessageHandler||t.addEventListener("message",(function(e){var i=JSON.parse(e.data),s=i.language,a=i.code,n=i.immediateClose;t.postMessage(r.highlight(a,r.languages[s],s)),n&&t.close()}),!1),r):r;var c=r.util.currentScript();function p(){r.manual||r.highlightAll()}if(c&&(r.filename=c.src,c.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var u=document.readyState;"loading"===u||"interactive"===u&&c&&c.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return r}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}); +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public + */t.exports&&(t.exports=s),"undefined"!=typeof global&&(global.Prism=s)},325:function(t,e){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},326:function(t,e){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript},327:function(t,e,i){},328:function(t,e,i){"use strict";i(292)},329:function(t,e,i){"use strict";i(293)},330:function(t,e,i){"use strict";i(294)},331:function(t,e,i){"use strict";i(295)},336:function(t,e,i){"use strict";i.r(e);i(9);var s=i(5),r={props:{actions:{type:Array,default:()=>[]}},methods:{onClick(t){this.$emit("action",t)}}},a=(i(322),i(6)),n=Object(a.a)(r,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"chart-actions"},t._l(t.actions,(function(e,s){return i("a",{key:s,staticClass:"chart-action",on:{click:function(i){return t.onClick(e)}}},[t._v("\n "+t._s(e.name)+"\n ")])})),0)}),[],!1,null,"2afd21f1",null).exports,o={props:{config:{type:Object,default:null}},watch:{config:"update"},mounted(){this.update()},methods:{chart(){return this._chart},update(){const t=this.config,e=this.$refs.canvas;e&&this.config&&(this._chart?(this._chart.stop(),this._chart.data=t.data||{},this._chart.options=t.options||{},this._chart.update()):(this._chart=new s.b(e,{...t}),this.$emit("initialized")))}}},h=Object(a.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"chart-view"},[e("canvas",{ref:"canvas"})])}),[],!1,null,null,null).exports,l={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},c="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",p={5:c,"5module":c+" export import",6:c+" const class extends export import super"},u=/^in(stanceof)?$/,d="ªµºÀ-ÖØ-öø-ˈ-Ë‘Ë -ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ÒÒŠ-Ô¯Ô±-Õ–Õ™Õ -Öˆ×-תׯ-ײؠ-يٮٯٱ-Û“Û•Û¥Û¦Û®Û¯Ûº-Û¼Û¿ÜÜ’-ܯÝ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽà¥à¥˜-ॡॱ-ঀঅ-ঌà¦à¦à¦“-নপ-রলশ-হঽৎড়à§à§Ÿ-ৡৰৱৼਅ-ਊà¨à¨à¨“-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-àªàª-ઑઓ-નપ-રલળવ-હઽà«à« à«¡à«¹à¬…-ଌà¬à¬à¬“-ନପ-ରଲଳଵ-ହଽଡ଼à­à­Ÿ-ୡୱஃஅ-ஊஎ-à®à®’-கஙசஜஞடணதந-பம-ஹà¯à°…-ఌఎ-à°à°’-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-à²à²’-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-à´à´’-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-à·†à¸-ะาำเ-ๆàºàº‚ຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿá-á•áš-áá¡á¥á¦á®-á°áµ-á‚á‚Žá‚ -ჅჇáƒáƒ-ჺჼ-ቈቊ-á‰á‰-ቖቘቚ-á‰á‰ -ኈኊ-áŠáŠ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-áŒáŒ’-ጕጘ-ášáŽ€-áŽáŽ -áµá¸-á½á-ᙬᙯ-ᙿáš-áššáš -ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱá€-á‘á -á¬á®-á°áž€-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞá¥-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-á°£á±-á±á±š-ᱽᲀ-ᲈá²-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-á¼á¼ -ὅὈ-á½á½-ὗὙὛá½á½Ÿ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-á¿Œá¿-á¿“á¿–-Ίῠ-Ῥῲ-ῴῶ-ῼâ±â¿â‚-ₜℂℇℊ-ℓℕ℘-â„ℤΩℨK-ℹℼ-â„¿â……-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-â·Žâ·-â·–â·˜-ⷞ々-〇〡-〩〱-〵〸-〼ã-ã‚–ã‚›-ã‚Ÿã‚¡-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿã€-䶿一-鿼ꀀ-ê’Œê“-ꓽꔀ-ꘌê˜-ꘟꘪꘫꙀ-ꙮꙿ-êšêš -ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ê ê ƒ-ê …ê ‡-ê Šê Œ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲê§ê§ -ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ê©‚ê©„-ê©‹ê© -ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ê«ê« -ꫪꫲ-ê«´ê¬-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ê­šê­œ-ê­©ê­°-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-ï©­ï©°-龎ff-stﬓ-ﬗï¬ï¬Ÿ-ﬨשׁ-זּטּ-לּמּנּï­ï­ƒï­„ï­†-ﮱﯓ-ï´½ïµ-ï¶ï¶’-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Zï½-zヲ-하-ᅦᅧ-ï¿ï¿’-ï¿—ï¿š-ï¿œ",f="‌â€Â·Ì€-ͯ·҃-Ò‡Ö‘-Ö½Ö¿×ׇׂׅׄØ-ØšÙ‹-٩ٰۖ-ۜ۟-Û¤Û§Û¨Ûª-Û­Û°-۹ܑܰ-ÝŠÞ¦-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-à ­à¡™-࡛࣓-ࣣ࣡-ःऺ-़ा-à¥à¥‘-ॗॢॣ०-९à¦-ঃ়া-ৄেৈো-à§à§—ৢৣ০-৯৾à¨-ਃ਼ਾ-ੂੇੈੋ-à©à©‘੦-ੱੵàª-ઃ઼ા-ૅે-ૉો-à«à«¢à«£à«¦-૯ૺ-à«¿à¬-ଃ଼ା-ୄେୈୋ-à­à­•-ୗୢୣ୦-୯ஂா-ூெ-ைொ-à¯à¯—௦-௯ఀ-à°„à°¾-ౄె-ైొ-à±à±•à±–ౢౣ౦-౯à²-ಃ಼ಾ-ೄೆ-ೈೊ-à³à³•à³–ೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-àµàµ—ൢൣ൦-൯à¶-ඃ්à·-ුූෘ-à·Ÿà·¦-෯ෲෳัิ-ฺ็-๎à¹-๙ັິ-ຼ່-à»à»-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇à¾-ྗྙ-ྼ࿆ါ-ှá€-á‰á–-á™áž-á á¢-á¤á§-á­á±-á´á‚‚-á‚á‚-á‚á-áŸá©-á±áœ’-᜔ᜲ-᜴á’á“á²á³áž´-៓áŸáŸ -៩᠋-á á -᠙ᢩᤠ-ᤫᤰ-᤻᥆-á¥á§-᧚ᨗ-ᨛᩕ-á©žá© -᩿᩼-᪉áª-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-á­„á­-᭙᭫-᭳ᮀ-ᮂᮡ-á®­á®°-᮹᯦-᯳ᰤ-á°·á±€-᱉á±-á±™á³-á³’á³”-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿â€â”âƒ-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀê¢ê¢´-ꣅê£-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ê§-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌê©ê©-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿ê«ê««-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-ï¸ï¸ -︯︳︴ï¹-ï¹ï¼-9_",m=new RegExp("["+d+"]"),g=new RegExp("["+d+f+"]");d=f=null;var v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],y=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function x(t,e){for(var i=65536,s=0;st)return!1;if((i+=e[s+1])>=t)return!0}}function b(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&m.test(String.fromCharCode(t)):!1!==e&&x(t,v)))}function _(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&g.test(String.fromCharCode(t)):!1!==e&&(x(t,v)||x(t,y)))))}var k=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function w(t,e){return new k(t,{beforeExpr:!0,binop:e})}var S={beforeExpr:!0},C={startsExpr:!0},E={};function A(t,e){return void 0===e&&(e={}),e.keyword=t,E[t]=new k(t,e)}var P={num:new k("num",C),regexp:new k("regexp",C),string:new k("string",C),name:new k("name",C),privateId:new k("privateId",C),eof:new k("eof"),bracketL:new k("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new k("]"),braceL:new k("{",{beforeExpr:!0,startsExpr:!0}),braceR:new k("}"),parenL:new k("(",{beforeExpr:!0,startsExpr:!0}),parenR:new k(")"),comma:new k(",",S),semi:new k(";",S),colon:new k(":",S),dot:new k("."),question:new k("?",S),questionDot:new k("?."),arrow:new k("=>",S),template:new k("template"),invalidTemplate:new k("invalidTemplate"),ellipsis:new k("...",S),backQuote:new k("`",C),dollarBraceL:new k("${",{beforeExpr:!0,startsExpr:!0}),eq:new k("=",{beforeExpr:!0,isAssign:!0}),assign:new k("_=",{beforeExpr:!0,isAssign:!0}),incDec:new k("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new k("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:w("||",1),logicalAND:w("&&",2),bitwiseOR:w("|",3),bitwiseXOR:w("^",4),bitwiseAND:w("&",5),equality:w("==/!=/===/!==",6),relational:w("/<=/>=",7),bitShift:w("<>/>>>",8),plusMin:new k("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:w("%",10),star:w("*",10),slash:w("/",10),starstar:new k("**",{beforeExpr:!0}),coalesce:w("??",1),_break:A("break"),_case:A("case",S),_catch:A("catch"),_continue:A("continue"),_debugger:A("debugger"),_default:A("default",S),_do:A("do",{isLoop:!0,beforeExpr:!0}),_else:A("else",S),_finally:A("finally"),_for:A("for",{isLoop:!0}),_function:A("function",C),_if:A("if"),_return:A("return",S),_switch:A("switch"),_throw:A("throw",S),_try:A("try"),_var:A("var"),_const:A("const"),_while:A("while",{isLoop:!0}),_with:A("with"),_new:A("new",{beforeExpr:!0,startsExpr:!0}),_this:A("this",C),_super:A("super",C),_class:A("class",C),_extends:A("extends",S),_export:A("export"),_import:A("import",C),_null:A("null",C),_true:A("true",C),_false:A("false",C),_in:A("in",{beforeExpr:!0,binop:7}),_instanceof:A("instanceof",{beforeExpr:!0,binop:7}),_typeof:A("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:A("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:A("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},I=/\r\n?|\n|\u2028|\u2029/,L=new RegExp(I.source,"g");function T(t){return 10===t||13===t||8232===t||8233===t}var N=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,R=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,V=Object.prototype,M=V.hasOwnProperty,O=V.toString;function D(t,e){return M.call(t,e)}var B=Array.isArray||function(t){return"[object Array]"===O.call(t)};function F(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var W=function(t,e){this.line=t,this.column=e};W.prototype.offset=function(t){return new W(this.line,this.column+t)};var H=function(t,e,i){this.start=e,this.end=i,null!==t.sourceFile&&(this.source=t.sourceFile)};function Y(t,e){for(var i=1,s=0;;){L.lastIndex=s;var r=L.exec(t);if(!(r&&r.index=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),B(e.onToken)){var s=e.onToken;e.onToken=function(t){return s.push(t)}}return B(e.onComment)&&(e.onComment=function(t,e){return function(i,s,r,a,n,o){var h={type:i?"Block":"Line",value:s,start:r,end:a};t.locations&&(h.loc=new H(this,n,o)),t.ranges&&(h.range=[r,a]),e.push(h)}}(e,e.onComment)),e}function $(t,e){return 2|(t?4:0)|(e?8:0)}var K=function(t,e,i){this.options=t=U(t),this.sourceFile=t.sourceFile,this.keywords=F(p[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var s="";!0!==t.allowReserved&&(s=l[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(s+=" await")),this.reservedWords=F(s);var r=(s?s+" ":"")+l.strict;this.reservedWordsStrict=F(r),this.reservedWordsStrictBind=F(r+" "+l.strictBind),this.input=String(e),this.containsEsc=!1,i?(this.pos=i,this.lineStart=this.input.lastIndexOf("\n",i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(I).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=P.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},q={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};K.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},q.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},q.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},q.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},q.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t];if(e.inClassFieldInit||256&e.flags)return!1;if(2&e.flags)return(4&e.flags)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},q.allowSuper.get=function(){var t=this.currentThisScope(),e=t.flags,i=t.inClassFieldInit;return(64&e)>0||i||this.options.allowSuperOutsideMethod},q.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},q.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},q.allowNewDotTarget.get=function(){var t=this.currentThisScope(),e=t.flags,i=t.inClassFieldInit;return(258&e)>0||i},q.inClassStaticBlock.get=function(){return(256&this.currentVarScope().flags)>0},K.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var i=this,s=0;s=,?^&]/.test(r)||"!"===r&&"="===this.input.charAt(s+1))}t+=e[0].length,R.lastIndex=t,t+=R.exec(this.input)[0].length,";"===this.input[t]&&t++}},G.eat=function(t){return this.type===t&&(this.next(),!0)},G.isContextual=function(t){return this.type===P.name&&this.value===t&&!this.containsEsc},G.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},G.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},G.canInsertSemicolon=function(){return this.type===P.eof||this.type===P.braceR||I.test(this.input.slice(this.lastTokEnd,this.start))},G.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},G.semicolon=function(){this.eat(P.semi)||this.insertSemicolon()||this.unexpected()},G.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},G.expect=function(t){this.eat(t)||this.unexpected()},G.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},G.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var i=e?t.parenthesizedAssign:t.parenthesizedBind;i>-1&&this.raiseRecoverable(i,"Parenthesized pattern")}},G.checkExpressionErrors=function(t,e){if(!t)return!1;var i=t.shorthandAssign,s=t.doubleProto;if(!e)return i>=0||s>=0;i>=0&&this.raise(i,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},G.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(t)return!1;if(123===s)return!0;if(b(s,!0)){for(var r=i+1;_(s=this.input.charCodeAt(r),!0);)++r;if(92===s||s>55295&&s<56320)return!0;var a=this.input.slice(i,r);if(!u.test(a))return!0}return!1},Z.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;R.lastIndex=this.pos;var t,e=R.exec(this.input),i=this.pos+e[0].length;return!(I.test(this.input.slice(this.pos,i))||"function"!==this.input.slice(i,i+8)||i+8!==this.input.length&&(_(t=this.input.charCodeAt(i+8))||t>55295&&t<56320))},Z.parseStatement=function(t,e,i){var s,r=this.type,a=this.startNode();switch(this.isLet(t)&&(r=P._var,s="let"),r){case P._break:case P._continue:return this.parseBreakContinueStatement(a,r.keyword);case P._debugger:return this.parseDebuggerStatement(a);case P._do:return this.parseDoStatement(a);case P._for:return this.parseForStatement(a);case P._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(a,!1,!t);case P._class:return t&&this.unexpected(),this.parseClass(a,!0);case P._if:return this.parseIfStatement(a);case P._return:return this.parseReturnStatement(a);case P._switch:return this.parseSwitchStatement(a);case P._throw:return this.parseThrowStatement(a);case P._try:return this.parseTryStatement(a);case P._const:case P._var:return s=s||this.value,t&&"var"!==s&&this.unexpected(),this.parseVarStatement(a,s);case P._while:return this.parseWhileStatement(a);case P._with:return this.parseWithStatement(a);case P.braceL:return this.parseBlock(!0,a);case P.semi:return this.parseEmptyStatement(a);case P._export:case P._import:if(this.options.ecmaVersion>10&&r===P._import){R.lastIndex=this.pos;var n=R.exec(this.input),o=this.pos+n[0].length,h=this.input.charCodeAt(o);if(40===h||46===h)return this.parseExpressionStatement(a,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===P._import?this.parseImport(a):this.parseExport(a,i);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(a,!0,!t);var l=this.value,c=this.parseExpression();return r===P.name&&"Identifier"===c.type&&this.eat(P.colon)?this.parseLabeledStatement(a,l,c,t):this.parseExpressionStatement(a,c)}},Z.parseBreakContinueStatement=function(t,e){var i="break"===e;this.next(),this.eat(P.semi)||this.insertSemicolon()?t.label=null:this.type!==P.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(P.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},Z.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(J),this.enterScope(0),this.expect(P.parenL),this.type===P.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var i=this.isLet();if(this.type===P._var||this.type===P._const||i){var s=this.startNode(),r=i?"let":this.value;return this.next(),this.parseVar(s,!0,r),this.finishNode(s,"VariableDeclaration"),(this.type===P._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===s.declarations.length?(this.options.ecmaVersion>=9&&(this.type===P._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,s)):(e>-1&&this.unexpected(e),this.parseFor(t,s))}var a=this.isContextual("let"),n=!1,o=new Q,h=this.parseExpression(!(e>-1)||"await",o);return this.type===P._in||(n=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===P._in?e>-1&&this.unexpected(e):t.await=e>-1),a&&n&&this.raise(h.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(h,!1,o),this.checkLValPattern(h),this.parseForIn(t,h)):(this.checkExpressionErrors(o,!0),e>-1&&this.unexpected(e),this.parseFor(t,h))},Z.parseFunctionStatement=function(t,e,i){return this.next(),this.parseFunction(t,it|(i?0:st),!1,e)},Z.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(P._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},Z.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(P.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},Z.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(P.braceL),this.labels.push(tt),this.enterScope(0);for(var i=!1;this.type!==P.braceR;)if(this.type===P._case||this.type===P._default){var s=this.type===P._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),s?e.test=this.parseExpression():(i&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),i=!0,e.test=null),this.expect(P.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},Z.parseThrowStatement=function(t){return this.next(),I.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var et=[];Z.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===P._catch){var e=this.startNode();if(this.next(),this.eat(P.parenL)){e.param=this.parseBindingAtom();var i="Identifier"===e.param.type;this.enterScope(i?32:0),this.checkLValPattern(e.param,i?4:2),this.expect(P.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(P._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},Z.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},Z.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(J),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},Z.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},Z.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},Z.parseLabeledStatement=function(t,e,i,s){for(var r=0,a=this.labels;r=0;o--){var h=this.labels[o];if(h.statementStart!==t.start)break;h.statementStart=this.start,h.kind=n}return this.labels.push({name:e,kind:n,statementStart:this.start}),t.body=this.parseStatement(s?-1===s.indexOf("label")?s+"label":s:"label"),this.labels.pop(),t.label=i,this.finishNode(t,"LabeledStatement")},Z.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},Z.parseBlock=function(t,e,i){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(P.braceL),t&&this.enterScope(0);this.type!==P.braceR;){var s=this.parseStatement(null);e.body.push(s)}return i&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},Z.parseFor=function(t,e){return t.init=e,this.expect(P.semi),t.test=this.type===P.semi?null:this.parseExpression(),this.expect(P.semi),t.update=this.type===P.parenR?null:this.parseExpression(),this.expect(P.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},Z.parseForIn=function(t,e){var i=this.type===P._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!i||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(i?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=i?this.parseExpression():this.parseMaybeAssign(),this.expect(P.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,i?"ForInStatement":"ForOfStatement")},Z.parseVar=function(t,e,i){for(t.declarations=[],t.kind=i;;){var s=this.startNode();if(this.parseVarId(s,i),this.eat(P.eq)?s.init=this.parseMaybeAssign(e):"const"!==i||this.type===P._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===s.id.type||e&&(this.type===P._in||this.isContextual("of"))?s.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(P.comma))break}return t},Z.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var it=1,st=2;function rt(t,e){var i=e.key.name,s=t[i],r="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(r=(e.static?"s":"i")+e.kind),"iget"===s&&"iset"===r||"iset"===s&&"iget"===r||"sget"===s&&"sset"===r||"sset"===s&&"sget"===r?(t[i]="true",!1):!!s||(t[i]=r,!1)}function at(t,e){var i=t.computed,s=t.key;return!i&&("Identifier"===s.type&&s.name===e||"Literal"===s.type&&s.value===e)}Z.parseFunction=function(t,e,i,s,r){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===P.star&&e&st&&this.unexpected(),t.generator=this.eat(P.star)),this.options.ecmaVersion>=8&&(t.async=!!s),e&it&&(t.id=4&e&&this.type!==P.name?null:this.parseIdent(),!t.id||e&st||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var a=this.yieldPos,n=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope($(t.async,t.generator)),e&it||(t.id=this.type===P.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,i,!1,r),this.yieldPos=a,this.awaitPos=n,this.awaitIdentPos=o,this.finishNode(t,e&it?"FunctionDeclaration":"FunctionExpression")},Z.parseFunctionParams=function(t){this.expect(P.parenL),t.params=this.parseBindingList(P.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Z.parseClass=function(t,e){this.next();var i=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var s=this.enterClassBody(),r=this.startNode(),a=!1;for(r.body=[],this.expect(P.braceL);this.type!==P.braceR;){var n=this.parseClassElement(null!==t.superClass);n&&(r.body.push(n),"MethodDefinition"===n.type&&"constructor"===n.kind?(a&&this.raise(n.start,"Duplicate constructor in the same class"),a=!0):n.key&&"PrivateIdentifier"===n.key.type&&rt(s,n)&&this.raiseRecoverable(n.key.start,"Identifier '#"+n.key.name+"' has already been declared"))}return this.strict=i,this.next(),t.body=this.finishNode(r,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},Z.parseClassElement=function(t){if(this.eat(P.semi))return null;var e=this.options.ecmaVersion,i=this.startNode(),s="",r=!1,a=!1,n="method",o=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(P.braceL))return this.parseClassStaticBlock(i),i;this.isClassElementNameStart()||this.type===P.star?o=!0:s="static"}if(i.static=o,!s&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==P.star||this.canInsertSemicolon()?s="async":a=!0),!s&&(e>=9||!a)&&this.eat(P.star)&&(r=!0),!s&&!a&&!r){var h=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?n=h:s=h)}if(s?(i.computed=!1,i.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),i.key.name=s,this.finishNode(i.key,"Identifier")):this.parseClassElementName(i),e<13||this.type===P.parenL||"method"!==n||r||a){var l=!i.static&&at(i,"constructor"),c=l&&t;l&&"method"!==n&&this.raise(i.key.start,"Constructor can't have get/set modifier"),i.kind=l?"constructor":n,this.parseClassMethod(i,r,a,c)}else this.parseClassField(i);return i},Z.isClassElementNameStart=function(){return this.type===P.name||this.type===P.privateId||this.type===P.num||this.type===P.string||this.type===P.bracketL||this.type.keyword},Z.parseClassElementName=function(t){this.type===P.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},Z.parseClassMethod=function(t,e,i,s){var r=t.key;"constructor"===t.kind?(e&&this.raise(r.start,"Constructor can't be a generator"),i&&this.raise(r.start,"Constructor can't be an async method")):t.static&&at(t,"prototype")&&this.raise(r.start,"Classes may not have a static property named prototype");var a=t.value=this.parseMethod(e,i,s);return"get"===t.kind&&0!==a.params.length&&this.raiseRecoverable(a.start,"getter should have no params"),"set"===t.kind&&1!==a.params.length&&this.raiseRecoverable(a.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===a.params[0].type&&this.raiseRecoverable(a.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},Z.parseClassField=function(t){if(at(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&at(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(P.eq)){var e=this.currentThisScope(),i=e.inClassFieldInit;e.inClassFieldInit=!0,t.value=this.parseMaybeAssign(),e.inClassFieldInit=i}else t.value=null;return this.semicolon(),this.finishNode(t,"PropertyDefinition")},Z.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==P.braceR;){var i=this.parseStatement(null);t.body.push(i)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},Z.parseClassId=function(t,e){this.type===P.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},Z.parseClassSuper=function(t){t.superClass=this.eat(P._extends)?this.parseExprSubscripts(!1):null},Z.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},Z.exitClassBody=function(){for(var t=this.privateNameStack.pop(),e=t.declared,i=t.used,s=this.privateNameStack.length,r=0===s?null:this.privateNameStack[s-1],a=0;a=11&&(this.eatContextual("as")?(t.exported=this.parseIdent(!0),this.checkExport(e,t.exported.name,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==P.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(P._default)){var i;if(this.checkExport(e,"default",this.lastTokStart),this.type===P._function||(i=this.isAsyncFunction())){var s=this.startNode();this.next(),i&&this.next(),t.declaration=this.parseFunction(s,4|it,!1,i)}else if(this.type===P._class){var r=this.startNode();t.declaration=this.parseClass(r,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==P.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var a=0,n=t.specifiers;a=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",i&&this.checkPatternErrors(i,!0);for(var s=0,r=t.properties;s=8&&!n&&"async"===o.name&&!this.canInsertSemicolon()&&this.eat(P._function))return this.overrideContext(ht.f_expr),this.parseFunction(this.startNodeAt(r,a),0,!1,!0,e);if(s&&!this.canInsertSemicolon()){if(this.eat(P.arrow))return this.parseArrowExpression(this.startNodeAt(r,a),[o],!1,e);if(this.options.ecmaVersion>=8&&"async"===o.name&&this.type===P.name&&!n&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return o=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(P.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,a),[o],!0,e)}return o;case P.regexp:var h=this.value;return(i=this.parseLiteral(h.value)).regex={pattern:h.pattern,flags:h.flags},i;case P.num:case P.string:return this.parseLiteral(this.value);case P._null:case P._true:case P._false:return(i=this.startNode()).value=this.type===P._null?null:this.type===P._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case P.parenL:var l=this.start,c=this.parseParenAndDistinguishExpression(s,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(t.parenthesizedAssign=l),t.parenthesizedBind<0&&(t.parenthesizedBind=l)),c;case P.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(P.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case P.braceL:return this.overrideContext(ht.b_expr),this.parseObj(!1,t);case P._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case P._class:return this.parseClass(this.startNode(),!1);case P._new:return this.parseNew();case P.backQuote:return this.parseTemplate();case P._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},ct.parseExprImport=function(){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var e=this.parseIdent(!0);switch(this.type){case P.parenL:return this.parseDynamicImport(t);case P.dot:return t.meta=e,this.parseImportMeta(t);default:this.unexpected()}},ct.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(P.parenR)){var e=this.start;this.eat(P.comma)&&this.eat(P.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},ct.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},ct.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},ct.parseParenExpression=function(){this.expect(P.parenL);var t=this.parseExpression();return this.expect(P.parenR),t},ct.parseParenAndDistinguishExpression=function(t,e){var i,s=this.start,r=this.startLoc,a=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,o=this.start,h=this.startLoc,l=[],c=!0,p=!1,u=new Q,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==P.parenR;){if(c?c=!1:this.expect(P.comma),a&&this.afterTrailingComma(P.parenR,!0)){p=!0;break}if(this.type===P.ellipsis){n=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===P.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,u,this.parseParenItem))}var m=this.lastTokEnd,g=this.lastTokEndLoc;if(this.expect(P.parenR),t&&!this.canInsertSemicolon()&&this.eat(P.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(s,r,l,e);l.length&&!p||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(u,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((i=this.startNodeAt(o,h)).expressions=l,this.finishNodeAt(i,"SequenceExpression",m,g)):i=l[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var v=this.startNodeAt(s,r);return v.expression=i,this.finishNode(v,"ParenthesizedExpression")}return i},ct.parseParenItem=function(t){return t},ct.parseParenArrowList=function(t,e,i,s){return this.parseArrowExpression(this.startNodeAt(t,e),i,!1,s)};var pt=[];ct.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(P.dot)){t.meta=e;var i=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),i&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var s=this.start,r=this.startLoc,a=this.type===P._import;return t.callee=this.parseSubscripts(this.parseExprAtom(),s,r,!0,!1),a&&"ImportExpression"===t.callee.type&&this.raise(s,"Cannot use new with import()"),this.eat(P.parenL)?t.arguments=this.parseExprList(P.parenR,this.options.ecmaVersion>=8,!1):t.arguments=pt,this.finishNode(t,"NewExpression")},ct.parseTemplateElement=function(t){var e=t.isTagged,i=this.startNode();return this.type===P.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),i.value={raw:this.value,cooked:null}):i.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),i.tail=this.type===P.backQuote,this.finishNode(i,"TemplateElement")},ct.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var i=this.startNode();this.next(),i.expressions=[];var s=this.parseTemplateElement({isTagged:e});for(i.quasis=[s];!s.tail;)this.type===P.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(P.dollarBraceL),i.expressions.push(this.parseExpression()),this.expect(P.braceR),i.quasis.push(s=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(i,"TemplateLiteral")},ct.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===P.name||this.type===P.num||this.type===P.string||this.type===P.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===P.star)&&!I.test(this.input.slice(this.lastTokEnd,this.start))},ct.parseObj=function(t,e){var i=this.startNode(),s=!0,r={};for(i.properties=[],this.next();!this.eat(P.braceR);){if(s)s=!1;else if(this.expect(P.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(P.braceR))break;var a=this.parseProperty(t,e);t||this.checkPropClash(a,r,e),i.properties.push(a)}return this.finishNode(i,t?"ObjectPattern":"ObjectExpression")},ct.parseProperty=function(t,e){var i,s,r,a,n=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(P.ellipsis))return t?(n.argument=this.parseIdent(!1),this.type===P.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(n,"RestElement")):(this.type===P.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),n.argument=this.parseMaybeAssign(!1,e),this.type===P.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(n,"SpreadElement"));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(t||e)&&(r=this.start,a=this.startLoc),t||(i=this.eat(P.star)));var o=this.containsEsc;return this.parsePropertyName(n),!t&&!o&&this.options.ecmaVersion>=8&&!i&&this.isAsyncProp(n)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(P.star),this.parsePropertyName(n,e)):s=!1,this.parsePropertyValue(n,t,i,s,r,a,e,o),this.finishNode(n,"Property")},ct.parsePropertyValue=function(t,e,i,s,r,a,n,o){if((i||s)&&this.type===P.colon&&this.unexpected(),this.eat(P.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===P.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(i,s);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===P.comma||this.type===P.braceR||this.type===P.eq)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((i||s)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=r),t.kind="init",e?t.value=this.parseMaybeDefault(r,a,this.copyNode(t.key)):this.type===P.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),t.value=this.parseMaybeDefault(r,a,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.shorthand=!0):this.unexpected();else{(i||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var l=t.value.start;"get"===t.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},ct.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(P.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(P.bracketR),t.key;t.computed=!1}return t.key=this.type===P.num||this.type===P.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},ct.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},ct.parseMethod=function(t,e,i){var s=this.startNode(),r=this.yieldPos,a=this.awaitPos,n=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=t),this.options.ecmaVersion>=8&&(s.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|$(e,s.generator)|(i?128:0)),this.expect(P.parenL),s.params=this.parseBindingList(P.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=r,this.awaitPos=a,this.awaitIdentPos=n,this.finishNode(s,"FunctionExpression")},ct.parseArrowExpression=function(t,e,i,s){var r=this.yieldPos,a=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(16|$(i,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!i),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,s),this.yieldPos=r,this.awaitPos=a,this.awaitIdentPos=n,this.finishNode(t,"ArrowFunctionExpression")},ct.parseFunctionBody=function(t,e,i,s){var r=e&&this.type!==P.braceL,a=this.strict,n=!1;if(r)t.body=this.parseMaybeAssign(s),t.expression=!0,this.checkParams(t,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);a&&!o||(n=this.strictDirective(this.end))&&o&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var h=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(t,!a&&!n&&!e&&!i&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,n&&!a),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=h}this.exitScope()},ct.isSimpleParamList=function(t){for(var e=0,i=t;e-1||r.functions.indexOf(t)>-1||r.var.indexOf(t)>-1,r.lexical.push(t),this.inModule&&1&r.flags&&delete this.undefinedExports[t]}else if(4===e){this.currentScope().lexical.push(t)}else if(3===e){var a=this.currentScope();s=this.treatFunctionsAsVar?a.lexical.indexOf(t)>-1:a.lexical.indexOf(t)>-1||a.var.indexOf(t)>-1,a.functions.push(t)}else for(var n=this.scopeStack.length-1;n>=0;--n){var o=this.scopeStack[n];if(o.lexical.indexOf(t)>-1&&!(32&o.flags&&o.lexical[0]===t)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(t)>-1){s=!0;break}if(o.var.push(t),this.inModule&&1&o.flags&&delete this.undefinedExports[t],259&o.flags)break}s&&this.raiseRecoverable(i,"Identifier '"+t+"' has already been declared")},dt.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},dt.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},dt.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags)return e}},dt.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags&&!(16&e.flags))return e}};var mt=function(t,e,i){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new H(t,i)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},gt=K.prototype;function vt(t,e,i,s){return t.type=e,t.end=i,this.options.locations&&(t.loc.end=s),this.options.ranges&&(t.range[1]=i),t}gt.startNode=function(){return new mt(this,this.start,this.startLoc)},gt.startNodeAt=function(t,e){return new mt(this,t,e)},gt.finishNode=function(t,e){return vt.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},gt.finishNodeAt=function(t,e,i,s){return vt.call(this,t,e,i,s)},gt.copyNode=function(t){var e=new mt(this,t.start,this.startLoc);for(var i in t)e[i]=t[i];return e};var yt="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",xt=yt+" Extended_Pictographic",bt={9:yt,10:xt,11:xt,12:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic EBase EComp EMod EPres ExtPict"},_t="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",kt="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",wt=kt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",St=wt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Ct={9:kt,10:wt,11:St,12:"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"},Et={};function At(t){var e=Et[t]={binary:F(bt[t]+" "+_t),nonBinary:{General_Category:F(_t),Script:F(Ct[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}At(9),At(10),At(11),At(12);var Pt=K.prototype,It=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Et[t.options.ecmaVersion>=12?12:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Lt(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function Tt(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Nt(t){return t>=65&&t<=90||t>=97&&t<=122}function Rt(t){return Nt(t)||95===t}function Vt(t){return Rt(t)||Mt(t)}function Mt(t){return t>=48&&t<=57}function Ot(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Dt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Bt(t){return t>=48&&t<=55}It.prototype.reset=function(t,e,i){var s=-1!==i.indexOf("u");this.start=0|t,this.source=e+"",this.flags=i,this.switchU=s&&this.parser.options.ecmaVersion>=6,this.switchN=s&&this.parser.options.ecmaVersion>=9},It.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},It.prototype.at=function(t,e){void 0===e&&(e=!1);var i=this.source,s=i.length;if(t>=s)return-1;var r=i.charCodeAt(t);if(!e&&!this.switchU||r<=55295||r>=57344||t+1>=s)return r;var a=i.charCodeAt(t+1);return a>=56320&&a<=57343?(r<<10)+a-56613888:r},It.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var i=this.source,s=i.length;if(t>=s)return s;var r,a=i.charCodeAt(t);return!e&&!this.switchU||a<=55295||a>=57344||t+1>=s||(r=i.charCodeAt(t+1))<56320||r>57343?t+1:t+2},It.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},It.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},It.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},It.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Pt.validateRegExpFlags=function(t){for(var e=t.validFlags,i=t.flags,s=0;s-1&&this.raise(t.start,"Duplicate regular expression flag")}},Pt.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},Pt.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,i=t.backReferenceNames;e=9&&(i=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!i,!0}return t.pos=e,!1},Pt.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Pt.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Pt.regexp_eatBracedQuantifier=function(t,e){var i=t.pos;if(t.eat(123)){var s=0,r=-1;if(this.regexp_eatDecimalDigits(t)&&(s=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(r=t.lastIntValue),t.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Pt.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Pt.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Pt.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Tt(e)&&(t.lastIntValue=e,t.advance(),!0)},Pt.regexp_eatPatternCharacters=function(t){for(var e=t.pos,i=0;-1!==(i=t.current())&&!Tt(i);)t.advance();return t.pos!==e},Pt.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},Pt.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},Pt.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Pt.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Lt(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Lt(t.lastIntValue);return!0}return!1},Pt.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,i=this.options.ecmaVersion>=11,s=t.current(i);return t.advance(i),92===s&&this.regexp_eatRegExpUnicodeEscapeSequence(t,i)&&(s=t.lastIntValue),function(t){return b(t,!0)||36===t||95===t}(s)?(t.lastIntValue=s,!0):(t.pos=e,!1)},Pt.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,i=this.options.ecmaVersion>=11,s=t.current(i);return t.advance(i),92===s&&this.regexp_eatRegExpUnicodeEscapeSequence(t,i)&&(s=t.lastIntValue),function(t){return _(t,!0)||36===t||95===t||8204===t||8205===t}(s)?(t.lastIntValue=s,!0):(t.pos=e,!1)},Pt.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Pt.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var i=t.lastIntValue;if(t.switchU)return i>t.maxBackReference&&(t.maxBackReference=i),!0;if(i<=t.numCapturingParens)return!0;t.pos=e}return!1},Pt.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Pt.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Pt.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Pt.regexp_eatZero=function(t){return 48===t.current()&&!Mt(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Pt.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Pt.regexp_eatControlLetter=function(t){var e=t.current();return!!Nt(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Pt.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var i,s=t.pos,r=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(r&&a>=55296&&a<=56319){var n=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var o=t.lastIntValue;if(o>=56320&&o<=57343)return t.lastIntValue=1024*(a-55296)+(o-56320)+65536,!0}t.pos=n,t.lastIntValue=a}return!0}if(r&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((i=t.lastIntValue)>=0&&i<=1114111))return!0;r&&t.raise("Invalid unicode escape"),t.pos=s}return!1},Pt.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},Pt.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Pt.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},Pt.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var i=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var s=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,i,s),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var r=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,r),!0}return!1},Pt.regexp_validateUnicodePropertyNameAndValue=function(t,e,i){D(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(i)||t.raise("Invalid property value")},Pt.regexp_validateUnicodePropertyNameOrValue=function(t,e){t.unicodeProperties.binary.test(e)||t.raise("Invalid property name")},Pt.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";Rt(e=t.current());)t.lastStringValue+=Lt(e),t.advance();return""!==t.lastStringValue},Pt.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Vt(e=t.current());)t.lastStringValue+=Lt(e),t.advance();return""!==t.lastStringValue},Pt.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Pt.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},Pt.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var i=t.lastIntValue;!t.switchU||-1!==e&&-1!==i||t.raise("Invalid character class"),-1!==e&&-1!==i&&e>i&&t.raise("Range out of order in character class")}}},Pt.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var i=t.current();(99===i||Bt(i))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var s=t.current();return 93!==s&&(t.lastIntValue=s,t.advance(),!0)},Pt.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Pt.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!Mt(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},Pt.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Pt.regexp_eatDecimalDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;Mt(i=t.current());)t.lastIntValue=10*t.lastIntValue+(i-48),t.advance();return t.pos!==e},Pt.regexp_eatHexDigits=function(t){var e=t.pos,i=0;for(t.lastIntValue=0;Ot(i=t.current());)t.lastIntValue=16*t.lastIntValue+Dt(i),t.advance();return t.pos!==e},Pt.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var i=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*i+t.lastIntValue:t.lastIntValue=8*e+i}else t.lastIntValue=e;return!0}return!1},Pt.regexp_eatOctalDigit=function(t){var e=t.current();return Bt(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Pt.regexp_eatFixedHexDigits=function(t,e){var i=t.pos;t.lastIntValue=0;for(var s=0;s>10),56320+(1023&t)))}Wt.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Ft(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Wt.getToken=function(){return this.next(),new Ft(this)},"undefined"!=typeof Symbol&&(Wt[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===P.eof,value:e}}}}),Wt.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(P.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},Wt.readToken=function(t){return b(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},Wt.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},Wt.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),i=this.pos,s=this.input.indexOf("*/",this.pos+=2);if(-1===s&&this.raise(this.pos-2,"Unterminated comment"),this.pos=s+2,this.options.locations)for(L.lastIndex=i;(t=L.exec(this.input))&&t.index8&&t<14||t>=5760&&N.test(String.fromCharCode(t))))break t;++this.pos}}},Wt.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var i=this.type;this.type=t,this.value=e,this.updateContext(i)},Wt.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(P.ellipsis)):(++this.pos,this.finishToken(P.dot))},Wt.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(P.assign,2):this.finishOp(P.slash,1)},Wt.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),i=1,s=42===t?P.star:P.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++i,s=P.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(P.assign,i+1):this.finishOp(s,i)},Wt.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);if(e===t){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(P.assign,3);return this.finishOp(124===t?P.logicalOR:P.logicalAND,2)}return 61===e?this.finishOp(P.assign,2):this.finishOp(124===t?P.bitwiseOR:P.bitwiseAND,1)},Wt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(P.assign,2):this.finishOp(P.bitwiseXOR,1)},Wt.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!I.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(P.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(P.assign,2):this.finishOp(P.plusMin,1)},Wt.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),i=1;return e===t?(i=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+i)?this.finishOp(P.assign,i+1):this.finishOp(P.bitShift,i)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(i=2),this.finishOp(P.relational,i)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Wt.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(P.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(P.arrow)):this.finishOp(61===t?P.eq:P.prefix,1)},Wt.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var i=this.input.charCodeAt(this.pos+2);if(i<48||i>57)return this.finishOp(P.questionDot,2)}if(63===e){if(t>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(P.assign,3);return this.finishOp(P.coalesce,2)}}return this.finishOp(P.question,1)},Wt.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,b(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(P.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Yt(t)+"'")},Wt.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(P.parenL);case 41:return++this.pos,this.finishToken(P.parenR);case 59:return++this.pos,this.finishToken(P.semi);case 44:return++this.pos,this.finishToken(P.comma);case 91:return++this.pos,this.finishToken(P.bracketL);case 93:return++this.pos,this.finishToken(P.bracketR);case 123:return++this.pos,this.finishToken(P.braceL);case 125:return++this.pos,this.finishToken(P.braceR);case 58:return++this.pos,this.finishToken(P.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(P.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(P.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Yt(t)+"'")},Wt.finishOp=function(t,e){var i=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,i)},Wt.readRegexp=function(){for(var t,e,i=this.pos;;){this.pos>=this.input.length&&this.raise(i,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(I.test(s)&&this.raise(i,"Unterminated regular expression"),t)t=!1;else{if("["===s)e=!0;else if("]"===s&&e)e=!1;else if("/"===s&&!e)break;t="\\"===s}++this.pos}var r=this.input.slice(i,this.pos);++this.pos;var a=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(a);var o=this.regexpState||(this.regexpState=new It(this));o.reset(i,r,n),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(r,n)}catch(t){}return this.finishToken(P.regexp,{pattern:r,flags:n,value:h})},Wt.readInt=function(t,e,i){for(var s=this.options.ecmaVersion>=12&&void 0===e,r=i&&48===this.input.charCodeAt(this.pos),a=this.pos,n=0,o=0,h=0,l=null==e?1/0:e;h=97?c-97+10:c>=65?c-65+10:c>=48&&c<=57?c-48:1/0)>=t)break;o=c,n=n*t+p}}return s&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===a||null!=e&&this.pos-a!==e?null:n},Wt.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var i=this.readInt(t);return null==i&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(i=Ht(this.input.slice(e,this.pos)),++this.pos):b(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(P.num,i)},Wt.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var i=this.pos-e>=2&&48===this.input.charCodeAt(e);i&&this.strict&&this.raise(e,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!i&&!t&&this.options.ecmaVersion>=11&&110===s){var r=Ht(this.input.slice(e,this.pos));return++this.pos,b(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(P.num,r)}i&&/[89]/.test(this.input.slice(e,this.pos))&&(i=!1),46!==s||i||(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),69!==s&&101!==s||i||(43!==(s=this.input.charCodeAt(++this.pos))&&45!==s||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),b(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var a,n=(a=this.input.slice(e,this.pos),i?parseInt(a,8):parseFloat(a.replace(/_/g,"")));return this.finishToken(P.num,n)},Wt.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},Wt.readString=function(t){for(var e="",i=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===t)break;92===s?(e+=this.input.slice(i,this.pos),e+=this.readEscapedChar(!1),i=this.pos):8232===s||8233===s?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(T(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(i,this.pos++),this.finishToken(P.string,e)};var Xt={};Wt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Xt)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Wt.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Xt;this.raise(t,e)},Wt.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var i=this.input.charCodeAt(this.pos);if(96===i||36===i&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==P.template&&this.type!==P.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(P.template,t)):36===i?(this.pos+=2,this.finishToken(P.dollarBraceL)):(++this.pos,this.finishToken(P.backQuote));if(92===i)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(T(i)){switch(t+=this.input.slice(e,this.pos),++this.pos,i){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(i)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},Wt.readInvalidTemplateToken=function(){for(;this.pos=48&&e<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);return r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.pos+=s.length-1,e=this.input.charCodeAt(this.pos),"0"===s&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-s.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(r)}return T(e)?"":String.fromCharCode(e)}},Wt.readHexChar=function(t){var e=this.pos,i=this.readInt(16,t);return null===i&&this.invalidStringToken(e,"Bad character escape sequence"),i},Wt.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,i=this.pos,s=this.options.ecmaVersion>=6;this.pos[]}},data:()=>({scrollbars:{wheelPropagation:!1}}),computed:{items(){return[...this.value].reverse()}}},$t=(i(323),Object(a.a)(Ut,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("perfect-scrollbar",{staticClass:"editor-output",attrs:{options:t.scrollbars}},[i("div",{staticClass:"editor-output-content"},[t._l(t.items,(function(e,s){return i("span",{key:s,domProps:{textContent:t._s(e)}})})),t._v(" "),!t.items.length&&t.placeholder?i("span",{staticClass:"text-muted",domProps:{textContent:t._s(!0===t.placeholder?"...":t.placeholder)}}):t._e()],2)])}),[],!1,null,"42be9875",null).exports),Kt=i(324),qt=(i(325),i(326),i(1));function Gt(){return(Gt=Object.assign||function(t){for(var e=1;e"},lineNumbersCount:function(){return this.codeData.split(/\r\n|\n/).length}},mounted:function(){this._recordCurrentState(),this.styleLineNumbers()},methods:{setLineNumbersHeight:function(){this.lineNumbersHeight=getComputedStyle(this.$refs.pre).height},styleLineNumbers:function(){if(this.lineNumbers&&this.autoStyleLineNumbers){var t=this.$refs.pre,e=this.$el.querySelector(".prism-editor__line-numbers"),i=window.getComputedStyle(t);this.$nextTick((function(){var s="border-top-left-radius",r="border-bottom-left-radius";if(e){e.style[s]=i[s],e.style[r]=i[r],t.style[s]="0",t.style[r]="0";["background-color","margin-top","padding-top","font-family","font-size","line-height"].forEach((function(t){e.style[t]=i[t]})),e.style["margin-bottom"]="-"+i["padding-top"]}}))}},_recordCurrentState:function(){var t=this.$refs.textarea;if(t){var e=t.value,i=t.selectionStart,s=t.selectionEnd;this._recordChange({value:e,selectionStart:i,selectionEnd:s})}},_getLines:function(t,e){return t.substring(0,e).split("\n")},_applyEdits:function(t){var e=this.$refs.textarea,i=this.history.stack[this.history.offset];i&&e&&(this.history.stack[this.history.offset]=Gt({},i,{selectionStart:e.selectionStart,selectionEnd:e.selectionEnd})),this._recordChange(t),this._updateInput(t)},_recordChange:function(t,e){void 0===e&&(e=!1);var i=this.history,s=i.stack,r=i.offset;if(s.length&&r>-1){this.history.stack=s.slice(0,r+1);var a=this.history.stack.length;if(a>100){var n=a-100;this.history.stack=s.slice(n,a),this.history.offset=Math.max(this.history.offset-n,0)}}var o=Date.now();if(e){var h=this.history.stack[this.history.offset];if(h&&o-h.timestamp<3e3){var l,c,p=/[^a-z0-9]([a-z0-9]+)$/i,u=null===(l=this._getLines(h.value,h.selectionStart).pop())||void 0===l?void 0:l.match(p),d=null===(c=this._getLines(t.value,t.selectionStart).pop())||void 0===c?void 0:c.match(p);if(u&&d&&d[1].startsWith(u[1]))return void(this.history.stack[this.history.offset]=Gt({},t,{timestamp:o}))}}this.history.stack.push(Gt({},t,{timestamp:o})),this.history.offset++},_updateInput:function(t){var e=this.$refs.textarea;e&&(e.value=t.value,e.selectionStart=t.selectionStart,e.selectionEnd=t.selectionEnd,this.$emit("input",t.value))},handleChange:function(t){var e=t.target,i=e.value,s=e.selectionStart,r=e.selectionEnd;this._recordChange({value:i,selectionStart:s,selectionEnd:r},!0),this.$emit("input",i)},_undoEdit:function(){var t=this.history,e=t.stack,i=t.offset,s=e[i-1];s&&(this._updateInput(s),this.history.offset=Math.max(i-1,0))},_redoEdit:function(){var t=this.history,e=t.stack,i=t.offset,s=e[i+1];s&&(this._updateInput(s),this.history.offset=Math.min(i+1,e.length-1))},handleKeyDown:function(t){var e=this.tabSize,i=this.insertSpaces,s=this.ignoreTabKey;if(!this.$listeners.keydown||(this.$emit("keydown",t),!t.defaultPrevented)){27===t.keyCode&&(t.target.blur(),this.$emit("blur",t));var r=t.target,a=r.value,n=r.selectionStart,o=r.selectionEnd,h=(i?" ":"\t").repeat(e);if(9===t.keyCode&&!s&&this.capture)if(t.preventDefault(),t.shiftKey){var l=this._getLines(a,n),c=l.length-1,p=this._getLines(a,o).length-1,u=a.split("\n").map((function(t,e){return e>=c&&e<=p&&t.startsWith(h)?t.substring(h.length):t})).join("\n");if(a!==u){var d=l[c];this._applyEdits({value:u,selectionStart:d.startsWith(h)?n-h.length:n,selectionEnd:o-(a.length-u.length)})}}else if(n!==o){var f=this._getLines(a,n),m=f.length-1,g=this._getLines(a,o).length-1,v=f[m];this._applyEdits({value:a.split("\n").map((function(t,e){return e>=m&&e<=g?h+t:t})).join("\n"),selectionStart:/\S/.test(v)?n+h.length:n,selectionEnd:o+h.length*(g-m+1)})}else{var y=n+h.length;this._applyEdits({value:a.substring(0,n)+h+a.substring(o),selectionStart:y,selectionEnd:y})}else if(8===t.keyCode){var x=n!==o;if(a.substring(0,n).endsWith(h)&&!x){t.preventDefault();var b=n-h.length;this._applyEdits({value:a.substring(0,n-h.length)+a.substring(o),selectionStart:b,selectionEnd:b})}}else if(13===t.keyCode){if(n===o){var _=this._getLines(a,n).pop(),k=null==_?void 0:_.match(/^\s+/);if(k&&k[0]){t.preventDefault();var w="\n"+k[0],S=n+w.length;this._applyEdits({value:a.substring(0,n)+w+a.substring(o),selectionStart:S,selectionEnd:S})}}}else if(57===t.keyCode||219===t.keyCode||222===t.keyCode||192===t.keyCode){var C;57===t.keyCode&&t.shiftKey?C=["(",")"]:219===t.keyCode?C=t.shiftKey?["{","}"]:["[","]"]:222===t.keyCode?C=t.shiftKey?['"','"']:["'","'"]:192!==t.keyCode||t.shiftKey||(C=["`","`"]),n!==o&&C&&(t.preventDefault(),this._applyEdits({value:a.substring(0,n)+C[0]+a.substring(n,o)+C[1]+a.substring(o),selectionStart:n,selectionEnd:o+2}))}else!(Qt?t.metaKey&&90===t.keyCode:t.ctrlKey&&90===t.keyCode)||t.shiftKey||t.altKey?(Qt?t.metaKey&&90===t.keyCode&&t.shiftKey:zt?t.ctrlKey&&89===t.keyCode:t.ctrlKey&&90===t.keyCode&&t.shiftKey)&&!t.altKey?(t.preventDefault(),this._redoEdit()):77!==t.keyCode||!t.ctrlKey||Qt&&!t.shiftKey||(t.preventDefault(),this.capture=!this.capture):(t.preventDefault(),this._undoEdit())}}},render:function(t){var e=this,i=t("div",{attrs:{class:"prism-editor__line-width-calc",style:"height: 0px; visibility: hidden; pointer-events: none;"}},"999"),s=t("div",{staticClass:"prism-editor__line-numbers",style:{"min-height":this.lineNumbersHeight},attrs:{"aria-hidden":"true"}},[i,Array.from(Array(this.lineNumbersCount).keys()).map((function(e,i){return t("div",{attrs:{class:"prism-editor__line-number token comment"}},""+ ++i)}))]),r=t("textarea",{ref:"textarea",on:{input:this.handleChange,keydown:this.handleKeyDown,click:function(t){e.$emit("click",t)},keyup:function(t){e.$emit("keyup",t)},focus:function(t){e.$emit("focus",t)},blur:function(t){e.$emit("blur",t)}},staticClass:"prism-editor__textarea",class:{"prism-editor__textarea--empty":this.isEmpty},attrs:{spellCheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off","data-gramm":"false",placeholder:this.placeholder,"data-testid":"textarea",readonly:this.readonly},domProps:{value:this.codeData}}),a=t("pre",{ref:"pre",staticClass:"prism-editor__editor",attrs:{"data-testid":"preview"},domProps:{innerHTML:this.content}}),n=t("div",{staticClass:"prism-editor__container"},[r,a]);return t("div",{staticClass:"prism-editor-wrapper"},[this.lineNumbers&&s,n])}}),Jt=(i(327),{components:{PerfectScrollbar:jt.PerfectScrollbar,PrismEditor:Zt},props:{value:{type:String,required:!0}},data:()=>({scrollbars:{wheelPropagation:!1}}),methods:{highlight:t=>Object(Kt.highlight)(t,Kt.languages.js)}}),te=(i(328),Object(a.a)(Jt,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("perfect-scrollbar",{staticClass:"editor-textarea",attrs:{options:t.scrollbars}},[i("div",{staticClass:"editor-textarea-content"},[i("prism-editor",{attrs:{highlight:t.highlight,value:t.value},on:{input:function(e){return t.$emit("input",e)}}})],1)])}),[],!1,null,"05f11386",null).exports),ee={components:{PerfectScrollbar:jt.PerfectScrollbar}},ie=(i(329),Object(a.a)(ee,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"tooltip"},[e("div",{staticClass:"activator"},[this._t("default")],2),this._v(" "),e("perfect-scrollbar",{staticClass:"content"},[this._t("content")],2)],1)}),[],!1,null,"402b0086",null).exports);const se=/^\s*<(\/?)block:([\w\s]+)(?::(\d+))?>\s*$/;var re={components:{EditorOutput:$t,EditorTextarea:te,Tooltip:ie},props:{delay:{type:Number,default:500},error:{type:Error,default:null},messages:{type:Array,default:()=>[]},output:{type:[Boolean,String],default:!1},value:{type:String,required:!0}},data:()=>({blocks:[],current:0,modified:!1,sections:[]}),computed:{sourceLink(){const t=this.$page.relativePath,e=this.$site.themeConfig;return`https://github.com/${e.docsRepo||e.repo}/blob/${e.docsBranch||"master"}/${e.docsDir||""}/${t}`}},watch:{output(){this.rebuild()},value:{immediate:!0,handler(){this.rebuild()}}},methods:{rebuild(){try{const t=this,e=this.parse(this.value),i=e.filter(({name:t})=>!!t);i.length||i.push({code:this.value,name:"JS",order:0});const s=i.sort((t,e)=>t.order-e.order).map(e=>({component:te,value:()=>e.code,name:e.name,on:{input(i){e.code=i,t.invalidate()}}}));this.output&&s.push({component:$t,value:()=>this.messages,name:"Output",attrs:{placeholder:this.output}}),this.blocks=e,this.sections=s,this.current=this.output?s.length-1:0}catch(t){this.$emit("update:error",t),this.blocks=[]}},invalidate(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null);const t=this.delay;t?(this.modified=!0,this._timeout=setTimeout(()=>{this.modified=!1,this._timeout=null,this.update()},t)):this.update()},update(){this.$emit("input",this.blocks.map(t=>t.code).join(""))},parse(t){const e=[];let i={order:0,start:0,end:0};return K.parse(t,{ecmaVersion:2016,onComment(t,s,r,a){const n=s.match(se);if(!n)return;const o=!n[1],h=n[2],l=n[3];(o||i.name===h)&&(e.push({...i,end:r}),i={name:o?h:void 0,order:l||0,start:a,end:a})}}),i&&e.push({...i,end:t.length}),e.filter(({start:t,end:e})=>t({code:t.slice(i,s).trim(),order:r,name:e}))}}},ae=(i(330),{components:{ChartActions:n,ChartView:h,CodeEditor:Object(a.a)(re,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"code-editor"},[i("div",{staticClass:"code-editor-header"},[i("div",{staticClass:"code-editor-tabs"},t._l(t.sections,(function(e,s){return i("button",{key:s,staticClass:"code-editor-tab",class:{active:t.current===s},on:{click:function(e){t.current=s}}},[t._v("\n "+t._s(e.name)+"\n ")])})),0),t._v(" "),i("div",{staticClass:"code-editor-tools"},[t.modified?i("i",{staticClass:"code-editor-tool fas fa-bahai fa-spin text-muted"}):t.error?i("tooltip",{scopedSlots:t._u([{key:"content",fn:function(){return[i("pre",{staticStyle:{"white-space":"pre-wrap"}},[t._v(t._s(t.error))])]},proxy:!0}])},[i("i",{staticClass:"code-editor-tool fas fa-exclamation-triangle text-error"})]):t._e(),t._v(" "),i("a",{staticClass:"code-editor-tool fab fa-github fa-lg",attrs:{href:t.sourceLink,title:"View on GitHub",target:"_blank"}})],1)]),t._v(" "),i("div",{staticClass:"code-editor-views"},t._l(t.sections,(function(e,s){return i(e.component,t._g(t._b({directives:[{name:"show",rawName:"v-show",value:t.current===s,expression:"current === index"}],key:s,tag:"component",attrs:{value:e.value()}},"component",e.attrs,!1),e.on))})),1)])}),[],!1,null,"66ca8197",null).exports},props:{code:{type:String,required:!0}},data:()=>({actions:null,config:null,error:null,messages:[],output:!1}),watch:{code(t){this.evaluate(t)}},mounted(){this.evaluate(this.code)},methods:{evaluate(t){if(this.error=null,!t)return void this.update(null);const e=this,i={log(...t){e.messages=[...e.messages,t.join(" ")].slice(-50)}},r={...(this.$chart||{}).imports,console:{...console,...i},Chart:s.b},a=`\n 'use strict';\n const module = {exports: {}};\n ${Object.keys(r).map(t=>`const ${t} = arguments[0].${t}`).join(";\n")};\n (function(){ ${t} })();\n return module.exports;\n `;try{const t=new Function(a)(r),e=t.config||null;this.output=t.output||!1,this.actions||(this.actions=t.actions||null),this.config=Object.freeze(e)}catch(t){this.error=t}},execute(t){t.handler(this.$refs["chart-view"].chart())}}}),ne=(i(331),Object(a.a)(ae,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"chart-editor"},[i("chart-view",{ref:"chart-view",attrs:{config:t.config}}),t._v(" "),i("chart-actions",{attrs:{actions:t.actions},on:{action:t.execute}}),t._v(" "),i("code-editor",{attrs:{error:t.error,messages:t.messages,output:t.output,value:t.code},on:{"update:error":function(e){t.error=e},input:t.evaluate}})],1)}),[],!1,null,"365c20ab",null));e.default=ne.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/30.343676b8.js b/scriptApl/chart.js/dist/docs/assets/js/30.343676b8.js new file mode 100644 index 00000000..1944d6c7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/30.343676b8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{361:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-barcontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-barcontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: BarControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[r("code",[t._v("ControllerDatasetOptions")])])],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[r("code",[t._v("BarOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r("code",[t._v("CommonHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#animationoptions"}},[r("code",[t._v("AnimationOptions")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">")],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("BarControllerDatasetOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v("> & { "),r("code",[t._v("onComplete?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" ; "),r("code",[t._v("onProgress?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" }")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animation")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animations")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.backgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"barpercentage"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#barpercentage"}},[t._v("#")]),t._v(" barPercentage")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("barPercentage")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0.9")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L109",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:109"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"barthickness"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#barthickness"}},[t._v("#")]),t._v(" barThickness")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("barThickness")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v('"flex"')])]),t._v(" "),r("p",[t._v("Manually set width of each bar in pixels. If set to 'flex', it computes \"optimal\" sample widths that globally arrange bars side by side. If not set (default), bars are equally sized based on the smallest interval.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L119",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:119"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"base"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#base"}},[t._v("#")]),t._v(" base")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("base")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The base value for the bar in data units along the value axis.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.base")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1990",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1990"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[t._v("#")]),t._v(" borderRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[r("code",[t._v("BorderRadius")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Border radius")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2002",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2002"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderskipped"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderskipped"}},[t._v("#")]),t._v(" borderSkipped")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderSkipped")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(" | "),r("code",[t._v('"start"')]),t._v(" | "),r("code",[t._v('"end"')]),t._v(" | "),r("code",[t._v('"left"')]),t._v(" | "),r("code",[t._v('"right"')]),t._v(" | "),r("code",[t._v('"bottom"')]),t._v(" | "),r("code",[t._v('"top"')]),t._v(" | "),r("code",[t._v('"middle"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'start'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderSkipped")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1996",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1996"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | { "),r("code",[t._v("bottom?")]),t._v(": "),r("code",[t._v("number")]),t._v(" ; "),r("code",[t._v("left?")]),t._v(": "),r("code",[t._v("number")]),t._v(" ; "),r("code",[t._v("right?")]),t._v(": "),r("code",[t._v("number")]),t._v(" ; "),r("code",[t._v("top?")]),t._v(": "),r("code",[t._v("number")]),t._v(" }, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Width of the border, number for all sides, object to specify width for each side specifically")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2015",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2015"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"categorypercentage"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#categorypercentage"}},[t._v("#")]),t._v(" categoryPercentage")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("categoryPercentage")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Percent (0-1) of the available width each category should be within the sample width.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0.8")]),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L114",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:114"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"inflateamount"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inflateamount"}},[t._v("#")]),t._v(" inflateAmount")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("inflateAmount")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v('"auto"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Amount to inflate the rectangle(s). This can be used to hide artifacts between bars.\nUnit is pixels. 'auto' translates to 0.33 pixels when barPercentage * categoryPercentage is 1, else 0.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'auto'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.inflateAmount")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2009",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2009"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"maxbarthickness"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#maxbarthickness"}},[t._v("#")]),t._v(" maxBarThickness")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("maxBarThickness")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Set this to ensure that bars are not sized thicker than this.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L124",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:124"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"minbarlength"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#minbarlength"}},[t._v("#")]),t._v(" minBarLength")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("minBarLength")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Set this to ensure that bars have a minimum length in pixels.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L129",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:129"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])])],1),t._v(" "),r("p",[t._v("Point style for the legend")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'circle;")]),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L135",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:135"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"transitions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("transitions")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[r("code",[t._v("TransitionsSpec")])]),t._v("<"),r("code",[t._v('"bar"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.transitions")]),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"xaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#xaxisid"}},[t._v("#")]),t._v(" xAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("xAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the x axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L99",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:99"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"yaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#yaxisid"}},[t._v("#")]),t._v(" yAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("yAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the y axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L103",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:103"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/31.cff089f1.js b/scriptApl/chart.js/dist/docs/assets/js/31.cff089f1.js new file mode 100644 index 00000000..48793171 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/31.cff089f1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{362:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-barelement-t-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-barelement-t-o"}},[t._v("#")]),t._v(" Interface: BarElement")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/BarProps.html"}},[a("code",[t._v("BarProps")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/BarProps.html"}},[a("code",[t._v("BarProps")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[a("code",[t._v("BarOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[a("code",[t._v("BarOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[a("code",[t._v("VisualElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("BarElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("area?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("area?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1685",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1685"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcenterpoint"}},[t._v("#")]),t._v(" getCenterPoint")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getCenterPoint")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getcenterpoint"}},[t._v("getCenterPoint")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1689",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1689"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("code",[t._v("T")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getrange"}},[t._v("#")]),t._v(" getRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getRange")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getrange"}},[t._v("getRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1690",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1690"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inrange"}},[t._v("#")]),t._v(" inRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inrange"}},[t._v("inRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1686",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1686"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inxrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inxrange"}},[t._v("#")]),t._v(" inXRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inXRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inxrange"}},[t._v("inXRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1687"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inyrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inyrange"}},[t._v("#")]),t._v(" inYRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inYRange")]),t._v("("),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inyrange"}},[t._v("inYRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1688"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/32.56d8546e.js b/scriptApl/chart.js/dist/docs/assets/js/32.56d8546e.js new file mode 100644 index 00000000..0c1732b7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/32.56d8546e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{363:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-barhoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-barhoveroptions"}},[r._v("#")]),r._v(" Interface: BarHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[r._v("#")]),r._v(" Hierarchy")]),r._v(" "),t("ul",[t("li",[t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[t("code",[r._v("CommonHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("strong",[t("code",[r._v("BarHoverOptions")])])])])]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"hoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[r._v("#")]),r._v(" hoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbackgroundcolor"}},[r._v("hoverBackgroundColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1702"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[r._v("#")]),r._v(" hoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbordercolor"}},[r._v("hoverBorderColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1701"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderradius"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderradius"}},[r._v("#")]),r._v(" hoverBorderRadius")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderRadius")]),r._v(": "),t("code",[r._v("number")]),r._v(" | "),t("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[t("code",[r._v("BorderRadius")])])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2026",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:2026"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[r._v("#")]),r._v(" hoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"inherited-from-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverborderwidth"}},[r._v("hoverBorderWidth")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1700"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/33.6b642a06.js b/scriptApl/chart.js/dist/docs/assets/js/33.6b642a06.js new file mode 100644 index 00000000..8e12bf6c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/33.6b642a06.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{364:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-baroptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-baroptions"}},[e._v("#")]),e._v(" Interface: BarOptions")]),e._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[e._v("#")]),e._v(" Hierarchy")]),e._v(" "),r("ul",[r("li",[r("p",[r("code",[e._v("Omit")]),e._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[r("code",[e._v("CommonElementOptions")])]),e._v(", "),r("code",[e._v('"borderWidth"')]),e._v(">")],1),e._v(" "),r("p",[e._v("↳ "),r("strong",[r("code",[e._v("BarOptions")])])])])]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[e._v("#")]),e._v(" backgroundColor")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("backgroundColor")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[e._v("Color")])])],1),e._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[e._v("#")]),e._v(" Inherited from")]),e._v(" "),r("p",[e._v("Omit.backgroundColor")]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"base"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#base"}},[e._v("#")]),e._v(" base")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("base")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("The base value for the bar in data units along the value axis.")]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1990",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1990"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[e._v("#")]),e._v(" borderColor")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("borderColor")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[e._v("Color")])])],1),e._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[e._v("#")]),e._v(" Inherited from")]),e._v(" "),r("p",[e._v("Omit.borderColor")]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[e._v("#")]),e._v(" borderRadius")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("borderRadius")]),e._v(": "),r("code",[e._v("number")]),e._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[r("code",[e._v("BorderRadius")])])],1),e._v(" "),r("p",[e._v("Border radius")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("default")])]),e._v(" 0")]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2002",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2002"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"borderskipped"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderskipped"}},[e._v("#")]),e._v(" borderSkipped")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("borderSkipped")]),e._v(": "),r("code",[e._v("boolean")]),e._v(" | "),r("code",[e._v('"start"')]),e._v(" | "),r("code",[e._v('"end"')]),e._v(" | "),r("code",[e._v('"left"')]),e._v(" | "),r("code",[e._v('"right"')]),e._v(" | "),r("code",[e._v('"bottom"')]),e._v(" | "),r("code",[e._v('"top"')]),e._v(" | "),r("code",[e._v('"middle"')])]),e._v(" "),r("p",[e._v("Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all).")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("default")])]),e._v(" 'start'")]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1996",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1996"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[e._v("#")]),e._v(" borderWidth")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("borderWidth")]),e._v(": "),r("code",[e._v("number")]),e._v(" | { "),r("code",[e._v("bottom?")]),e._v(": "),r("code",[e._v("number")]),e._v(" ; "),r("code",[e._v("left?")]),e._v(": "),r("code",[e._v("number")]),e._v(" ; "),r("code",[e._v("right?")]),e._v(": "),r("code",[e._v("number")]),e._v(" ; "),r("code",[e._v("top?")]),e._v(": "),r("code",[e._v("number")]),e._v(" }")]),e._v(" "),r("p",[e._v("Width of the border, number for all sides, object to specify width for each side specifically")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("default")])]),e._v(" 0")]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2015",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2015"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"inflateamount"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inflateamount"}},[e._v("#")]),e._v(" inflateAmount")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("inflateAmount")]),e._v(": "),r("code",[e._v("number")]),e._v(" | "),r("code",[e._v('"auto"')])]),e._v(" "),r("p",[e._v("Amount to inflate the rectangle(s). This can be used to hide artifacts between bars.\nUnit is pixels. 'auto' translates to 0.33 pixels when barPercentage * categoryPercentage is 1, else 0.")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("default")])]),e._v(" 'auto'")]),e._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2009",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2009"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/34.360a9ea9.js b/scriptApl/chart.js/dist/docs/assets/js/34.360a9ea9.js new file mode 100644 index 00000000..fd50de10 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/34.360a9ea9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{365:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-barprops"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-barprops"}},[e._v("#")]),e._v(" Interface: BarProps")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"base"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#base"}},[e._v("#")]),e._v(" base")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("base")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1980",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1980"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"height"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[e._v("#")]),e._v(" height")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("height")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1983",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1983"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"horizontal"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#horizontal"}},[e._v("#")]),e._v(" horizontal")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("horizontal")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1981",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1981"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"width"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[e._v("#")]),e._v(" width")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("width")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1982",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1982"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[e._v("#")]),e._v(" x")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("x")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1978",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1978"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[e._v("#")]),e._v(" y")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("y")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1979",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1979"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/35.205d7fac.js b/scriptApl/chart.js/dist/docs/assets/js/35.205d7fac.js new file mode 100644 index 00000000..5ba41afc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/35.205d7fac.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{366:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-borderradius"}},[t._v("#")]),t._v(" Interface: BorderRadius")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"bottomleft"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bottomleft"}},[t._v("#")]),t._v(" bottomLeft")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bottomLeft")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2021",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2021"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bottomright"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bottomright"}},[t._v("#")]),t._v(" bottomRight")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bottomRight")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2022",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2022"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"topleft"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#topleft"}},[t._v("#")]),t._v(" topLeft")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("topLeft")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2019",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2019"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"topright"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#topright"}},[t._v("#")]),t._v(" topRight")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("topRight")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2020",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2020"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/36.f2765bae.js b/scriptApl/chart.js/dist/docs/assets/js/36.f2765bae.js new file mode 100644 index 00000000..5c71b57a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/36.f2765bae.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{367:function(t,e,r){"use strict";r.r(e);var a=r(6),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-bubblecontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-bubblecontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: BubbleControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[r("code",[t._v("ControllerDatasetOptions")])])],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[r("code",[t._v("PointOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointHoverOptions.html"}},[r("code",[t._v("PointHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("BubbleControllerDatasetOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.backgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawactiveelementsontop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawactiveelementsontop"}},[t._v("#")]),t._v(" drawActiveElementsOnTop")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawActiveElementsOnTop")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Draw the active elements over the other elements of the dataset,")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.drawActiveElementsOnTop")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1904",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1904"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hitradius"}},[t._v("#")]),t._v(" hitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hitRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Extra radius added to point radius for hit detection.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hitRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1889",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1889"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverradius"}},[t._v("#")]),t._v(" hoverRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point radius when hovered.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 4")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1912",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1912"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point style")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'circle;")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1894",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1894"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"radius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#radius"}},[t._v("#")]),t._v(" radius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("radius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point radius")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 3")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.radius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1884",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1884"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"bubble"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point rotation (in degrees).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.rotation")]),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1899",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1899"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/37.6c33435e.js b/scriptApl/chart.js/dist/docs/assets/js/37.6c33435e.js new file mode 100644 index 00000000..dc33f7e7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/37.6c33435e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{368:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-bubbledatapoint"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-bubbledatapoint"}},[e._v("#")]),e._v(" Interface: BubbleDataPoint")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"r"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#r"}},[e._v("#")]),e._v(" r")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("r")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Bubble radius in pixels (not scaled).")]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L170",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:170"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[e._v("#")]),e._v(" x")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("x")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("X Value")]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L160",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:160"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[e._v("#")]),e._v(" y")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("y")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Y Value")]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L165",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:165"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/38.a778a6a2.js b/scriptApl/chart.js/dist/docs/assets/js/38.a778a6a2.js new file mode 100644 index 00000000..0ee969b3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/38.a778a6a2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{369:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-cartesianscaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-cartesianscaleoptions"}},[t._v("#")]),t._v(" Interface: CartesianScaleOptions")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("CartesianScaleOptions")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"aligntopixels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aligntopixels"}},[t._v("#")]),t._v(" alignToPixels")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("alignToPixels")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Align pixel values to device pixels")]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#aligntopixels"}},[t._v("alignToPixels")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1156",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1156"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[t._v("#")]),t._v(" axis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("axis")]),t._v(": "),a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])]),t._v(" "),a("p",[t._v("Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3089",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3089"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bounds"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bounds"}},[t._v("#")]),t._v(" bounds")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bounds")]),t._v(": "),a("code",[t._v('"data"')]),t._v(" | "),a("code",[t._v('"ticks"')])]),t._v(" "),a("p",[t._v("Scale boundary strategy (bypassed by min/max time options)")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("data")]),t._v(": make sure data are fully visible, ticks outside are removed")]),t._v(" "),a("li",[a("code",[t._v("ticks")]),t._v(": make sure ticks are fully visible, data outside are truncated")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 2.7.0")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'ticks'")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3068",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3068"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"display"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v('"auto"')])]),t._v(" "),a("p",[t._v("Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#display"}},[t._v("display")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1152",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1152"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"grid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#grid"}},[t._v("#")]),t._v(" grid")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("grid")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/GridLineOptions.html"}},[a("code",[t._v("GridLineOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3107",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3107"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#max"}},[t._v("#")]),t._v(" max")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("max")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("User defined maximum value for the scale, overrides maximum value from data.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3099",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3099"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"min"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#min"}},[t._v("#")]),t._v(" min")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("min")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("User defined minimum value for the scale, overrides minimum value from data.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3094",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3094"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"offset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[t._v("#")]),t._v(" offset")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("offset")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3105",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3105"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("code",[t._v('"left"')]),t._v(" | "),a("code",[t._v('"right"')]),t._v(" | "),a("code",[t._v('"bottom"')]),t._v(" | "),a("code",[t._v('"top"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | { [scale: string]: "),a("code",[t._v("number")]),t._v("; }")]),t._v(" "),a("p",[t._v("Position of the axis.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3073",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3073"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reverse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reverse"}},[t._v("#")]),t._v(" reverse")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("reverse")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Reverse the scale.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#reverse"}},[t._v("reverse")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1161",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1161"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("stack")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Stack group. Axes at the same "),a("code",[t._v("position")]),t._v(" with same "),a("code",[t._v("stack")]),t._v(" are stacked.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3078",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3078"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stackweight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stackweight"}},[t._v("#")]),t._v(" stackWeight")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("stackWeight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3084",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3084"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stacked"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stacked"}},[t._v("#")]),t._v(" stacked")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("stacked")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v('"single"')])]),t._v(" "),a("p",[t._v("If true, data will be comprised between datasets of data")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3136",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3136"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[t._v("#")]),t._v(" ticks")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#cartesiantickoptions"}},[a("code",[t._v("CartesianTickOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3138",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3138"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("title")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("p",[t._v("Options for the scale title.")]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("align")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#align"}},[a("code",[t._v("Align")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Alignment of the axis title.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Color of the axis label.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("display")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("If true, displays the axis title.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableCartesianScaleContext.html"}},[a("code",[t._v("ScriptableCartesianScaleContext")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Information about the axis title font.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("padding")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")]),t._v(" | { "),a("code",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("top")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("y")]),t._v(": "),a("code",[t._v("number")]),t._v(" }")]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Padding to apply around scale labels.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("text")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("string")]),t._v("[]")]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v('The text for the title, e.g. "# of People" or "Response Choices".')])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3110",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3110"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#weight"}},[t._v("weight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1166",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1166"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterBuildTicks")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after ticks are created. Useful for filtering ticks.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#afterbuildticks"}},[t._v("afterBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1194",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1194"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftercalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftercalculatelabelrotation"}},[t._v("#")]),t._v(" afterCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterCalculateLabelRotation")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after tick rotation is determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#aftercalculatelabelrotation"}},[t._v("afterCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1210",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1210"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterDataLimits")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after data limits are determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#afterdatalimits"}},[t._v("afterDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1186",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1186"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfit"}},[t._v("#")]),t._v(" afterFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterFit")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after the scale fits to the canvas.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#afterfit"}},[t._v("afterFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1218",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1218"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftersetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftersetdimensions"}},[t._v("#")]),t._v(" afterSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterSetDimensions")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after dimensions are set.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#aftersetdimensions"}},[t._v("afterSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1178",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1178"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterticktolabelconversion"}},[t._v("#")]),t._v(" afterTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterTickToLabelConversion")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after ticks are converted into strings.")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#afterticktolabelconversion"}},[t._v("afterTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1202",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1202"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterUpdate")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs at the end of the update process.")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#afterupdate"}},[t._v("afterUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1222",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1222"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeBuildTicks")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before ticks are created.")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforebuildticks"}},[t._v("beforeBuildTicks")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1190",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1190"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforecalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforecalculatelabelrotation"}},[t._v("#")]),t._v(" beforeCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeCalculateLabelRotation")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before tick rotation is determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforecalculatelabelrotation"}},[t._v("beforeCalculateLabelRotation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1206",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1206"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeDataLimits")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before data limits are determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforedatalimits"}},[t._v("beforeDataLimits")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1182",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1182"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefit"}},[t._v("#")]),t._v(" beforeFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeFit")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before the scale fits to the canvas.")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforefit"}},[t._v("beforeFit")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1214",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1214"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforesetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforesetdimensions"}},[t._v("#")]),t._v(" beforeSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeSetDimensions")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before dimensions are set.")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforesetdimensions"}},[t._v("beforeSetDimensions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1174",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1174"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeticktolabelconversion"}},[t._v("#")]),t._v(" beforeTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeTickToLabelConversion")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before ticks are converted into strings.")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforeticktolabelconversion"}},[t._v("beforeTickToLabelConversion")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1198",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1198"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeUpdate")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback called before the update process starts.")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html#beforeupdate"}},[t._v("beforeUpdate")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1170",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1170"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/39.7dda160f.js b/scriptApl/chart.js/dist/docs/assets/js/39.7dda160f.js new file mode 100644 index 00000000..bea0e8a6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/39.7dda160f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{370:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-cartesianscaletyperegistry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-cartesianscaletyperegistry"}},[t._v("#")]),t._v(" Interface: CartesianScaleTypeRegistry")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("CartesianScaleTypeRegistry")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/ScaleTypeRegistry.html"}},[a("code",[t._v("ScaleTypeRegistry")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"category"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#category"}},[t._v("#")]),t._v(" category")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("category")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#categoryscaleoptions"}},[a("code",[t._v("CategoryScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3491",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3491"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linear"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linear"}},[t._v("#")]),t._v(" linear")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("linear")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#linearscaleoptions"}},[a("code",[t._v("LinearScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3485",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3485"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"logarithmic"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#logarithmic"}},[t._v("#")]),t._v(" logarithmic")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("logarithmic")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-3"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#logarithmicscaleoptions"}},[a("code",[t._v("LogarithmicScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3488",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3488"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"time"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#time"}},[t._v("#")]),t._v(" time")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("time")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-4"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3494",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3494"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timeseries"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timeseries"}},[t._v("#")]),t._v(" timeseries")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("timeseries")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-5"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3497",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3497"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/4.ee88d25a.js b/scriptApl/chart.js/dist/docs/assets/js/4.ee88d25a.js new file mode 100644 index 00000000..c3f6c71b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/4.ee88d25a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{316:function(t,a,s){t.exports=s.p+"assets/img/init_flowchart.ee5be600.png"},317:function(t,a,s){t.exports=s.p+"assets/img/update_flowchart.0556691d.png"},318:function(t,a,s){t.exports=s.p+"assets/img/scale_flowchart.fa1ab63e.png"},319:function(t,a,s){t.exports=s.p+"assets/img/render_flowchart.41a98316.png"},320:function(t,a,s){t.exports=s.p+"assets/img/event_flowchart.83015c7a.png"},321:function(t,a,s){t.exports=s.p+"assets/img/destroy_flowchart.10814816.png"},500:function(t,a,s){"use strict";s.r(a);var n=s(6),e=Object(n.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"plugins"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" Plugins")]),t._v(" "),n("p",[t._v("Plugins are the most efficient way to customize or change the default behavior of a chart. They have been introduced at "),n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/releases/tag/2.1.0",target:"_blank",rel:"noopener noreferrer"}},[t._v("version 2.1.0"),n("OutboundLink")],1),t._v(" (global plugins only) and extended at "),n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/releases/tag/v2.5.0",target:"_blank",rel:"noopener noreferrer"}},[t._v("version 2.5.0"),n("OutboundLink")],1),t._v(" (per chart plugins and options).")]),t._v(" "),n("h2",{attrs:{id:"using-plugins"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#using-plugins"}},[t._v("#")]),t._v(" Using plugins")]),t._v(" "),n("p",[t._v("Plugins can be shared between chart instances:")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" plugin "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* plugin implementation */")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v('// chart1 and chart2 use "plugin"')]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart1 "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("plugin"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart2 "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("plugin"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v('// chart3 doesn\'t use "plugin"')]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart3 "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("p",[t._v("Plugins can also be defined directly in the chart "),n("code",[t._v("plugins")]),t._v(" config (a.k.a. "),n("em",[t._v("inline plugins")]),t._v("):")]),t._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),n("p",[n("em",[t._v("inline")]),t._v(" plugins are not registered. Some plugins require registering, i.e. can't be used "),n("em",[t._v("inline")]),t._v(".")])]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("beforeInit")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" args"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//..")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("p",[t._v("However, this approach is not ideal when the customization needs to apply to many charts.")]),t._v(" "),n("h2",{attrs:{id:"global-plugins"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#global-plugins"}},[t._v("#")]),t._v(" Global plugins")]),t._v(" "),n("p",[t._v("Plugins can be registered globally to be applied on all charts (a.k.a. "),n("em",[t._v("global plugins")]),t._v("):")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[t._v("Chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// plugin implementation")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),n("p",[n("em",[t._v("inline")]),t._v(" plugins can't be registered globally.")])]),t._v(" "),n("h2",{attrs:{id:"configuration"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#configuration"}},[t._v("#")]),t._v(" Configuration")]),t._v(" "),n("h3",{attrs:{id:"plugin-id"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-id"}},[t._v("#")]),t._v(" Plugin ID")]),t._v(" "),n("p",[t._v("Plugins must define a unique id in order to be configurable.")]),t._v(" "),n("p",[t._v("This id should follow the "),n("a",{attrs:{href:"https://docs.npmjs.com/files/package.json#name",target:"_blank",rel:"noopener noreferrer"}},[t._v("npm package name convention"),n("OutboundLink")],1),t._v(":")]),t._v(" "),n("ul",[n("li",[t._v("can't start with a dot or an underscore")]),t._v(" "),n("li",[t._v("can't contain any non-URL-safe characters")]),t._v(" "),n("li",[t._v("can't contain uppercase letters")]),t._v(" "),n("li",[t._v("should be something short, but also reasonably descriptive")])]),t._v(" "),n("p",[t._v("If a plugin is intended to be released publicly, you may want to check the "),n("a",{attrs:{href:"https://www.npmjs.com/search?q=chartjs-plugin-",target:"_blank",rel:"noopener noreferrer"}},[t._v("registry"),n("OutboundLink")],1),t._v(" to see if there's something by that name already. Note that in this case, the package name should be prefixed by "),n("code",[t._v("chartjs-plugin-")]),t._v(" to appear in Chart.js plugin registry.")]),t._v(" "),n("h3",{attrs:{id:"plugin-options"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-options"}},[t._v("#")]),t._v(" Plugin options")]),t._v(" "),n("p",[t._v("Plugin options are located under the "),n("code",[t._v("options.plugins")]),t._v(" config and are scoped by the plugin ID: "),n("code",[t._v("options.plugins.{plugin-id}")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("foo")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// chart 'foo' option")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("p1")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("foo")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// p1 plugin 'foo' option")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bar")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("p2")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("foo")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// p2 plugin 'foo' option")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("bla")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("h4",{attrs:{id:"disable-plugins"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#disable-plugins"}},[t._v("#")]),t._v(" Disable plugins")]),t._v(" "),n("p",[t._v("To disable a global plugin for a specific chart instance, the plugin options must be set to "),n("code",[t._v("false")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[t._v("Chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("register")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'p1'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("p1")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// disable plugin 'p1' for this instance")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("p",[t._v("To disable all plugins for a specific chart instance, set "),n("code",[t._v("options.plugins")]),t._v(" to "),n("code",[t._v("false")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" chart "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Chart")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("options")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("plugins")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// all plugins are disabled for this instance")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),n("h4",{attrs:{id:"plugin-defaults"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-defaults"}},[t._v("#")]),t._v(" Plugin defaults")]),t._v(" "),n("p",[t._v("You can set default values for your plugin options in the "),n("code",[t._v("defaults")]),t._v(" entry of your plugin object. In the example below the canvas will always have a lightgreen backgroundColor unless the user overrides this option in "),n("code",[t._v("options.plugins.custom_canvas_background_color.color")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-javascript extra-class"},[n("pre",{pre:!0,attrs:{class:"language-javascript"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" plugin "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'custom_canvas_background_color'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("beforeDraw")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" args"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" options")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("save")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("globalCompositeOperation "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'destination-over'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("fillStyle "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" options"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("color"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("fillRect")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("width"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" chart"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("height"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("restore")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("defaults")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("color")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'lightGreen'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("h2",{attrs:{id:"plugin-core-api"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-core-api"}},[t._v("#")]),t._v(" Plugin Core API")]),t._v(" "),n("p",[t._v("Read more about the "),n("a",{attrs:{href:"../api/interfaces/Plugin"}},[t._v("existing plugin extension hooks")]),t._v(".")]),t._v(" "),n("h3",{attrs:{id:"chart-initialization"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#chart-initialization"}},[t._v("#")]),t._v(" Chart Initialization")]),t._v(" "),n("p",[t._v("Plugins are notified during the initialization process. These hooks can be used to setup data needed for the plugin to operate.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(316),alt:"Chart.js init flowchart"}})]),t._v(" "),n("h3",{attrs:{id:"chart-update"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#chart-update"}},[t._v("#")]),t._v(" Chart Update")]),t._v(" "),n("p",[t._v("Plugins are notified throughout the update process.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(317),alt:"Chart.js update flowchart"}})]),t._v(" "),n("h3",{attrs:{id:"scale-update"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#scale-update"}},[t._v("#")]),t._v(" Scale Update")]),t._v(" "),n("p",[t._v("Plugins are notified throughout the scale update process.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(318),alt:"Chart.js scale update flowchart"}})]),t._v(" "),n("h3",{attrs:{id:"rendering"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#rendering"}},[t._v("#")]),t._v(" Rendering")]),t._v(" "),n("p",[t._v("Plugins can interact with the chart throughout the render process. The rendering process is documented in the flowchart below. Each of the green processes is a plugin notification. The red lines indicate how cancelling part of the render process can occur when a plugin returns "),n("code",[t._v("false")]),t._v(" from a hook. Not all hooks are cancelable, however, in general most "),n("code",[t._v("before*")]),t._v(" hooks can be cancelled.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(319),alt:"Chart.js render pipeline flowchart"}})]),t._v(" "),n("h3",{attrs:{id:"event-handling"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#event-handling"}},[t._v("#")]),t._v(" Event Handling")]),t._v(" "),n("p",[t._v("Plugins can interact with the chart during the event handling process. The event handling flow is documented in the flowchart below. Each of the green processes is a plugin notification. If a plugin makes changes that require a re-render, the plugin can set "),n("code",[t._v("args.changed")]),t._v(" to "),n("code",[t._v("true")]),t._v(" to indicate that a render is needed. The built-in tooltip plugin uses this method to indicate when the tooltip has changed.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(320),alt:"Chart.js event handling flowchart"}})]),t._v(" "),n("h3",{attrs:{id:"chart-destroy"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#chart-destroy"}},[t._v("#")]),t._v(" Chart destroy")]),t._v(" "),n("p",[t._v("Plugins are notified during the destroy process. These hooks can be used to destroy things that the plugin made and used during its life.\nThe "),n("code",[t._v("destroy")]),t._v(" hook has been deprecated since Chart.js version 3.7.0, use the "),n("code",[t._v("afterDestroy")]),t._v(" hook instead.")]),t._v(" "),n("p",[n("img",{attrs:{src:s(321),alt:"Chart.js destroy flowchart"}})])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/40.bd778eac.js b/scriptApl/chart.js/dist/docs/assets/js/40.bd778eac.js new file mode 100644 index 00000000..8a8ab264 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/40.bd778eac.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{371:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-chartarea"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartarea"}},[t._v("#")]),t._v(" Interface: ChartArea")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"bottom"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bottom")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:5"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"height"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("height")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:7"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"left"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("left")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L3",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:3"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"right"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("right")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L4",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:4"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"top"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("top")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L2",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:2"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"width"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("width")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:6"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/41.b79220f6.js b/scriptApl/chart.js/dist/docs/assets/js/41.b79220f6.js new file mode 100644 index 00000000..e4b2bd63 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/41.b79220f6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{372:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-chartcomponent"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartcomponent"}},[e._v("#")]),e._v(" Interface: ChartComponent")]),e._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[e._v("#")]),e._v(" Hierarchy")]),e._v(" "),r("ul",[r("li",[r("p",[r("strong",[r("code",[e._v("ChartComponent")])])]),e._v(" "),r("p",[e._v("↳ "),r("RouterLink",{attrs:{to:"/api/interfaces/DatasetControllerChartComponent.html"}},[r("code",[e._v("DatasetControllerChartComponent")])])],1)])]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"defaultroutes"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defaultroutes"}},[e._v("#")]),e._v(" defaultRoutes")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("defaultRoutes")]),e._v(": "),r("code",[e._v("Object")])]),e._v(" "),r("h4",{attrs:{id:"index-signature"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#index-signature"}},[e._v("#")]),e._v(" Index signature")]),e._v(" "),r("p",[e._v("â–ª [property: "),r("code",[e._v("string")]),e._v("]: "),r("code",[e._v("string")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1414",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1414"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"defaults"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defaults"}},[e._v("#")]),e._v(" defaults")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("defaults")]),e._v(": "),r("code",[e._v("AnyObject")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1413",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1413"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"id"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[e._v("#")]),e._v(" id")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("id")]),e._v(": "),r("code",[e._v("string")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1412",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1412"),r("OutboundLink")],1)]),e._v(" "),r("h2",{attrs:{id:"methods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[e._v("#")]),e._v(" Methods")]),e._v(" "),r("h3",{attrs:{id:"afterregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#afterregister"}},[e._v("#")]),e._v(" afterRegister")]),e._v(" "),r("p",[e._v("â–¸ "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("afterRegister")]),e._v("(): "),r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"returns"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[e._v("#")]),e._v(" Returns")]),e._v(" "),r("p",[r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1417",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1417"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"afterunregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#afterunregister"}},[e._v("#")]),e._v(" afterUnregister")]),e._v(" "),r("p",[e._v("â–¸ "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("afterUnregister")]),e._v("(): "),r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"returns-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[e._v("#")]),e._v(" Returns")]),e._v(" "),r("p",[r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1419",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1419"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"beforeregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#beforeregister"}},[e._v("#")]),e._v(" beforeRegister")]),e._v(" "),r("p",[e._v("â–¸ "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("beforeRegister")]),e._v("(): "),r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"returns-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[e._v("#")]),e._v(" Returns")]),e._v(" "),r("p",[r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1416",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1416"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"beforeunregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#beforeunregister"}},[e._v("#")]),e._v(" beforeUnregister")]),e._v(" "),r("p",[e._v("â–¸ "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("beforeUnregister")]),e._v("(): "),r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"returns-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[e._v("#")]),e._v(" Returns")]),e._v(" "),r("p",[r("code",[e._v("void")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1418",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1418"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/42.c3157beb.js b/scriptApl/chart.js/dist/docs/assets/js/42.c3157beb.js new file mode 100644 index 00000000..e18d683b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/42.c3157beb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{373:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartconfiguration-ttype-tdata-tlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartconfiguration-ttype-tdata-tlabel"}},[t._v("#")]),t._v(" Interface: ChartConfiguration")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("data")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[a("code",[t._v("ChartData")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3702"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("DeepPartial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#datasetchartoptions"}},[a("code",[t._v("DatasetChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#scalechartoptions"}},[a("code",[t._v("ScaleChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"chartOptions"')]),t._v("]>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3703",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3703"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("plugins")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3704",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3704"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("TType")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3701"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/43.097368d1.js b/scriptApl/chart.js/dist/docs/assets/js/43.097368d1.js new file mode 100644 index 00000000..d8fda1c5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/43.097368d1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{374:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartconfigurationcustomtypesperdataset-ttype-tdata-tlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartconfigurationcustomtypesperdataset-ttype-tdata-tlabel"}},[t._v("#")]),t._v(" Interface: ChartConfigurationCustomTypesPerDataset")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("data")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartDataCustomTypesPerDataset.html"}},[a("code",[t._v("ChartDataCustomTypesPerDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(", "),a("code",[t._v("TLabel")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3712",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3712"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("DeepPartial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#datasetchartoptions"}},[a("code",[t._v("DatasetChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#scalechartoptions"}},[a("code",[t._v("ScaleChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"chartOptions"')]),t._v("]>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3713",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3713"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("plugins")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3714",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3714"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/44.2515f16e.js b/scriptApl/chart.js/dist/docs/assets/js/44.2515f16e.js new file mode 100644 index 00000000..39795dae --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/44.2515f16e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{375:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartdata-ttype-tdata-tlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartdata-ttype-tdata-tlabel"}},[t._v("#")]),t._v(" Interface: ChartData")]),t._v(" "),a("p",[t._v("TData represents the data point type. If unspecified, a default is provided\nbased on the chart type.\nTLabel represents the label type")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"datasets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasets"}},[t._v("#")]),t._v(" datasets")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasets")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3684",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3684"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labels"}},[t._v("#")]),t._v(" labels")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("labels")]),t._v(": "),a("code",[t._v("TLabel")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3683",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3683"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/45.d5b4b7c3.js b/scriptApl/chart.js/dist/docs/assets/js/45.d5b4b7c3.js new file mode 100644 index 00000000..052f7095 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/45.d5b4b7c3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{376:function(t,e,a){"use strict";a.r(e);var s=a(6),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartdatacustomtypesperdataset-ttype-tdata-tlabel"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartdatacustomtypesperdataset-ttype-tdata-tlabel"}},[t._v("#")]),t._v(" Interface: ChartDataCustomTypesPerDataset")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TLabel")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"datasets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasets"}},[t._v("#")]),t._v(" datasets")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasets")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#chartdatasetcustomtypesperdataset"}},[a("code",[t._v("ChartDatasetCustomTypesPerDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3693",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3693"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labels"}},[t._v("#")]),t._v(" labels")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("labels")]),t._v(": "),a("code",[t._v("TLabel")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3692",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3692"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/46.bbab8d6e.js b/scriptApl/chart.js/dist/docs/assets/js/46.bbab8d6e.js new file mode 100644 index 00000000..26cbb123 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/46.bbab8d6e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{377:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartdatasetproperties-ttype-tdata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartdatasetproperties-ttype-tdata"}},[t._v("#")]),t._v(" Interface: ChartDatasetProperties")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("data")]),t._v(": "),a("code",[t._v("TData")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3651"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("TType")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3650"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/47.79aa575e.js b/scriptApl/chart.js/dist/docs/assets/js/47.79aa575e.js new file mode 100644 index 00000000..a53afba3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/47.79aa575e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{378:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-chartdatasetpropertiescustomtypesperdataset-ttype-tdata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartdatasetpropertiescustomtypesperdataset-ttype-tdata"}},[t._v("#")]),t._v(" Interface: ChartDatasetPropertiesCustomTypesPerDataset")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[t._v("#")]),t._v(" data")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("data")]),t._v(": "),a("code",[t._v("TData")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3656",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3656"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[t._v("#")]),t._v(" type")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("type")]),t._v(": "),a("code",[t._v("TType")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3655",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3655"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/48.45785af9.js b/scriptApl/chart.js/dist/docs/assets/js/48.45785af9.js new file mode 100644 index 00000000..b6203c94 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/48.45785af9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{379:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-chartevent"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-chartevent"}},[e._v("#")]),e._v(" Interface: ChartEvent")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"native"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#native"}},[e._v("#")]),e._v(" native")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("native")]),e._v(": "),r("code",[e._v("Event")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1407",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1407"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"type"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type"}},[e._v("#")]),e._v(" type")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("type")]),e._v(": "),r("code",[e._v('"resize"')]),e._v(" | "),r("code",[e._v('"click"')]),e._v(" | "),r("code",[e._v('"contextmenu"')]),e._v(" | "),r("code",[e._v('"dblclick"')]),e._v(" | "),r("code",[e._v('"keydown"')]),e._v(" | "),r("code",[e._v('"keypress"')]),e._v(" | "),r("code",[e._v('"keyup"')]),e._v(" | "),r("code",[e._v('"mousedown"')]),e._v(" | "),r("code",[e._v('"mouseenter"')]),e._v(" | "),r("code",[e._v('"mousemove"')]),e._v(" | "),r("code",[e._v('"mouseout"')]),e._v(" | "),r("code",[e._v('"mouseup"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1394",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1394"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[e._v("#")]),e._v(" x")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("x")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1408",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1408"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[e._v("#")]),e._v(" y")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("y")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1409",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1409"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/49.0569a6eb.js b/scriptApl/chart.js/dist/docs/assets/js/49.0569a6eb.js new file mode 100644 index 00000000..4da40e38 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/49.0569a6eb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{380:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-charttyperegistry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-charttyperegistry"}},[t._v("#")]),t._v(" Interface: ChartTypeRegistry")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"bar"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bar"}},[t._v("#")]),t._v(" bar")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bar")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerChartOptions.html"}},[a("code",[t._v("BarControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerDatasetOptions.html"}},[a("code",[t._v("BarControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("BarParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3549",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3549"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bubble"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubble"}},[t._v("#")]),t._v(" bubble")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bubble")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleControllerDatasetOptions.html"}},[a("code",[t._v("BubbleControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleDataPoint.html"}},[a("code",[t._v("BubbleDataPoint")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("BubbleParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3573",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3573"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"doughnut"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#doughnut"}},[t._v("#")]),t._v(" doughnut")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("doughnut")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-3"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerChartOptions.html"}},[a("code",[t._v("DoughnutControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutMetaExtensions.html"}},[a("code",[t._v("DoughnutMetaExtensions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3589",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3589"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"line"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#line"}},[t._v("#")]),t._v(" line")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("line")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-4"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[a("code",[t._v("LineControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ScatterDataPoint.html"}},[a("code",[t._v("ScatterDataPoint")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CartesianParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3557",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3557"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"pie"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pie"}},[t._v("#")]),t._v(" pie")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("pie")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-5"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerChartOptions.html"}},[a("code",[t._v("DoughnutControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutMetaExtensions.html"}},[a("code",[t._v("DoughnutMetaExtensions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3581",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3581"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"polararea"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polararea"}},[t._v("#")]),t._v(" polarArea")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("polarArea")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-6"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerChartOptions.html"}},[a("code",[t._v("PolarAreaControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerDatasetOptions.html"}},[a("code",[t._v("PolarAreaControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("RadialParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"radialLinear"')])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3597",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3597"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radar"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radar"}},[t._v("#")]),t._v(" radar")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("radar")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-7"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[a("code",[t._v("LineControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/RadarControllerDatasetOptions.html"}},[a("code",[t._v("RadarControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("RadialParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"radialLinear"')])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3605",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3605"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scatter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scatter"}},[t._v("#")]),t._v(" scatter")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("scatter")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-8"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[a("code",[t._v("LineControllerChartOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("defaultDataPoint")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ScatterDataPoint.html"}},[a("code",[t._v("ScatterDataPoint")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("metaExtensions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsedDataType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CartesianParsedData")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[a("code",[t._v("CartesianScaleTypeRegistry")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3565",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3565"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/5.00f814ac.js b/scriptApl/chart.js/dist/docs/assets/js/5.00f814ac.js new file mode 100644 index 00000000..252384a3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/5.00f814ac.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{296:function(t,e,n){},332:function(t,e,n){"use strict";n(296)},594:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(332),n(6)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/50.14bd3ba2.js b/scriptApl/chart.js/dist/docs/assets/js/50.14bd3ba2.js new file mode 100644 index 00000000..adc72634 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/50.14bd3ba2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{381:function(t,r,e){"use strict";e.r(r);var o=e(6),a=Object(o.a)({},(function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"interface-commonelementoptions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#interface-commonelementoptions"}},[t._v("#")]),t._v(" Interface: CommonElementOptions")]),t._v(" "),e("h2",{attrs:{id:"hierarchy"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),e("ul",[e("li",[e("p",[e("strong",[e("code",[t._v("CommonElementOptions")])])]),t._v(" "),e("p",[t._v("↳ "),e("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[e("code",[t._v("ArcOptions")])])],1),t._v(" "),e("p",[t._v("↳ "),e("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[e("code",[t._v("LineOptions")])])],1),t._v(" "),e("p",[t._v("↳ "),e("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[e("code",[t._v("PointOptions")])])],1)])]),t._v(" "),e("h2",{attrs:{id:"properties"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),e("h3",{attrs:{id:"backgroundcolor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),e("p",[t._v("• "),e("strong",[t._v("backgroundColor")]),t._v(": "),e("RouterLink",{attrs:{to:"/api/#color"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("h4",{attrs:{id:"defined-in"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),e("OutboundLink")],1)]),t._v(" "),e("hr"),t._v(" "),e("h3",{attrs:{id:"bordercolor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),e("p",[t._v("• "),e("strong",[t._v("borderColor")]),t._v(": "),e("RouterLink",{attrs:{to:"/api/#color"}},[e("code",[t._v("Color")])])],1),t._v(" "),e("h4",{attrs:{id:"defined-in-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),e("OutboundLink")],1)]),t._v(" "),e("hr"),t._v(" "),e("h3",{attrs:{id:"borderwidth"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),e("p",[t._v("• "),e("strong",[t._v("borderWidth")]),t._v(": "),e("code",[t._v("number")])]),t._v(" "),e("h4",{attrs:{id:"defined-in-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),e("OutboundLink")],1)])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/51.e0968711.js b/scriptApl/chart.js/dist/docs/assets/js/51.e0968711.js new file mode 100644 index 00000000..c86dce25 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/51.e0968711.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{382:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-commonhoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-commonhoveroptions"}},[r._v("#")]),r._v(" Interface: CommonHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[r._v("#")]),r._v(" Hierarchy")]),r._v(" "),t("ul",[t("li",[t("p",[t("strong",[t("code",[r._v("CommonHoverOptions")])])]),r._v(" "),t("p",[r._v("↳ "),t("RouterLink",{attrs:{to:"/api/interfaces/ArcHoverOptions.html"}},[t("code",[r._v("ArcHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("RouterLink",{attrs:{to:"/api/interfaces/LineHoverOptions.html"}},[t("code",[r._v("LineHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("RouterLink",{attrs:{to:"/api/interfaces/PointHoverOptions.html"}},[t("code",[r._v("PointHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("RouterLink",{attrs:{to:"/api/interfaces/BarHoverOptions.html"}},[t("code",[r._v("BarHoverOptions")])])],1)])]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"hoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[r._v("#")]),r._v(" hoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1702"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[r._v("#")]),r._v(" hoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1701"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[r._v("#")]),r._v(" hoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1700"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/52.fe65ddf8.js b/scriptApl/chart.js/dist/docs/assets/js/52.fe65ddf8.js new file mode 100644 index 00000000..789181d8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/52.fe65ddf8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{383:function(e,t,a){"use strict";a.r(t);var r=a(6),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-complexfilltarget"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-complexfilltarget"}},[e._v("#")]),e._v(" Interface: ComplexFillTarget")]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"above"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#above"}},[e._v("#")]),e._v(" above")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("above")]),e._v(": "),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[e._v("Color")])])],1),e._v(" "),a("p",[e._v("If no color is set, the default color will be the background color of the chart.")]),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2148",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2148"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"below"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#below"}},[e._v("#")]),e._v(" below")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("below")]),e._v(": "),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[e._v("Color")])])],1),e._v(" "),a("p",[e._v("Same as the above.")]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2152",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2152"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"target"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#target"}},[e._v("#")]),e._v(" target")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("target")]),e._v(": "),a("RouterLink",{attrs:{to:"/api/#filltarget"}},[a("code",[e._v("FillTarget")])])],1),e._v(" "),a("p",[e._v("The accepted values are the same as the filling mode values, so you may use absolute and relative dataset indexes and/or boundaries.")]),e._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2144",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2144"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/53.faa1ff3f.js b/scriptApl/chart.js/dist/docs/assets/js/53.faa1ff3f.js new file mode 100644 index 00000000..b5837b28 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/53.faa1ff3f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{384:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-controllerdatasetoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-controllerdatasetoptions"}},[t._v("#")]),t._v(" Interface: ControllerDatasetOptions")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[a("code",[t._v("ParsingOptions")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("ControllerDatasetOptions")])])]),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerDatasetOptions.html"}},[a("code",[t._v("BarControllerDatasetOptions")])])],1),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/BubbleControllerDatasetOptions.html"}},[a("code",[t._v("BubbleControllerDatasetOptions")])])],1),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])])],1),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/RadarControllerDatasetOptions.html"}},[a("code",[t._v("RadarControllerDatasetOptions")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"clip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("clip")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hidden"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("hidden")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"indexaxis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("indexAxis")]),t._v(": "),a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])]),t._v(" "),a("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"label"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("label")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"normalized"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("normalized")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[t._v("ParsingOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"order"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("order")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsing")]),t._v(": "),a("code",[t._v("false")]),t._v(" | { [key: string]: "),a("code",[t._v("string")]),t._v("; }")]),t._v(" "),a("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[t._v("ParsingOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("stack")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/54.fcfed2c5.js b/scriptApl/chart.js/dist/docs/assets/js/54.fcfed2c5.js new file mode 100644 index 00000000..6fbe3b7a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/54.fcfed2c5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{385:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-corechartoptions-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-corechartoptions-ttype"}},[t._v("#")]),t._v(" Interface: CoreChartOptions")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[a("code",[t._v("ParsingOptions")])])],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#animationoptions"}},[a("code",[t._v("AnimationOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("CoreChartOptions")])])]),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/Defaults.html"}},[a("code",[t._v("Defaults")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"animation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animation")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#animationspec"}},[a("code",[t._v("AnimationSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & { "),a("code",[t._v("onComplete?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" ; "),a("code",[t._v("onProgress?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("AnimationOptions.animation")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animations")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#animationsspec"}},[a("code",[t._v("AnimationsSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("AnimationOptions.animations")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aspectratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aspectratio"}},[t._v("#")]),t._v(" aspectRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("aspectRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1505",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1505"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"backgroundcolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("backgroundColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("p",[t._v("base background color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.backgroundColor")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1474",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1474"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bordercolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("borderColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("p",[t._v("base border color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.borderColor")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1479",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1479"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"clip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("clip")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1463",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1463"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" color")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("p",[t._v("base color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1469",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1469"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datasets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasets"}},[t._v("#")]),t._v(" datasets")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasets")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("bar")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerDatasetOptions.html"}},[a("code",[t._v("BarControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("bubble")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleControllerDatasetOptions.html"}},[a("code",[t._v("BubbleControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("doughnut")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("line")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pie")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("polarArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerDatasetOptions.html"}},[a("code",[t._v("PolarAreaControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("radar")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/RadarControllerDatasetOptions.html"}},[a("code",[t._v("RadarControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scatter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1450",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1450"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"devicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#devicepixelratio"}},[t._v("#")]),t._v(" devicePixelRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("devicePixelRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Override the window's default devicePixelRatio.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" window.devicePixelRatio")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1522",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1522"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"events"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[t._v("#")]),t._v(" events")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("events")]),t._v(": keyof "),a("code",[t._v("HTMLElementEventMap")]),t._v("[]")]),t._v(" "),a("p",[t._v("The events option defines the browser events that the chart should listen to for tooltips and hovering.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove']")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1532",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1532"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"font"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#font"}},[t._v("#")]),t._v(" font")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("font")]),t._v(": "),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">")],1),t._v(" "),a("p",[t._v("base font")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.font")]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1484",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1484"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hover"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hover"}},[t._v("#")]),t._v(" hover")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("hover")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[a("code",[t._v("CoreInteractionOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1526",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1526"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"indexaxis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("indexAxis")]),t._v(": "),a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])]),t._v(" "),a("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1458",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1458"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interaction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interaction"}},[t._v("#")]),t._v(" interaction")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("interaction")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[a("code",[t._v("CoreInteractionOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1524",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1524"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout"}},[t._v("#")]),t._v(" layout")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("layout")]),t._v(": "),a("code",[t._v("Partial")]),t._v("<{ "),a("code",[t._v("autoPadding")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("padding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">> }>")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1544",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1544"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"locale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#locale"}},[t._v("#")]),t._v(" locale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("locale")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Locale used for number formatting (using "),a("code",[t._v("Intl.NumberFormat")]),t._v(").")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" user's browser setting")]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1511",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1511"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maintainaspectratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maintainaspectratio"}},[t._v("#")]),t._v(" maintainAspectRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maintainAspectRatio")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Maintain the original canvas aspect ratio (width / height) when resizing.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1494",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1494"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"normalized"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("normalized")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[t._v("ParsingOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsing")]),t._v(": "),a("code",[t._v("false")]),t._v(" | { [key: string]: "),a("code",[t._v("string")]),t._v("; }")]),t._v(" "),a("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[t._v("ParsingOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resizedelay"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resizedelay"}},[t._v("#")]),t._v(" resizeDelay")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("resizeDelay")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Delay the resize update by give amount of milliseconds. This can ease the resize process by debouncing update of the elements.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1499",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1499"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"responsive"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#responsive"}},[t._v("#")]),t._v(" responsive")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("responsive")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Resizes the chart canvas when its container does (important note...).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1489",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1489"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"transitions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("transitions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[a("code",[t._v("TransitionsSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("AnimationOptions.transitions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"onclick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onclick"}},[t._v("#")]),t._v(" onClick")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onClick")]),t._v("("),a("code",[t._v("event")]),t._v(", "),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called if the event is of type 'mouseup' or 'click'. Passed the event, an array of active elements, and the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1542",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1542"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onhover"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onhover"}},[t._v("#")]),t._v(" onHover")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onHover")]),t._v("("),a("code",[t._v("event")]),t._v(", "),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called when any of the events fire. Passed the event, an array of active elements (bars, points, etc), and the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1537",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1537"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onresize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onresize"}},[t._v("#")]),t._v(" onResize")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onResize")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("size")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size.height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size.width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1516",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1516"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/55.7db1d28a.js b/scriptApl/chart.js/dist/docs/assets/js/55.7db1d28a.js new file mode 100644 index 00000000..4b4d0832 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/55.7db1d28a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{386:function(e,t,a){"use strict";a.r(t);var r=a(6),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-coreinteractionoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-coreinteractionoptions"}},[e._v("#")]),e._v(" Interface: CoreInteractionOptions")]),e._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[e._v("#")]),e._v(" Hierarchy")]),e._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[e._v("CoreInteractionOptions")])])]),e._v(" "),a("p",[e._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipOptions.html"}},[a("code",[e._v("TooltipOptions")])])],1)])]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"axis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[e._v("#")]),e._v(" axis")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("axis")]),e._v(": "),a("RouterLink",{attrs:{to:"/api/#interactionaxis"}},[a("code",[e._v("InteractionAxis")])])],1),e._v(" "),a("p",[e._v("Defines which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes.")]),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1439",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1439"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"includeinvisible"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#includeinvisible"}},[e._v("#")]),e._v(" includeInvisible")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("includeInvisible")]),e._v(": "),a("code",[e._v("boolean")])]),e._v(" "),a("p",[e._v("if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" false")]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1445",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1445"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"intersect"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#intersect"}},[e._v("#")]),e._v(" intersect")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("intersect")]),e._v(": "),a("code",[e._v("boolean")])]),e._v(" "),a("p",[e._v("if true, the hover mode only applies when the mouse position intersects an item on the chart.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" true")]),e._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1434",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1434"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"mode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mode"}},[e._v("#")]),e._v(" mode")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("mode")]),e._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionModeMap.html"}},[a("code",[e._v("InteractionModeMap")])])],1),e._v(" "),a("p",[e._v("Sets which elements appear in the tooltip. See Interaction Modes for details.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" 'nearest'")]),e._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1429",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1429"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/56.8b0e82b7.js b/scriptApl/chart.js/dist/docs/assets/js/56.8b0e82b7.js new file mode 100644 index 00000000..4ade2898 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/56.8b0e82b7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{387:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-corescaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-corescaleoptions"}},[t._v("#")]),t._v(" Interface: CoreScaleOptions")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("CoreScaleOptions")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"aligntopixels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aligntopixels"}},[t._v("#")]),t._v(" alignToPixels")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("alignToPixels")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Align pixel values to device pixels")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1156",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1156"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"display"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v('"auto"')])]),t._v(" "),a("p",[t._v("Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1152",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1152"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reverse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reverse"}},[t._v("#")]),t._v(" reverse")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("reverse")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Reverse the scale.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1161",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1161"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the axis. Higher weights are further away from the chart area.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1166",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1166"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterBuildTicks")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after ticks are created. Useful for filtering ticks.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1194",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1194"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftercalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftercalculatelabelrotation"}},[t._v("#")]),t._v(" afterCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterCalculateLabelRotation")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after tick rotation is determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1210",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1210"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterDataLimits")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after data limits are determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1186",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1186"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterfit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterfit"}},[t._v("#")]),t._v(" afterFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterFit")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after the scale fits to the canvas.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1218",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1218"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftersetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftersetdimensions"}},[t._v("#")]),t._v(" afterSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterSetDimensions")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after dimensions are set.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1178",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1178"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterticktolabelconversion"}},[t._v("#")]),t._v(" afterTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterTickToLabelConversion")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs after ticks are converted into strings.")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1202",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1202"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("afterUpdate")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs at the end of the update process.")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1222",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1222"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeBuildTicks")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before ticks are created.")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1190",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1190"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforecalculatelabelrotation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforecalculatelabelrotation"}},[t._v("#")]),t._v(" beforeCalculateLabelRotation")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeCalculateLabelRotation")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before tick rotation is determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1206",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1206"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeDataLimits")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before data limits are determined.")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1182",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1182"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforefit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforefit"}},[t._v("#")]),t._v(" beforeFit")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeFit")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before the scale fits to the canvas.")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1214",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1214"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforesetdimensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforesetdimensions"}},[t._v("#")]),t._v(" beforeSetDimensions")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeSetDimensions")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before dimensions are set.")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1174",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1174"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeticktolabelconversion"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeticktolabelconversion"}},[t._v("#")]),t._v(" beforeTickToLabelConversion")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeTickToLabelConversion")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback that runs before ticks are converted into strings.")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1198",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1198"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("beforeUpdate")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Callback called before the update process starts.")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1170",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1170"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/57.9de2d983.js b/scriptApl/chart.js/dist/docs/assets/js/57.9de2d983.js new file mode 100644 index 00000000..74f8fb1d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/57.9de2d983.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{388:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-datasetcontrollerchartcomponent"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-datasetcontrollerchartcomponent"}},[t._v("#")]),t._v(" Interface: DatasetControllerChartComponent")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[r("code",[t._v("ChartComponent")])])],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("DatasetControllerChartComponent")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"defaultroutes"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defaultroutes"}},[t._v("#")]),t._v(" defaultRoutes")]),t._v(" "),r("p",[t._v("• "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("defaultRoutes")]),t._v(": "),r("code",[t._v("Object")])]),t._v(" "),r("h4",{attrs:{id:"index-signature"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#index-signature"}},[t._v("#")]),t._v(" Index signature")]),t._v(" "),r("p",[t._v("â–ª [property: "),r("code",[t._v("string")]),t._v("]: "),r("code",[t._v("string")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#defaultroutes"}},[t._v("defaultRoutes")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1414",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1414"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"defaults"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defaults"}},[t._v("#")]),t._v(" defaults")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("defaults")]),t._v(": "),r("code",[t._v("Object")])]),t._v(" "),r("h4",{attrs:{id:"type-declaration"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("dataElementType?")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("string")]),t._v(" | "),r("code",[t._v("false")])])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("datasetElementType?")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("string")]),t._v(" | "),r("code",[t._v("false")])])])])]),t._v(" "),r("h4",{attrs:{id:"overrides"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#defaults"}},[t._v("defaults")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"id"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("id")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#id"}},[t._v("id")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1412",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1412"),r("OutboundLink")],1)]),t._v(" "),r("h2",{attrs:{id:"methods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),r("h3",{attrs:{id:"afterregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#afterregister"}},[t._v("#")]),t._v(" afterRegister")]),t._v(" "),r("p",[t._v("â–¸ "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("afterRegister")]),t._v("(): "),r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"returns"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#afterregister"}},[t._v("afterRegister")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1417",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1417"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"afterunregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#afterunregister"}},[t._v("#")]),t._v(" afterUnregister")]),t._v(" "),r("p",[t._v("â–¸ "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("afterUnregister")]),t._v("(): "),r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"returns-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#afterunregister"}},[t._v("afterUnregister")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1419",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1419"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"beforeregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#beforeregister"}},[t._v("#")]),t._v(" beforeRegister")]),t._v(" "),r("p",[t._v("â–¸ "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("beforeRegister")]),t._v("(): "),r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"returns-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#beforeregister"}},[t._v("beforeRegister")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1416",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1416"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"beforeunregister"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#beforeunregister"}},[t._v("#")]),t._v(" beforeUnregister")]),t._v(" "),r("p",[t._v("â–¸ "),r("code",[t._v("Optional")]),t._v(" "),r("strong",[t._v("beforeUnregister")]),t._v("(): "),r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"returns-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),r("p",[r("code",[t._v("void")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html#beforeunregister"}},[t._v("beforeUnregister")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1418",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1418"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/58.b0f8ad0c.js b/scriptApl/chart.js/dist/docs/assets/js/58.b0f8ad0c.js new file mode 100644 index 00000000..08fa0242 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/58.b0f8ad0c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{389:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-dateadapter"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-dateadapter"}},[t._v("#")]),t._v(" Interface: DateAdapter")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("unknown")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"add"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#add"}},[t._v("#")]),t._v(" add")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("add")]),t._v("("),a("code",[t._v("timestamp")]),t._v(", "),a("code",[t._v("amount")]),t._v(", "),a("code",[t._v("unit")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Adds the specified "),a("code",[t._v("amount")]),t._v(" of "),a("code",[t._v("unit")]),t._v(" to the given "),a("code",[t._v("timestamp")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("timestamp")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the input timestamp")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("amount")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the amount to add")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unit")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the unit as string")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"diff"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#diff"}},[t._v("#")]),t._v(" diff")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("diff")]),t._v("("),a("code",[t._v("a")]),t._v(", "),a("code",[t._v("b")]),t._v(", "),a("code",[t._v("unit")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns the number of "),a("code",[t._v("unit")]),t._v(" between the given timestamps.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("a")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the input timestamp (reference)")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("b")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the timestamp to subtract")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unit")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the unit as string")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:49"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"endof"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#endof"}},[t._v("#")]),t._v(" endOf")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("endOf")]),t._v("("),a("code",[t._v("timestamp")]),t._v(", "),a("code",[t._v("unit")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns end of "),a("code",[t._v("unit")]),t._v(" for the given "),a("code",[t._v("timestamp")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("timestamp")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the input timestamp")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unit")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" | "),a("code",[t._v('"isoWeek"')])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the unit as string")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L65",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:65"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"format"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#format"}},[t._v("#")]),t._v(" format")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("format")]),t._v("("),a("code",[t._v("timestamp")]),t._v(", "),a("code",[t._v("format")]),t._v("): "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Returns the formatted date in the specified "),a("code",[t._v("format")]),t._v(" for a given "),a("code",[t._v("timestamp")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("timestamp")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the timestamp to format")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("format")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the date/time token")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"formats"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#formats"}},[t._v("#")]),t._v(" formats")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("formats")]),t._v("(): "),a("code",[t._v("Object")])]),t._v(" "),a("p",[t._v("Returns a map of time formats for the supported formatting units defined\nin Unit as well as 'datetime' representing a detailed date/time string.")]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L20",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:20"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"init"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#init"}},[t._v("#")]),t._v(" init")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("init")]),t._v("("),a("code",[t._v("chartOptions")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Will called with chart options after adapter creation.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("_DeepPartialObject")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/#datasetchartoptions"}},[a("code",[t._v("DatasetChartOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/#scalechartoptions"}},[a("code",[t._v("ScaleChartOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L14",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:14"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"override"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#override"}},[t._v("#")]),t._v(" override")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("override")]),t._v("("),a("code",[t._v("members")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("members")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/DateAdapter.html"}},[a("code",[t._v("DateAdapter")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("value")]),t._v(", "),a("code",[t._v("format?")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Parses the given "),a("code",[t._v("value")]),t._v(" and return the associated timestamp.")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the value to parse (usually comes from the data)")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("format?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L26",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:26"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"startof"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#startof"}},[t._v("#")]),t._v(" startOf")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("startOf")]),t._v("("),a("code",[t._v("timestamp")]),t._v(", "),a("code",[t._v("unit")]),t._v(", "),a("code",[t._v("weekday?")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Returns start of "),a("code",[t._v("unit")]),t._v(" for the given "),a("code",[t._v("timestamp")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("timestamp")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the input timestamp")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unit")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" | "),a("code",[t._v('"isoWeek"')])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("the unit as string")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("weekday?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:58"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/59.f1ff4935.js b/scriptApl/chart.js/dist/docs/assets/js/59.f1ff4935.js new file mode 100644 index 00000000..411b1224 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/59.f1ff4935.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{390:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-defaults"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-defaults"}},[t._v("#")]),t._v(" Interface: Defaults")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(">")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("Defaults")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"animation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animation")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#animationspec"}},[a("code",[t._v("AnimationSpec")])]),t._v(" & { "),a("code",[t._v("onComplete?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" ; "),a("code",[t._v("onProgress?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#animation"}},[t._v("animation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animations")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#animationsspec"}},[a("code",[t._v("AnimationsSpec")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#animations"}},[t._v("animations")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aspectratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aspectratio"}},[t._v("#")]),t._v(" aspectRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("aspectRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 2")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#aspectratio"}},[t._v("aspectRatio")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1505",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1505"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"backgroundcolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("backgroundColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("base background color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.backgroundColor")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#backgroundcolor"}},[t._v("backgroundColor")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1474",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1474"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bordercolor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("borderColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("base border color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.borderColor")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#bordercolor"}},[t._v("borderColor")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1479",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1479"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"clip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("clip")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1463",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1463"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" color")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v(">")],1),t._v(" "),a("p",[t._v("base color")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#color"}},[t._v("color")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1469",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1469"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datasets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasets"}},[t._v("#")]),t._v(" datasets")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("datasets")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("bar")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerDatasetOptions.html"}},[a("code",[t._v("BarControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("bubble")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleControllerDatasetOptions.html"}},[a("code",[t._v("BubbleControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("doughnut")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("line")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pie")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("polarArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerDatasetOptions.html"}},[a("code",[t._v("PolarAreaControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("radar")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/RadarControllerDatasetOptions.html"}},[a("code",[t._v("RadarControllerDatasetOptions")])]),t._v(" & "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[a("code",[t._v("FillerControllerDatasetOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scatter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#datasets"}},[t._v("datasets")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1450",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1450"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"devicepixelratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#devicepixelratio"}},[t._v("#")]),t._v(" devicePixelRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("devicePixelRatio")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Override the window's default devicePixelRatio.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" window.devicePixelRatio")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#devicepixelratio"}},[t._v("devicePixelRatio")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1522",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1522"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"elements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elements"}},[t._v("#")]),t._v(" elements")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("elements")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ElementOptionsByType.html"}},[a("code",[t._v("ElementOptionsByType")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("ElementChartOptions.elements")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2047",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2047"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"events"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#events"}},[t._v("#")]),t._v(" events")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("events")]),t._v(": keyof "),a("code",[t._v("HTMLElementEventMap")]),t._v("[]")]),t._v(" "),a("p",[t._v("The events option defines the browser events that the chart should listen to for tooltips and hovering.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove']")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#events"}},[t._v("events")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1532",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1532"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"font"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#font"}},[t._v("#")]),t._v(" font")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("font")]),t._v(": "),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">")],1),t._v(" "),a("p",[t._v("base font")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.font")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#font"}},[t._v("font")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1484",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1484"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hover"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hover"}},[t._v("#")]),t._v(" hover")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("hover")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[a("code",[t._v("CoreInteractionOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#hover"}},[t._v("hover")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1526",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1526"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"indexaxis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("indexAxis")]),t._v(": "),a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])]),t._v(" "),a("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1458",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1458"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interaction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interaction"}},[t._v("#")]),t._v(" interaction")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("interaction")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[a("code",[t._v("CoreInteractionOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#interaction"}},[t._v("interaction")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1524",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1524"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"layout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layout"}},[t._v("#")]),t._v(" layout")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("layout")]),t._v(": "),a("code",[t._v("Partial")]),t._v("<{ "),a("code",[t._v("autoPadding")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("padding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("> }>")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#layout"}},[t._v("layout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1544",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1544"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"locale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#locale"}},[t._v("#")]),t._v(" locale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("locale")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("Locale used for number formatting (using "),a("code",[t._v("Intl.NumberFormat")]),t._v(").")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" user's browser setting")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#locale"}},[t._v("locale")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1511",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1511"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maintainaspectratio"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maintainaspectratio"}},[t._v("#")]),t._v(" maintainAspectRatio")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maintainAspectRatio")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Maintain the original canvas aspect ratio (width / height) when resizing.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#maintainaspectratio"}},[t._v("maintainAspectRatio")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1494",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1494"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"normalized"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("normalized")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsing")]),t._v(": "),a("code",[t._v("false")]),t._v(" | { [key: string]: "),a("code",[t._v("string")]),t._v("; }")]),t._v(" "),a("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("plugins")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginOptionsByType.html"}},[a("code",[t._v("PluginOptionsByType")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[t._v("PluginChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html#plugins"}},[t._v("plugins")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2845",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2845"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resizedelay"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resizedelay"}},[t._v("#")]),t._v(" resizeDelay")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("resizeDelay")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Delay the resize update by give amount of milliseconds. This can ease the resize process by debouncing update of the elements.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#resizedelay"}},[t._v("resizeDelay")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1499",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1499"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"responsive"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#responsive"}},[t._v("#")]),t._v(" responsive")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("responsive")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Resizes the chart canvas when its container does (important note...).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#responsive"}},[t._v("responsive")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1489",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1489"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scale"}},[t._v("#")]),t._v(" scale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("scale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scaleoptionsbytype"}},[a("code",[t._v("ScaleOptionsByType")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L659",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:659"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scales"}},[t._v("#")]),t._v(" scales")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("scales")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("category")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"category"')]),t._v(" } & "),a("code",[t._v("Omit")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(", "),a("code",[t._v('"min"')]),t._v(" | "),a("code",[t._v('"max"')]),t._v("> & { "),a("code",[t._v("labels")]),t._v(": "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("string")]),t._v("[][] ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("linear")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"linear"')]),t._v(" } & "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(" & { "),a("code",[t._v("beginAtZero")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("grace?")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMax?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("count")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("format")]),t._v(": "),a("code",[t._v("NumberFormatOptions")]),t._v(" ; "),a("code",[t._v("precision")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" } }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("logarithmic")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"logarithmic"')]),t._v(" } & "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(" & { "),a("code",[t._v("suggestedMax?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("format")]),t._v(": "),a("code",[t._v("NumberFormatOptions")]),t._v(" } }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("radialLinear")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"radialLinear"')]),t._v(" } & "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(" & { "),a("code",[t._v("angleLines")]),t._v(": { "),a("code",[t._v("borderDash")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v("[], "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("borderDashOffset")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("lineWidth")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> } ; "),a("code",[t._v("animate")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("beginAtZero")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("grid")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/GridLineOptions.html"}},[a("code",[t._v("GridLineOptions")])]),t._v(" ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("pointLabels")]),t._v(": { "),a("code",[t._v("backdropColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("backdropPadding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("borderRadius")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[a("code",[t._v("BorderRadius")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("centerPointLabels")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("font")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("padding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("callback")]),t._v(": ("),a("code",[t._v("label")]),t._v(": "),a("code",[t._v("string")]),t._v(", "),a("code",[t._v("index")]),t._v(": "),a("code",[t._v("number")]),t._v(") => "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("number")]),t._v("[] } ; "),a("code",[t._v("startAngle")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMax")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#radialtickoptions"}},[a("code",[t._v("RadialTickOptions")])]),t._v(" }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("time")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"time"')]),t._v(" } & "),a("code",[t._v("Omit")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(", "),a("code",[t._v('"min"')]),t._v(" | "),a("code",[t._v('"max"')]),t._v("> & { "),a("code",[t._v("adapters")]),t._v(": { "),a("code",[t._v("date")]),t._v(": "),a("code",[t._v("unknown")]),t._v(" } ; "),a("code",[t._v("bounds")]),t._v(": "),a("code",[t._v('"data"')]),t._v(" | "),a("code",[t._v('"ticks"')]),t._v(" ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("offsetAfterAutoskip")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("suggestedMax")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("source")]),t._v(": "),a("code",[t._v('"auto"')]),t._v(" | "),a("code",[t._v('"data"')]),t._v(" | "),a("code",[t._v('"labels"')]),t._v(" } ; "),a("code",[t._v("time")]),t._v(": { "),a("code",[t._v("displayFormats")]),t._v(": { [key: string]: "),a("code",[t._v("string")]),t._v("; } ; "),a("code",[t._v("isoWeekday")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("minUnit")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("parser")]),t._v(": "),a("code",[t._v("string")]),t._v(" | ("),a("code",[t._v("v")]),t._v(": "),a("code",[t._v("unknown")]),t._v(") => "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("round")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("tooltipFormat")]),t._v(": "),a("code",[t._v("string")]),t._v(" ; "),a("code",[t._v("unit")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" } }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("timeseries")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("{ "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"timeseries"')]),t._v(" } & "),a("code",[t._v("Omit")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(", "),a("code",[t._v('"min"')]),t._v(" | "),a("code",[t._v('"max"')]),t._v("> & { "),a("code",[t._v("adapters")]),t._v(": { "),a("code",[t._v("date")]),t._v(": "),a("code",[t._v("unknown")]),t._v(" } ; "),a("code",[t._v("bounds")]),t._v(": "),a("code",[t._v('"data"')]),t._v(" | "),a("code",[t._v('"ticks"')]),t._v(" ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("offsetAfterAutoskip")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("suggestedMax")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("source")]),t._v(": "),a("code",[t._v('"auto"')]),t._v(" | "),a("code",[t._v('"data"')]),t._v(" | "),a("code",[t._v('"labels"')]),t._v(" } ; "),a("code",[t._v("time")]),t._v(": { "),a("code",[t._v("displayFormats")]),t._v(": { [key: string]: "),a("code",[t._v("string")]),t._v("; } ; "),a("code",[t._v("isoWeekday")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("minUnit")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("parser")]),t._v(": "),a("code",[t._v("string")]),t._v(" | ("),a("code",[t._v("v")]),t._v(": "),a("code",[t._v("unknown")]),t._v(") => "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("round")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("tooltipFormat")]),t._v(": "),a("code",[t._v("string")]),t._v(" ; "),a("code",[t._v("unit")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" } }")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L660",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:660"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"transitions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("transitions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[a("code",[t._v("TransitionsSpec")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#transitions"}},[t._v("transitions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"describe"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#describe"}},[t._v("#")]),t._v(" describe")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("describe")]),t._v("("),a("code",[t._v("scope")]),t._v(", "),a("code",[t._v("values")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L668",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:668"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"get"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get"}},[t._v("#")]),t._v(" get")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("get")]),t._v("("),a("code",[t._v("scope")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L666",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:666"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onclick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onclick"}},[t._v("#")]),t._v(" onClick")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onClick")]),t._v("("),a("code",[t._v("event")]),t._v(", "),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called if the event is of type 'mouseup' or 'click'. Passed the event, an array of active elements, and the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#onclick"}},[t._v("onClick")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1542",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1542"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onhover"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onhover"}},[t._v("#")]),t._v(" onHover")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onHover")]),t._v("("),a("code",[t._v("event")]),t._v(", "),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("chart")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called when any of the events fire. Passed the event, an array of active elements (bars, points, etc), and the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#onhover"}},[t._v("onHover")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1537",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1537"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onresize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onresize"}},[t._v("#")]),t._v(" onResize")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onResize")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("size")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size.height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("size.width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html#onresize"}},[t._v("onResize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1516",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1516"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"override"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#override"}},[t._v("#")]),t._v(" override")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("override")]),t._v("("),a("code",[t._v("scope")]),t._v(", "),a("code",[t._v("values")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L669",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:669"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"route"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#route"}},[t._v("#")]),t._v(" route")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("route")]),t._v("("),a("code",[t._v("scope")]),t._v(", "),a("code",[t._v("name")]),t._v(", "),a("code",[t._v("targetScope")]),t._v(", "),a("code",[t._v("targetName")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Routes the named defaults to fallback to another scope/name.\nThis routing is useful when those target values, like defaults.color, are changed runtime.\nIf the values would be copied, the runtime change would not take effect. By routing, the\nfallback is evaluated at each access, so its always up to date.")]),t._v(" "),a("p",[t._v("Example:")]),t._v(" "),a("p",[t._v("defaults.route('elements.arc', 'backgroundColor', '', 'color')")]),t._v(" "),a("ul",[a("li",[t._v("reads the backgroundColor from defaults.color when undefined locally")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Scope this route applies to.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("name")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Property name that should be routed to different namespace when not defined here.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("targetScope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The namespace where those properties should be routed to. Empty string ('') is the root of defaults.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("targetName")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The target name in the target scope the property should be routed to.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:688"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"set"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#set"}},[t._v("#")]),t._v(" set")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("set")]),t._v("("),a("code",[t._v("values")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L664",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:664"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("set")]),t._v("("),a("code",[t._v("scope")]),t._v(", "),a("code",[t._v("values")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scope")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L665",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:665"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/6.2bc86161.js b/scriptApl/chart.js/dist/docs/assets/js/6.2bc86161.js new file mode 100644 index 00000000..9a0ea7a1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/6.2bc86161.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{297:function(t,e,a){},333:function(t,e,a){"use strict";a(297)},338:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(333),a(6)),n=Object(i.a)(s,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/60.ac08de9a.js b/scriptApl/chart.js/dist/docs/assets/js/60.ac08de9a.js new file mode 100644 index 00000000..9ab9af2d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/60.ac08de9a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{391:function(t,e,a){"use strict";a.r(e);var n=a(6),r=Object(n.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-doughnutanimationoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-doughnutanimationoptions"}},[t._v("#")]),t._v(" Interface: DoughnutAnimationOptions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"animaterotate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animaterotate"}},[t._v("#")]),t._v(" animateRotate")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animateRotate")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("If true, the chart will animate in with a rotation animation. This property is in the options.animation object.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L282",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:282"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animatescale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animatescale"}},[t._v("#")]),t._v(" animateScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animateScale")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("If true, will animate scaling the chart from the center outwards.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L288",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:288"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/61.ea4fad75.js b/scriptApl/chart.js/dist/docs/assets/js/61.ea4fad75.js new file mode 100644 index 00000000..f686b196 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/61.ea4fad75.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{392:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-doughnutcontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-doughnutcontroller"}},[t._v("#")]),t._v(" Interface: DoughnutController")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("DoughnutController")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"cachedmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cachedmeta"}},[t._v("#")]),t._v(" _cachedMeta")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("_cachedMeta")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#_cachedmeta"}},[t._v("_cachedMeta")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L583",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:583"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#chart"}},[t._v("chart")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L581",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:581"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"enableoptionsharing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enableoptionsharing"}},[t._v("#")]),t._v(" enableOptionSharing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("enableOptionSharing")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#enableoptionsharing"}},[t._v("enableOptionSharing")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L584",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:584"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#index"}},[t._v("index")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L582",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:582"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"innerradius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#innerradius"}},[t._v("#")]),t._v(" innerRadius")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("innerRadius")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L334",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:334"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"offsetx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offsetx"}},[t._v("#")]),t._v(" offsetX")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("offsetX")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L336",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:336"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"offsety"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offsety"}},[t._v("#")]),t._v(" offsetY")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("offsetY")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L337",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:337"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"outerradius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#outerradius"}},[t._v("#")]),t._v(" outerRadius")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("outerRadius")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L335",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:335"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"supportsdecimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#supportsdecimation"}},[t._v("#")]),t._v(" supportsDecimation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("supportsDecimation")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#supportsdecimation"}},[t._v("supportsDecimation")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L588",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:588"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"addelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addelements"}},[t._v("#")]),t._v(" addElements")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("addElements")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#addelements"}},[t._v("addElements")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L604",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:604"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"applystack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#applystack"}},[t._v("#")]),t._v(" applyStack")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("applyStack")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#applystack"}},[t._v("applyStack")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:640"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildorupdateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildorupdateelements"}},[t._v("#")]),t._v(" buildOrUpdateElements")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("buildOrUpdateElements")]),t._v("("),a("code",[t._v("resetNewElements?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("resetNewElements?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#buildorupdateelements"}},[t._v("buildOrUpdateElements")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L605",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:605"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatecircumference"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatecircumference"}},[t._v("#")]),t._v(" calculateCircumference")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("calculateCircumference")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L340",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:340"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatetotal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatetotal"}},[t._v("#")]),t._v(" calculateTotal")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("calculateTotal")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L339",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:339"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#configure"}},[t._v("configure")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L602",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:602"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L597",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:597"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getallparsedvalues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getallparsedvalues"}},[t._v("#")]),t._v(" getAllParsedValues")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getAllParsedValues")]),t._v("("),a("code",[t._v("scale")]),t._v("): "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getallparsedvalues"}},[t._v("getAllParsedValues")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L591",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:591"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdataset"}},[t._v("#")]),t._v(" getDataset")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getDataset")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getdataset"}},[t._v("getDataset")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L599",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:599"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelandvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelandvalue"}},[t._v("#")]),t._v(" getLabelAndValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getLabelAndValue")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("label")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getlabelandvalue"}},[t._v("getLabelAndValue")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:592"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaxoverflow"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaxoverflow"}},[t._v("#")]),t._v(" getMaxOverflow")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMaxOverflow")]),t._v("(): "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getmaxoverflow"}},[t._v("getMaxOverflow")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L596",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:596"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmeta"}},[t._v("#")]),t._v(" getMeta")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getMeta")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getmeta"}},[t._v("getMeta")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L600",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:600"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("canStack?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getminmax"}},[t._v("getMinMax")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L647",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:647"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getparsed"}},[t._v("#")]),t._v(" getParsed")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getParsed")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getparsed"}},[t._v("getParsed")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L639",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:639"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getscaleforid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getscaleforid"}},[t._v("#")]),t._v(" getScaleForId")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getScaleForId")]),t._v("("),a("code",[t._v("scaleID")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scaleID")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getscaleforid"}},[t._v("getScaleForId")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getsharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getsharedoptions"}},[t._v("#")]),t._v(" getSharedOptions")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getSharedOptions")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("p",[t._v("Utility for checking if the options are shared and should be animated separately.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getsharedoptions"}},[t._v("getSharedOptions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L614",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:614"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getstyle"}},[t._v("#")]),t._v(" getStyle")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getStyle")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("active")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("active")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#getstyle"}},[t._v("getStyle")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L607",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:607"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"includeoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#includeoptions"}},[t._v("#")]),t._v(" includeOptions")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("includeOptions")]),t._v("("),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("sharedOptions")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Utility for determining if "),a("code",[t._v("options")]),t._v(" should be included in the updated properties")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#includeoptions"}},[t._v("includeOptions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L619",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:619"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"initialize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#initialize"}},[t._v("#")]),t._v(" initialize")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("initialize")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#initialize"}},[t._v("initialize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L603",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:603"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linkscales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linkscales"}},[t._v("#")]),t._v(" linkScales")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("linkScales")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#linkscales"}},[t._v("linkScales")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L590",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:590"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#parse"}},[t._v("parse")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L635",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:635"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsearraydata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsearraydata"}},[t._v("#")]),t._v(" parseArrayData")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseArrayData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#parsearraydata"}},[t._v("parseArrayData")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L637",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:637"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseobjectdata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseobjectdata"}},[t._v("#")]),t._v(" parseObjectData")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseObjectData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#parseobjectdata"}},[t._v("parseObjectData")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L638",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:638"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseprimitivedata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseprimitivedata"}},[t._v("#")]),t._v(" parsePrimitiveData")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parsePrimitiveData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#parseprimitivedata"}},[t._v("parsePrimitiveData")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L636",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:636"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removehoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removehoverstyle"}},[t._v("#")]),t._v(" removeHoverStyle")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("removeHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#removehoverstyle"}},[t._v("removeHoverStyle")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L632",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:632"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("reset")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#reset"}},[t._v("reset")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L598",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:598"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedataelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedataelementoptions"}},[t._v("#")]),t._v(" resolveDataElementOptions")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDataElementOptions")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#resolvedataelementoptions"}},[t._v("resolveDataElementOptions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L609",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:609"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedatasetelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedatasetelementoptions"}},[t._v("#")]),t._v(" resolveDatasetElementOptions")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDatasetElementOptions")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#resolvedatasetelementoptions"}},[t._v("resolveDatasetElementOptions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L608",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:608"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"sethoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sethoverstyle"}},[t._v("#")]),t._v(" setHoverStyle")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("setHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#sethoverstyle"}},[t._v("setHoverStyle")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L633",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:633"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#update"}},[t._v("update")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L594",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:594"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelement"}},[t._v("#")]),t._v(" updateElement")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateElement")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("properties")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility for updating an element with new properties, using animations when appropriate.")]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("properties")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#updateelement"}},[t._v("updateElement")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L625",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:625"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelements"}},[t._v("#")]),t._v(" updateElements")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("updateElements")]),t._v("("),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#updateelements"}},[t._v("updateElements")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L593",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:593"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateindex"}},[t._v("#")]),t._v(" updateIndex")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("updateIndex")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#updateindex"}},[t._v("updateIndex")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L595",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:595"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updaterangefromparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updaterangefromparsed"}},[t._v("#")]),t._v(" updateRangeFromParsed")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateRangeFromParsed")]),t._v("("),a("code",[t._v("range")]),t._v(", "),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v(", "),a("code",[t._v("stack")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("stack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#updaterangefromparsed"}},[t._v("updateRangeFromParsed")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L641",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:641"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatesharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatesharedoptions"}},[t._v("#")]),t._v(" updateSharedOptions")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateSharedOptions")]),t._v("("),a("code",[t._v("sharedOptions")]),t._v(", "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("newOptions")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility to animate the shared options, that are potentially affecting multiple elements.")]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("newOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")]),t._v("."),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html#updatesharedoptions"}},[t._v("updateSharedOptions")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L631",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:631"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/62.5c85853b.js b/scriptApl/chart.js/dist/docs/assets/js/62.5c85853b.js new file mode 100644 index 00000000..0bbb36e1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/62.5c85853b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{393:function(t,e,r){"use strict";r.r(e);var a=r(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-doughnutcontrollerchartoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-doughnutcontrollerchartoptions"}},[t._v("#")]),t._v(" Interface: DoughnutControllerChartOptions")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutAnimationOptions.html"}},[r("code",[t._v("DoughnutAnimationOptions")])])],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L328",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:328"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circumference"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circumference"}},[t._v("#")]),t._v(" circumference")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circumference")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Sweep to allow arcs to cover.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 360")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L296",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:296"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"cutout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cutout"}},[t._v("#")]),t._v(" cutout")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("cutout")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("string")]),t._v(" | "),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The portion of the chart that is cut out of the middle. ('50%' - for doughnut, 0 - for pie)\nString ending with '%' means percentage, number means pixels.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 50")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L303",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:303"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"offset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[t._v("#")]),t._v(" offset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("offset")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Arc offset (in pixels).")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L308",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:308"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"radius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#radius"}},[t._v("#")]),t._v(" radius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("radius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("string")]),t._v(" | "),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The outer radius of the chart. String ending with '%' means percentage of maximum radius, number means pixels.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" '100%'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L314",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:314"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Starting angle to draw arcs from.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L320",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:320"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spacing"}},[t._v("#")]),t._v(" spacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spacing")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Spacing between the arcs")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L326",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:326"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/63.5ac99656.js b/scriptApl/chart.js/dist/docs/assets/js/63.5ac99656.js new file mode 100644 index 00000000..4a4a28a4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/63.5ac99656.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{394:function(t,e,r){"use strict";r.r(e);var a=r(6),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-doughnutcontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-doughnutcontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: DoughnutControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[r("code",[t._v("ControllerDatasetOptions")])])],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[r("code",[t._v("ArcOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/ArcHoverOptions.html"}},[r("code",[t._v("ArcHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#animationoptions"}},[r("code",[t._v("AnimationOptions")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">")],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("DoughnutControllerDatasetOptions")])])]),t._v(" "),r("p",[t._v("↳↳ "),r("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerDatasetOptions.html"}},[r("code",[t._v("PolarAreaControllerDatasetOptions")])])],1)])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v("> & { "),r("code",[t._v("onComplete?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" ; "),r("code",[t._v("onProgress?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" }")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animation")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animations")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.backgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderalign"}},[t._v("#")]),t._v(" borderAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v('"center"')]),t._v(" | "),r("code",[t._v('"inner"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Arc stroke alignment.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderAlign")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1732",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1732"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[t._v("#")]),t._v(" borderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line join style. See MDN. Default is 'round' when "),r("code",[t._v("borderAlign")]),t._v(" is 'inner', else 'bevel'.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderJoinStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1737",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1737"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[t._v("#")]),t._v(" borderRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ArcBorderRadius.html"}},[r("code",[t._v("ArcBorderRadius")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Sets the border radius for arcs")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1743",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1743"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circular"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circular"}},[t._v("#")]),t._v(" circular")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circular")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("If false, Arc will be flat.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.circular")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1754",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1754"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circumference"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circumference"}},[t._v("#")]),t._v(" circumference")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circumference")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Sweep to allow arcs to cover.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 360")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L250",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:250"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoveroffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoveroffset"}},[t._v("#")]),t._v(" hoverOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverOffset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1758",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1758"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"offset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[t._v("#")]),t._v(" offset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("offset")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Arc offset (in pixels).")]),t._v(" "),r("h4",{attrs:{id:"overrides"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.offset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L255",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:255"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Starting angle to draw this dataset from.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L261",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:261"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spacing"}},[t._v("#")]),t._v(" spacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spacing")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Similar to the "),r("code",[t._v("offset")]),t._v(" option, but applies to all arcs. This can be used to to add spaces\nbetween arcs")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:274"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"transitions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("transitions")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[r("code",[t._v("TransitionsSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.transitions")]),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"weight"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("weight")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L267",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:267"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/64.c6838e95.js b/scriptApl/chart.js/dist/docs/assets/js/64.c6838e95.js new file mode 100644 index 00000000..075c0b0a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/64.c6838e95.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{395:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-doughnutmetaextensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-doughnutmetaextensions"}},[t._v("#")]),t._v(" Interface: DoughnutMetaExtensions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"total"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#total"}},[t._v("#")]),t._v(" total")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("total")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L349",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:349"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/65.4c1b089e.js b/scriptApl/chart.js/dist/docs/assets/js/65.4c1b089e.js new file mode 100644 index 00000000..eebb6911 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/65.4c1b089e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{396:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-element-t-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-element-t-o"}},[t._v("#")]),t._v(" Interface: Element")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("code",[t._v("T")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/66.379a6b45.js b/scriptApl/chart.js/dist/docs/assets/js/66.379a6b45.js new file mode 100644 index 00000000..d1e9e534 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/66.379a6b45.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{397:function(t,e,r){"use strict";r.r(e);var a=r(6),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-elementoptionsbytype-ttype"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-elementoptionsbytype-ttype"}},[t._v("#")]),t._v(" Interface: ElementOptionsByType")]),t._v(" "),r("h2",{attrs:{id:"type-parameters"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("TType")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),r("RouterLink",{attrs:{to:"/api/#charttype"}},[r("code",[t._v("ChartType")])])],1)])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"arc"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#arc"}},[t._v("#")]),t._v(" arc")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("arc")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[r("code",[t._v("ArcOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/ArcHoverOptions.html"}},[r("code",[t._v("ArcHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2040",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2040"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bar"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bar"}},[t._v("#")]),t._v(" bar")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("bar")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[r("code",[t._v("BarOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/BarHoverOptions.html"}},[r("code",[t._v("BarHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2041",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2041"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"line"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#line"}},[t._v("#")]),t._v(" line")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("line")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[r("code",[t._v("LineOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/LineHoverOptions.html"}},[r("code",[t._v("LineHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2042",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2042"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"point"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#point"}},[t._v("#")]),t._v(" point")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("point")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[r("code",[t._v("PointOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/PointHoverOptions.html"}},[r("code",[t._v("PointHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2043",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2043"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/67.15703e17.js b/scriptApl/chart.js/dist/docs/assets/js/67.15703e17.js new file mode 100644 index 00000000..f9cec83c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/67.15703e17.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{398:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-extendedplugin-ttype-o-model"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-extendedplugin-ttype-o-model"}},[t._v("#")]),t._v(" Interface: ExtendedPlugin")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Model")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("ExtendedPlugin")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"aftertooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftertooltipdraw"}},[t._v("#")]),t._v(" afterTooltipDraw")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after drawing the "),a("code",[t._v("tooltip")]),t._v(". Note that this hook will not\nbe called if the tooltip drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Model")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforetooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforetooltipdraw"}},[t._v("#")]),t._v(" beforeTooltipDraw")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("tooltip")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe tooltip drawing is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Model")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart tooltip drawing.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2592"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/68.ffdefd7d.js b/scriptApl/chart.js/dist/docs/assets/js/68.ffdefd7d.js new file mode 100644 index 00000000..8e702b48 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/68.ffdefd7d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{399:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-fillercontrollerdatasetoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-fillercontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: FillerControllerDatasetOptions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"fill"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fill"}},[t._v("#")]),t._v(" fill")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fill")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#filltarget"}},[a("code",[t._v("FillTarget")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ComplexFillTarget.html"}},[a("code",[t._v("ComplexFillTarget")])])],1),t._v(" "),a("p",[t._v("Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2159",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2159"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/69.bdeb7b9b.js b/scriptApl/chart.js/dist/docs/assets/js/69.bdeb7b9b.js new file mode 100644 index 00000000..be6f666d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/69.bdeb7b9b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{400:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-filleroptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-filleroptions"}},[e._v("#")]),e._v(" Interface: FillerOptions")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"drawtime"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawtime"}},[e._v("#")]),e._v(" drawTime")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("drawTime")]),e._v(": "),r("code",[e._v('"beforeDatasetDraw"')]),e._v(" | "),r("code",[e._v('"beforeDatasetsDraw"')])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2134",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2134"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"propagate"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#propagate"}},[e._v("#")]),e._v(" propagate")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("propagate")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2135",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2135"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/7.74f2ce90.js b/scriptApl/chart.js/dist/docs/assets/js/7.74f2ce90.js new file mode 100644 index 00000000..14371a14 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/7.74f2ce90.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{298:function(e,t,a){},334:function(e,t,a){"use strict";a(298)},339:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(334),a(6)),c=Object(s.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/70.3dadb5ed.js b/scriptApl/chart.js/dist/docs/assets/js/70.3dadb5ed.js new file mode 100644 index 00000000..4383ffdb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/70.3dadb5ed.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{401:function(e,t,a){"use strict";a.r(t);var r=a(6),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-fontspec"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-fontspec"}},[e._v("#")]),e._v(" Interface: FontSpec")]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"family"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#family"}},[e._v("#")]),e._v(" family")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("family")]),e._v(": "),a("code",[e._v("string")])]),e._v(" "),a("p",[e._v("Default font family for all text, follows CSS font-family options.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\"")]),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1659",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1659"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"lineheight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lineheight"}},[e._v("#")]),e._v(" lineHeight")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("lineHeight")]),e._v(": "),a("code",[e._v("string")]),e._v(" | "),a("code",[e._v("number")])]),e._v(" "),a("p",[e._v("Height of an individual line of text (see MDN).")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" 1.2")]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1678",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1678"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#size"}},[e._v("#")]),e._v(" size")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("size")]),e._v(": "),a("code",[e._v("number")])]),e._v(" "),a("p",[e._v("Default font size (in px) for text. Does not apply to radialLinear scale point labels.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" 12")]),e._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1664",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1664"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"style"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#style"}},[e._v("#")]),e._v(" style")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("style")]),e._v(": "),a("code",[e._v('"normal"')]),e._v(" | "),a("code",[e._v('"italic"')]),e._v(" | "),a("code",[e._v('"oblique"')]),e._v(" | "),a("code",[e._v('"initial"')]),e._v(" | "),a("code",[e._v('"inherit"')])]),e._v(" "),a("p",[e._v("Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit)")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" 'normal'")]),e._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1669",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1669"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[e._v("#")]),e._v(" weight")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("weight")]),e._v(": "),a("code",[e._v("string")])]),e._v(" "),a("p",[e._v("Default font weight (boldness). (see MDN).")]),e._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1673",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:1673"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/71.2c97fe38.js b/scriptApl/chart.js/dist/docs/assets/js/71.2c97fe38.js new file mode 100644 index 00000000..ce2fc98c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/71.2c97fe38.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{402:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-gridlineoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-gridlineoptions"}},[t._v("#")]),t._v(" Interface: GridLineOptions")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2853",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2853"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdash"}},[t._v("#")]),t._v(" borderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" []")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2866",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2866"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdashoffset"}},[t._v("#")]),t._v(" borderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2870",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2870"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2854",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2854"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circular"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circular"}},[t._v("#")]),t._v(" circular")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circular")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2858",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2858"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"color"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" color")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("color")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'rgba(0, 0, 0, 0.1)'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2862",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2862"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"display"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("display")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2852",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2852"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawborder"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawborder"}},[t._v("#")]),t._v(" drawBorder")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawBorder")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2879",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2879"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawonchartarea"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawonchartarea"}},[t._v("#")]),t._v(" drawOnChartArea")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawOnChartArea")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2883",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2883"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawticks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawticks"}},[t._v("#")]),t._v(" drawTicks")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawTicks")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2887",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2887"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"linewidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linewidth"}},[t._v("#")]),t._v(" lineWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("lineWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2874",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2874"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"offset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[t._v("#")]),t._v(" offset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("offset")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2911",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2911"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tickborderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tickborderdash"}},[t._v("#")]),t._v(" tickBorderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tickBorderDash")]),t._v(": "),r("code",[t._v("number")]),t._v("[]")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" []")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2891",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2891"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tickborderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tickborderdashoffset"}},[t._v("#")]),t._v(" tickBorderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tickBorderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2895",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2895"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tickcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tickcolor"}},[t._v("#")]),t._v(" tickColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tickColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[r("code",[t._v("ScriptableScaleContext")])]),t._v(">")],1),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'rgba(0, 0, 0, 0.1)'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2899",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2899"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"ticklength"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#ticklength"}},[t._v("#")]),t._v(" tickLength")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tickLength")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 10")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2903",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2903"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tickwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tickwidth"}},[t._v("#")]),t._v(" tickWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tickWidth")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2907",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2907"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"z"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#z"}},[t._v("#")]),t._v(" z")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("z")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2915",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2915"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/72.dc778e17.js b/scriptApl/chart.js/dist/docs/assets/js/72.dc778e17.js new file mode 100644 index 00000000..63c6752f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/72.dc778e17.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{403:function(e,t,r){"use strict";r.r(t);var a=r(6),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-interactionitem"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-interactionitem"}},[e._v("#")]),e._v(" Interface: InteractionItem")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"datasetindex"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[e._v("#")]),e._v(" datasetIndex")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("datasetIndex")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L710",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:710"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"element"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#element"}},[e._v("#")]),e._v(" element")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("element")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#element"}},[r("code",[e._v("Element")])]),e._v("<"),r("code",[e._v("AnyObject")]),e._v(", "),r("code",[e._v("AnyObject")]),e._v(">")],1),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L709",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:709"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"index"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[e._v("#")]),e._v(" index")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("index")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L711",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:711"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/73.d88fcb57.js b/scriptApl/chart.js/dist/docs/assets/js/73.d88fcb57.js new file mode 100644 index 00000000..0b785115 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/73.d88fcb57.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{404:function(t,e,n){"use strict";n.r(e);var r=n(6),a=Object(r.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"interface-interactionmodemap"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#interface-interactionmodemap"}},[t._v("#")]),t._v(" Interface: InteractionModeMap")]),t._v(" "),n("h2",{attrs:{id:"properties"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),n("h3",{attrs:{id:"dataset"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#dataset"}},[t._v("#")]),t._v(" dataset")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("dataset")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\nIf the options.intersect is false, we find the nearest item and return the items in that dataset")]),t._v(" "),n("h4",{attrs:{id:"defined-in"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L732",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:732"),n("OutboundLink")],1)]),t._v(" "),n("hr"),t._v(" "),n("h3",{attrs:{id:"index"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("index")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\nIf the options.intersect mode is false, we find the nearest item and return the items at the same index as that item")]),t._v(" "),n("h4",{attrs:{id:"defined-in-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L726",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:726"),n("OutboundLink")],1)]),t._v(" "),n("hr"),t._v(" "),n("h3",{attrs:{id:"nearest"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#nearest"}},[t._v("#")]),t._v(" nearest")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("nearest")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("nearest mode returns the element closest to the point")]),t._v(" "),n("h4",{attrs:{id:"defined-in-3"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L741",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:741"),n("OutboundLink")],1)]),t._v(" "),n("hr"),t._v(" "),n("h3",{attrs:{id:"point"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#point"}},[t._v("#")]),t._v(" point")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("point")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("Point mode returns all elements that hit test based on the event position\nof the event")]),t._v(" "),n("h4",{attrs:{id:"defined-in-4"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L737",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:737"),n("OutboundLink")],1)]),t._v(" "),n("hr"),t._v(" "),n("h3",{attrs:{id:"x"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("x")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("x mode returns the elements that hit-test at the current x coordinate")]),t._v(" "),n("h4",{attrs:{id:"defined-in-5"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L745",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:745"),n("OutboundLink")],1)]),t._v(" "),n("hr"),t._v(" "),n("h3",{attrs:{id:"y"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),n("p",[t._v("• "),n("strong",[t._v("y")]),t._v(": "),n("RouterLink",{attrs:{to:"/api/#interactionmodefunction"}},[n("code",[t._v("InteractionModeFunction")])])],1),t._v(" "),n("p",[t._v("y mode returns the elements that hit-test at the current y coordinate")]),t._v(" "),n("h4",{attrs:{id:"defined-in-6"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L749",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:749"),n("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/74.bba2165e.js b/scriptApl/chart.js/dist/docs/assets/js/74.bba2165e.js new file mode 100644 index 00000000..b0d18453 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/74.bba2165e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{405:function(e,t,r){"use strict";r.r(t);var a=r(6),s=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-interactionoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-interactionoptions"}},[e._v("#")]),e._v(" Interface: InteractionOptions")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"axis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#axis"}},[e._v("#")]),e._v(" axis")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("axis")]),e._v(": "),r("code",[e._v("string")])]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L703",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:703"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"includeinvisible"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#includeinvisible"}},[e._v("#")]),e._v(" includeInvisible")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("includeInvisible")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L705",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:705"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"intersect"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#intersect"}},[e._v("#")]),e._v(" intersect")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("intersect")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L704",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:704"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/75.15562a81.js b/scriptApl/chart.js/dist/docs/assets/js/75.15562a81.js new file mode 100644 index 00000000..d2fd2efb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/75.15562a81.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{406:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-layoutitem"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-layoutitem"}},[t._v("#")]),t._v(" Interface: LayoutItem")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("LayoutItem")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[a("code",[t._v("LegendElement")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"bottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Bottom edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("if true, and the item is horizontal, then push vertical boxes down")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L17",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:17"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Height of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"left"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("left")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Left edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L29",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:29"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("The position of the item in the chart layout. Possible values are")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"right"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("right")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Right edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L37",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:37"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("top")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Top edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the item. Higher weights are further away from the chart area")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Width of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the layout process starts")]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L46",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:46"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Draws the element")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L50",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:50"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpadding"}},[t._v("#")]),t._v(" getPadding")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getPadding")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Returns an object with padding on the edges")]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L54",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:54"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ishorizontal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ishorizontal"}},[t._v("#")]),t._v(" isHorizontal")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("isHorizontal")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("returns true if the layout item is horizontal (ie. top or bottom)")]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("width")]),t._v(", "),a("code",[t._v("height")]),t._v(", "),a("code",[t._v("margins?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Takes two parameters: width and height.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("margins?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L64",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:64"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/76.21f5a94e.js b/scriptApl/chart.js/dist/docs/assets/js/76.21f5a94e.js new file mode 100644 index 00000000..c2d9e853 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/76.21f5a94e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{407:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-legendelement-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-legendelement-ttype"}},[t._v("#")]),t._v(" Interface: LegendElement")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendOptions.html"}},[a("code",[t._v("LegendOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("LegendElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bottom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bottom"}},[t._v("#")]),t._v(" bottom")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("bottom")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Bottom edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#bottom"}},[t._v("bottom")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>, "),a("code",[t._v("unknown")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2253",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2253"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ctx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ctx"}},[t._v("#")]),t._v(" ctx")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ctx")]),t._v(": "),a("code",[t._v("CanvasRenderingContext2D")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2254",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2254"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("if true, and the item is horizontal, then push vertical boxes down")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#fullsize"}},[t._v("fullSize")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L17",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:17"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"height"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#height"}},[t._v("#")]),t._v(" height")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("height")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Height of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#height"}},[t._v("height")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L25",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:25"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"left"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#left"}},[t._v("#")]),t._v(" left")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("left")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Left edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#left"}},[t._v("left")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L29",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:29"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"legenditems"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legenditems"}},[t._v("#")]),t._v(" legendItems")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("legendItems")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2255",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2255"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("options")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendOptions.html"}},[a("code",[t._v("LegendOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"overrides"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2256",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2256"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("The position of the item in the chart layout. Possible values are")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#position"}},[t._v("position")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L9",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:9"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"right"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#right"}},[t._v("#")]),t._v(" right")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("right")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Right edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#right"}},[t._v("right")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L37",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:37"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"top"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#top"}},[t._v("#")]),t._v(" top")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("top")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Top edge of the item. Set by layout system and cannot be used in update")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#top"}},[t._v("top")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L33",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:33"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"weight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("weight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("The weight used to sort the item. Higher weights are further away from the chart area")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#weight"}},[t._v("weight")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L13",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:13"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#width"}},[t._v("#")]),t._v(" width")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("width")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Width of item. Must be valid after update()")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#width"}},[t._v("width")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L21",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:21"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the layout process starts")]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#beforelayout"}},[t._v("beforeLayout")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L46",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:46"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("chartArea")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Draws the element")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L50",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:50"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getpadding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getpadding"}},[t._v("#")]),t._v(" getPadding")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getPadding")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("p",[t._v("Returns an object with padding on the edges")]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#getpadding"}},[t._v("getPadding")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L54",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:54"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("code",[t._v("string")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ishorizontal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ishorizontal"}},[t._v("#")]),t._v(" isHorizontal")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("isHorizontal")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("returns true if the layout item is horizontal (ie. top or bottom)")]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#ishorizontal"}},[t._v("isHorizontal")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("width")]),t._v(", "),a("code",[t._v("height")]),t._v(", "),a("code",[t._v("margins?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Takes two parameters: width and height.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("margins?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html#update"}},[t._v("update")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L64",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:64"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/77.0725268e.js b/scriptApl/chart.js/dist/docs/assets/js/77.0725268e.js new file mode 100644 index 00000000..ad6e5de3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/77.0725268e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{408:function(e,t,r){"use strict";r.r(t);var a=r(6),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"interface-legenditem"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-legenditem"}},[e._v("#")]),e._v(" Interface: LegendItem")]),e._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),r("h3",{attrs:{id:"borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[e._v("#")]),e._v(" borderRadius")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("borderRadius")]),e._v(": "),r("code",[e._v("number")]),e._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[r("code",[e._v("BorderRadius")])])],1),e._v(" "),r("p",[e._v("Border radius of the legend box")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("since")])]),e._v(" 3.1.0")]),e._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2174",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2174"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"datasetindex"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#datasetindex"}},[e._v("#")]),e._v(" datasetIndex")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("datasetIndex")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Index of the associated dataset")]),e._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2179",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2179"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"fillstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fillstyle"}},[e._v("#")]),e._v(" fillStyle")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("fillStyle")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[e._v("Color")])])],1),e._v(" "),r("p",[e._v("Fill style of the legend box")]),e._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2189",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2189"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"fontcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fontcolor"}},[e._v("#")]),e._v(" fontColor")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("fontColor")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[e._v("Color")])])],1),e._v(" "),r("p",[e._v("Font color for the text\nDefaults to LegendOptions.labels.color")]),e._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2195",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2195"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[e._v("#")]),e._v(" hidden")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("hidden")]),e._v(": "),r("code",[e._v("boolean")])]),e._v(" "),r("p",[e._v("If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect")]),e._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2200",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2200"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"index"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[e._v("#")]),e._v(" index")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("index")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Index the associated label in the labels array")]),e._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2184",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2184"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"linecap"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linecap"}},[e._v("#")]),e._v(" lineCap")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("lineCap")]),e._v(": "),r("code",[e._v("CanvasLineCap")])]),e._v(" "),r("p",[e._v("For box border.")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("see")])]),e._v(" https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap")]),e._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2206",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2206"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"linedash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linedash"}},[e._v("#")]),e._v(" lineDash")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("lineDash")]),e._v(": "),r("code",[e._v("number")]),e._v("[]")]),e._v(" "),r("p",[e._v("For box border.")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("see")])]),e._v(" https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash")]),e._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2212",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2212"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"linedashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linedashoffset"}},[e._v("#")]),e._v(" lineDashOffset")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("lineDashOffset")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("For box border.")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("see")])]),e._v(" https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset")]),e._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2218",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2218"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"linejoin"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linejoin"}},[e._v("#")]),e._v(" lineJoin")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("lineJoin")]),e._v(": "),r("code",[e._v("CanvasLineJoin")])]),e._v(" "),r("p",[e._v("For box border.")]),e._v(" "),r("p",[r("strong",[r("code",[e._v("see")])]),e._v(" https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin")]),e._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2224",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2224"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"linewidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#linewidth"}},[e._v("#")]),e._v(" lineWidth")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("lineWidth")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Width of box border")]),e._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2229",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2229"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[e._v("#")]),e._v(" pointStyle")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("pointStyle")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[e._v("PointStyle")])])],1),e._v(" "),r("p",[e._v("Point style of the legend box (only used if usePointStyle is true)")]),e._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2239",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2239"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[e._v("#")]),e._v(" rotation")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("rotation")]),e._v(": "),r("code",[e._v("number")])]),e._v(" "),r("p",[e._v("Rotation of the point in degrees (only used if usePointStyle is true)")]),e._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2244",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2244"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"strokestyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#strokestyle"}},[e._v("#")]),e._v(" strokeStyle")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("strokeStyle")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[e._v("Color")])])],1),e._v(" "),r("p",[e._v("Stroke style of the legend box")]),e._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2234",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2234"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"text"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#text"}},[e._v("#")]),e._v(" text")]),e._v(" "),r("p",[e._v("• "),r("strong",[e._v("text")]),e._v(": "),r("code",[e._v("string")])]),e._v(" "),r("p",[e._v("Label that will be displayed")]),e._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2168",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2168"),r("OutboundLink")],1)]),e._v(" "),r("hr"),e._v(" "),r("h3",{attrs:{id:"textalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#textalign"}},[e._v("#")]),e._v(" textAlign")]),e._v(" "),r("p",[e._v("• "),r("code",[e._v("Optional")]),e._v(" "),r("strong",[e._v("textAlign")]),e._v(": "),r("RouterLink",{attrs:{to:"/api/#textalign"}},[r("code",[e._v("TextAlign")])])],1),e._v(" "),r("p",[e._v("Text alignment")]),e._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2249",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:2249"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/78.d6f610d1.js b/scriptApl/chart.js/dist/docs/assets/js/78.d6f610d1.js new file mode 100644 index 00000000..b20b81a6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/78.d6f610d1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{409:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-legendoptions-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-legendoptions-ttype"}},[t._v("#")]),t._v(" Interface: LegendOptions")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"align"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#align"}},[t._v("#")]),t._v(" align")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("align")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#align"}},[a("code",[t._v("Align")])])],1),t._v(" "),a("p",[t._v("Alignment of the legend.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'center'")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2274"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"display"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#display"}},[t._v("#")]),t._v(" display")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Is the legend shown?")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2264",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2264"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"fullsize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fullsize"}},[t._v("#")]),t._v(" fullSize")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("fullSize")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" true")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2287",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2287"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"labels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#labels"}},[t._v("#")]),t._v(" labels")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("labels")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boxHeight")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Height of the coloured box. "),a("strong",[a("code",[t._v("default")])]),t._v(" fontSize")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boxPadding")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Padding between the color box and the text "),a("strong",[a("code",[t._v("default")])]),t._v(" 1")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boxWidth")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Width of colored box. "),a("strong",[a("code",[t._v("default")])]),t._v(" 40")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Color of label "),a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableChartContext.html"}},[a("code",[t._v("ScriptableChartContext")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Font of label "),a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.font")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("padding")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Padding between rows of colored boxes. "),a("strong",[a("code",[t._v("default")])]),t._v(" 10")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("pointStyle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#pointstyle"}},[a("code",[t._v("PointStyle")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Override point style for the legend. Only applies if usePointStyle is true")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("textAlign?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#textalign"}},[a("code",[t._v("TextAlign")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Text alignment")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("usePointStyle")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Label style will match corresponding point style (size is based on the minimum value between boxWidth and font.size). "),a("strong",[a("code",[t._v("default")])]),t._v(" false")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("filter")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("item")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])]),t._v(", "),a("code",[t._v("data")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[a("code",[t._v("ChartData")])]),t._v(") => "),a("code",[t._v("boolean")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("generateLabels")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(") => "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])]),t._v("[]")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sort")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("a")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])]),t._v(", "),a("code",[t._v("b")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])]),t._v(", "),a("code",[t._v("data")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[a("code",[t._v("ChartData")])]),t._v(") => "),a("code",[t._v("number")])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2306",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2306"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxheight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxheight"}},[t._v("#")]),t._v(" maxHeight")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxHeight")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Maximum height of the legend, in pixels")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2278",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2278"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"maxwidth"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#maxwidth"}},[t._v("#")]),t._v(" maxWidth")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("maxWidth")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Maximum width of the legend, in pixels")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2282",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2282"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"position"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" position")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])])],1),t._v(" "),a("p",[t._v("Position of the legend.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 'top'")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2269",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2269"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reverse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reverse"}},[t._v("#")]),t._v(" reverse")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("reverse")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Legend will show datasets in reverse order.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" false")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2292",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2292"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"rtl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#rtl"}},[t._v("#")]),t._v(" rtl")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("rtl")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("true for rendering the legends from right to left.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2371",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2371"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"textdirection"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#textdirection"}},[t._v("#")]),t._v(" textDirection")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("textDirection")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("p",[t._v("This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" canvas' default")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2376",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2376"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("title")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("color")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Color of title "),a("strong",[a("code",[t._v("see")])]),t._v(" Defaults.color")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("display")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Is the legend title displayed. "),a("strong",[a("code",[t._v("default")])]),t._v(" false")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("font")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableChartContext.html"}},[a("code",[t._v("ScriptableChartContext")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("see Fonts")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("padding?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("position")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"start"')]),t._v(" | "),a("code",[t._v('"end"')]),t._v(" | "),a("code",[t._v('"center"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("text")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The string title.")])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2378",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2378"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"onclick"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onclick"}},[t._v("#")]),t._v(" onClick")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onClick")]),t._v("("),a("code",[t._v("e")]),t._v(", "),a("code",[t._v("legendItem")]),t._v(", "),a("code",[t._v("legend")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("A callback that is called when a click event is registered on a label item.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("e")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legendItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legend")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[a("code",[t._v("LegendElement")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2296",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2296"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onhover"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onhover"}},[t._v("#")]),t._v(" onHover")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onHover")]),t._v("("),a("code",[t._v("e")]),t._v(", "),a("code",[t._v("legendItem")]),t._v(", "),a("code",[t._v("legend")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("A callback that is called when a 'mousemove' event is registered on top of a label item")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("e")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legendItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legend")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[a("code",[t._v("LegendElement")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2300",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2300"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"onleave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#onleave"}},[t._v("#")]),t._v(" onLeave")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("onLeave")]),t._v("("),a("code",[t._v("e")]),t._v(", "),a("code",[t._v("legendItem")]),t._v(", "),a("code",[t._v("legend")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("e")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legendItem")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[a("code",[t._v("LegendItem")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("legend")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[a("code",[t._v("LegendElement")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2304",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2304"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/79.60d67faa.js b/scriptApl/chart.js/dist/docs/assets/js/79.60d67faa.js new file mode 100644 index 00000000..1cb50186 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/79.60d67faa.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{410:function(e,t,a){"use strict";a.r(t);var n=a(6),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"interface-linecontrollerchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-linecontrollerchartoptions"}},[e._v("#")]),e._v(" Interface: LineControllerChartOptions")]),e._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[e._v("#")]),e._v(" Properties")]),e._v(" "),a("h3",{attrs:{id:"showline"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#showline"}},[e._v("#")]),e._v(" showLine")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("showLine")]),e._v(": "),a("code",[e._v("boolean")])]),e._v(" "),a("p",[e._v("If false, the lines between points are not drawn.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" true")]),e._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L216",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:216"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("h3",{attrs:{id:"spangaps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#spangaps"}},[e._v("#")]),e._v(" spanGaps")]),e._v(" "),a("p",[e._v("• "),a("strong",[e._v("spanGaps")]),e._v(": "),a("code",[e._v("number")]),e._v(" | "),a("code",[e._v("boolean")])]),e._v(" "),a("p",[e._v("If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.")]),e._v(" "),a("p",[a("strong",[a("code",[e._v("default")])]),e._v(" false")]),e._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[e._v("#")]),e._v(" Defined in")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L211",target:"_blank",rel:"noopener noreferrer"}},[e._v("index.esm.d.ts:211"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/8.8928eb8b.js b/scriptApl/chart.js/dist/docs/assets/js/8.8928eb8b.js new file mode 100644 index 00000000..60f6fada --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/8.8928eb8b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{337:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},h=s(6),i=Object(h.a)(n,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/80.99d71ee0.js b/scriptApl/chart.js/dist/docs/assets/js/80.99d71ee0.js new file mode 100644 index 00000000..336f5fac --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/80.99d71ee0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{411:function(t,e,r){"use strict";r.r(e);var a=r(6),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-linecontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-linecontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: LineControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[r("code",[t._v("ControllerDatasetOptions")])])],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedOptions.html"}},[r("code",[t._v("PointPrefixedOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedHoverOptions.html"}},[r("code",[t._v("PointPrefixedHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableoptions"}},[r("code",[t._v("ScriptableOptions")])]),t._v("<"),r("code",[t._v("Omit")]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[r("code",[t._v("LineOptions")])]),t._v(", keyof "),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[r("code",[t._v("CommonElementOptions")])]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[r("code",[t._v("CommonElementOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableoptions"}},[r("code",[t._v("ScriptableOptions")])]),t._v("<"),r("code",[t._v("Omit")]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/LineHoverOptions.html"}},[r("code",[t._v("LineHoverOptions")])]),t._v(", keyof "),r("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r("code",[t._v("CommonHoverOptions")])]),t._v(">, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r("code",[t._v("CommonHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#animationoptions"}},[r("code",[t._v("AnimationOptions")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">")],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("LineControllerDatasetOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v('"line"')]),t._v("> & { "),r("code",[t._v("onComplete?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" ; "),r("code",[t._v("onProgress?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" }")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animation")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animations")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.backgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercapstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercapstyle"}},[t._v("#")]),t._v(" borderCapStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line cap style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'butt'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.borderCapStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1779",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1779"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdash"}},[t._v("#")]),t._v(" borderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line dash. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" []")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.borderDash")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1784",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1784"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdashoffset"}},[t._v("#")]),t._v(" borderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line dash offset. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0.0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.borderDashOffset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1789",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1789"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[t._v("#")]),t._v(" borderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line join style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'miter'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.borderJoinStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1794",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1794"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"capbezierpoints"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#capbezierpoints"}},[t._v("#")]),t._v(" capBezierPoints")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("capBezierPoints")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("true to keep Bézier control inside the chart, false for no restriction.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.capBezierPoints")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1799",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1799"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"cubicinterpolationmode"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cubicinterpolationmode"}},[t._v("#")]),t._v(" cubicInterpolationMode")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("cubicInterpolationMode")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v('"default"')]),t._v(" | "),r("code",[t._v('"monotone"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Interpolation mode to apply.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'default'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.cubicInterpolationMode")]),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1804",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1804"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"fill"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fill"}},[t._v("#")]),t._v(" fill")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("fill")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#filltarget"}},[r("code",[t._v("FillTarget")])]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ComplexFillTarget.html"}},[r("code",[t._v("ComplexFillTarget")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.fill")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1818",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1818"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercapstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercapstyle"}},[t._v("#")]),t._v(" hoverBorderCapStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.hoverBorderCapStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1836",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1836"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdash"}},[t._v("#")]),t._v(" hoverBorderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.hoverBorderDash")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1837",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1837"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdashoffset"}},[t._v("#")]),t._v(" hoverBorderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.hoverBorderDashOffset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1838",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1838"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderjoinstyle"}},[t._v("#")]),t._v(" hoverBorderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.hoverBorderJoinStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1839",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1839"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbackgroundcolor"}},[t._v("#")]),t._v(" pointBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The fill color for points.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1919",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1919"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbordercolor"}},[t._v("#")]),t._v(" pointBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The border color for points.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1923",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1923"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointborderwidth"}},[t._v("#")]),t._v(" pointBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The width of the point border in pixels.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1927",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1927"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhitradius"}},[t._v("#")]),t._v(" pointHitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHitRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The pixel size of the non-displayed point that reacts to mouse events.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHitRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1931",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1931"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbackgroundcolor"}},[t._v("#")]),t._v(" pointHoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point background color when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1950",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1950"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbordercolor"}},[t._v("#")]),t._v(" pointHoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point border color when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-32"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-32"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1954",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1954"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverborderwidth"}},[t._v("#")]),t._v(" pointHoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Border width of point when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-33"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-33"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1958",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1958"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverradius"}},[t._v("#")]),t._v(" pointHoverRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The radius of the point when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-34"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-34"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1962",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1962"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointradius"}},[t._v("#")]),t._v(" pointRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The radius of the point shape. If set to 0, the point is not rendered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-35"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-35"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1935",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1935"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointrotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointrotation"}},[t._v("#")]),t._v(" pointRotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRotation")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The rotation of the point in degrees.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-36"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointRotation")]),t._v(" "),r("h4",{attrs:{id:"defined-in-36"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1939",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1939"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Style of the point.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-37"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-37"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1943",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1943"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"segment"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#segment"}},[t._v("#")]),t._v(" segment")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("segment")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<{ "),r("code",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> }, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-38"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.segment")]),t._v(" "),r("h4",{attrs:{id:"defined-in-38"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1824",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1824"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"showline"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#showline"}},[t._v("#")]),t._v(" showLine")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("showLine")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-39"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L203",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:203"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spangaps"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spangaps"}},[t._v("#")]),t._v(" spanGaps")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spanGaps")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"overrides"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),r("p",[t._v("ScriptableOptions.spanGaps")]),t._v(" "),r("h4",{attrs:{id:"defined-in-40"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L201",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:201"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-39"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-39"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-41"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stepped"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stepped"}},[t._v("#")]),t._v(" stepped")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stepped")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(" | "),r("code",[t._v('"middle"')]),t._v(" | "),r("code",[t._v('"before"')]),t._v(" | "),r("code",[t._v('"after"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("true to show the line as a stepped line (tension will be ignored).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-40"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-40"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.stepped")]),t._v(" "),r("h4",{attrs:{id:"defined-in-42"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1814",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1814"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tension"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tension"}},[t._v("#")]),t._v(" tension")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tension")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Bézier curve tension (0 for no Bézier curves).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-41"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-41"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableOptions.tension")]),t._v(" "),r("h4",{attrs:{id:"defined-in-43"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1809",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1809"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"transitions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("transitions")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[r("code",[t._v("TransitionsSpec")])]),t._v("<"),r("code",[t._v('"line"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-42"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-42"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.transitions")]),t._v(" "),r("h4",{attrs:{id:"defined-in-44"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"xaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#xaxisid"}},[t._v("#")]),t._v(" xAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("xAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the x axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-45"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L191",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:191"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"yaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#yaxisid"}},[t._v("#")]),t._v(" yAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("yAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the y axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-46"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L195",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:195"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/81.f1500469.js b/scriptApl/chart.js/dist/docs/assets/js/81.f1500469.js new file mode 100644 index 00000000..bb793500 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/81.f1500469.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{412:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-lineelement-t-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-lineelement-t-o"}},[t._v("#")]),t._v(" Interface: LineElement")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/LineProps.html"}},[a("code",[t._v("LineProps")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/LineProps.html"}},[a("code",[t._v("LineProps")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[a("code",[t._v("LineOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[a("code",[t._v("LineOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[a("code",[t._v("VisualElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("LineElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"points"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#points"}},[t._v("#")]),t._v(" points")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("points")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1846",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1846"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"segments"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#segments"}},[t._v("#")]),t._v(" segments")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("segments")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Segment.html"}},[a("code",[t._v("Segment")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1847",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1847"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("area?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("area?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1685",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1685"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"first"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#first"}},[t._v("#")]),t._v(" first")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("first")]),t._v("(): "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1848",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1848"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcenterpoint"}},[t._v("#")]),t._v(" getCenterPoint")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getCenterPoint")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getcenterpoint"}},[t._v("getCenterPoint")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1689",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1689"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("code",[t._v("T")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getrange"}},[t._v("#")]),t._v(" getRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getRange")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getrange"}},[t._v("getRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1690",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1690"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inrange"}},[t._v("#")]),t._v(" inRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inrange"}},[t._v("inRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1686",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1686"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inxrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inxrange"}},[t._v("#")]),t._v(" inXRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inXRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inxrange"}},[t._v("inXRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1687"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inyrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inyrange"}},[t._v("#")]),t._v(" inYRange")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("inYRange")]),t._v("("),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inyrange"}},[t._v("inYRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1688"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interpolate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interpolate"}},[t._v("#")]),t._v(" interpolate")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("interpolate")]),t._v("("),a("code",[t._v("point")]),t._v(", "),a("code",[t._v("property")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("point")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("property")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1850",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1850"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"last"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last"}},[t._v("#")]),t._v(" last")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("last")]),t._v("(): "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1849",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1849"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"path"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#path"}},[t._v("#")]),t._v(" path")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("path")]),t._v("("),a("code",[t._v("ctx")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1852",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1852"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"pathsegment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pathsegment"}},[t._v("#")]),t._v(" pathSegment")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("pathSegment")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("segment")]),t._v(", "),a("code",[t._v("params")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("segment")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Segment.html"}},[a("code",[t._v("Segment")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("params")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1851",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1851"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatecontrolpoints"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatecontrolpoints"}},[t._v("#")]),t._v(" updateControlPoints")]),t._v(" "),a("p",[t._v("â–¸ "),a("strong",[t._v("updateControlPoints")]),t._v("("),a("code",[t._v("chartArea")]),t._v(", "),a("code",[t._v("indexAxis?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("indexAxis?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1845",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1845"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/82.69f363a6.js b/scriptApl/chart.js/dist/docs/assets/js/82.69f363a6.js new file mode 100644 index 00000000..e22f82c1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/82.69f363a6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{413:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-linehoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-linehoveroptions"}},[r._v("#")]),r._v(" Interface: LineHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[r._v("#")]),r._v(" Hierarchy")]),r._v(" "),t("ul",[t("li",[t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[t("code",[r._v("CommonHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("strong",[t("code",[r._v("LineHoverOptions")])])])])]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"hoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[r._v("#")]),r._v(" hoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbackgroundcolor"}},[r._v("hoverBackgroundColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1702"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercapstyle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercapstyle"}},[r._v("#")]),r._v(" hoverBorderCapStyle")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderCapStyle")]),r._v(": "),t("code",[r._v("CanvasLineCap")])]),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1836",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1836"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[r._v("#")]),r._v(" hoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbordercolor"}},[r._v("hoverBorderColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1701"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderdash"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdash"}},[r._v("#")]),r._v(" hoverBorderDash")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderDash")]),r._v(": "),t("code",[r._v("number")]),r._v("[]")]),r._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1837",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1837"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderdashoffset"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdashoffset"}},[r._v("#")]),r._v(" hoverBorderDashOffset")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderDashOffset")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"defined-in-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1838",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1838"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderjoinstyle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderjoinstyle"}},[r._v("#")]),r._v(" hoverBorderJoinStyle")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderJoinStyle")]),r._v(": "),t("code",[r._v("CanvasLineJoin")])]),r._v(" "),t("h4",{attrs:{id:"defined-in-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1839",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1839"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[r._v("#")]),r._v(" hoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"inherited-from-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverborderwidth"}},[r._v("hoverBorderWidth")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1700"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/83.f1fbcb2c.js b/scriptApl/chart.js/dist/docs/assets/js/83.f1fbcb2c.js new file mode 100644 index 00000000..02b3bf82 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/83.f1fbcb2c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{414:function(t,e,r){"use strict";r.r(e);var a=r(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-lineoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-lineoptions"}},[t._v("#")]),t._v(" Interface: LineOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[r("code",[t._v("CommonElementOptions")])])],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("LineOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#backgroundcolor"}},[t._v("backgroundColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercapstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercapstyle"}},[t._v("#")]),t._v(" borderCapStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderCapStyle")]),t._v(": "),r("code",[t._v("CanvasLineCap")])]),t._v(" "),r("p",[t._v("Line cap style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'butt'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1779",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1779"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#bordercolor"}},[t._v("borderColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdash"}},[t._v("#")]),t._v(" borderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDash")]),t._v(": "),r("code",[t._v("number")]),t._v("[]")]),t._v(" "),r("p",[t._v("Line dash. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" []")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1784",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1784"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdashoffset"}},[t._v("#")]),t._v(" borderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDashOffset")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Line dash offset. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0.0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1789",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1789"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[t._v("#")]),t._v(" borderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderJoinStyle")]),t._v(": "),r("code",[t._v("CanvasLineJoin")])]),t._v(" "),r("p",[t._v("Line join style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'miter'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1794",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1794"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#borderwidth"}},[t._v("borderWidth")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"capbezierpoints"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#capbezierpoints"}},[t._v("#")]),t._v(" capBezierPoints")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("capBezierPoints")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("true to keep Bézier control inside the chart, false for no restriction.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1799",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1799"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"cubicinterpolationmode"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cubicinterpolationmode"}},[t._v("#")]),t._v(" cubicInterpolationMode")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("cubicInterpolationMode")]),t._v(": "),r("code",[t._v('"default"')]),t._v(" | "),r("code",[t._v('"monotone"')])]),t._v(" "),r("p",[t._v("Interpolation mode to apply.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'default'")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1804",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1804"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"fill"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fill"}},[t._v("#")]),t._v(" fill")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("fill")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#filltarget"}},[r("code",[t._v("FillTarget")])]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ComplexFillTarget.html"}},[r("code",[t._v("ComplexFillTarget")])])],1),t._v(" "),r("p",[t._v("Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1818",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1818"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"segment"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#segment"}},[t._v("#")]),t._v(" segment")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("segment")]),t._v(": "),r("code",[t._v("Object")])]),t._v(" "),r("h4",{attrs:{id:"type-declaration"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),r("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("backgroundColor")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderCapStyle")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderColor")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderDash")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderDashOffset")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderJoinStyle")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[r("code",[t._v("borderWidth")])]),t._v(" "),r("td",{staticStyle:{"text-align":"left"}},[r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v(">")],1)])])]),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1824",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1824"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spangaps"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spangaps"}},[t._v("#")]),t._v(" spanGaps")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spanGaps")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1822",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1822"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stepped"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stepped"}},[t._v("#")]),t._v(" stepped")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stepped")]),t._v(": "),r("code",[t._v("boolean")]),t._v(" | "),r("code",[t._v('"middle"')]),t._v(" | "),r("code",[t._v('"before"')]),t._v(" | "),r("code",[t._v('"after"')])]),t._v(" "),r("p",[t._v("true to show the line as a stepped line (tension will be ignored).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1814",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1814"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tension"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tension"}},[t._v("#")]),t._v(" tension")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tension")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Bézier curve tension (0 for no Bézier curves).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1809",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1809"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/84.b76e3156.js b/scriptApl/chart.js/dist/docs/assets/js/84.b76e3156.js new file mode 100644 index 00000000..c0790f40 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/84.b76e3156.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{415:function(t,e,r){"use strict";r.r(e);var s=r(6),a=Object(s.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-lineprops"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-lineprops"}},[t._v("#")]),t._v(" Interface: LineProps")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"points"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#points"}},[t._v("#")]),t._v(" points")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("points")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[r("code",[t._v("Point")])]),t._v("[]")],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1771",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1771"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/85.efc4bd54.js b/scriptApl/chart.js/dist/docs/assets/js/85.efc4bd54.js new file mode 100644 index 00000000..a5e200ba --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/85.efc4bd54.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{416:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-parsingoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-parsingoptions"}},[t._v("#")]),t._v(" Interface: ParsingOptions")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("ParsingOptions")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[a("code",[t._v("ControllerDatasetOptions")])])],1),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"normalized"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("normalized")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("parsing")]),t._v(": "),a("code",[t._v("false")]),t._v(" | { [key: string]: "),a("code",[t._v("string")]),t._v("; }")]),t._v(" "),a("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/86.85011b24.js b/scriptApl/chart.js/dist/docs/assets/js/86.85011b24.js new file mode 100644 index 00000000..342f3d27 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/86.85011b24.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{417:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-plugin-ttype-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-plugin-ttype-o"}},[t._v("#")]),t._v(" Interface: Plugin")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html"}},[a("code",[t._v("ExtendedPlugin")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("Plugin")])])]),t._v(" "),a("p",[t._v("↳↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/Tooltip.html"}},[a("code",[t._v("Tooltip")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"id"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#id"}},[t._v("#")]),t._v(" id")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("id")]),t._v(": "),a("code",[t._v("string")])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L808",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:808"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"afterbuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterbuildticks"}},[t._v("#")]),t._v(" afterBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterBuildTicks")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after scale has build its ticks. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L967",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:967"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatalimits"}},[t._v("#")]),t._v(" afterDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDataLimits")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after scale data limits are calculated. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L951",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:951"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetdraw"}},[t._v("#")]),t._v(" afterDatasetDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets at the given "),a("code",[t._v("args.index")]),t._v(" have been drawn\n(datasets are drawn in the reverse order). Note that this hook will not be called\nif the datasets drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1049",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1049"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetupdate"}},[t._v("#")]),t._v(" afterDatasetUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets at the given "),a("code",[t._v("args.index")]),t._v(" has been updated. Note\nthat this hook will not be called if the datasets update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L926",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:926"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetsdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetsdraw"}},[t._v("#")]),t._v(" afterDatasetsDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetsDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v(", "),a("code",[t._v("cancelable")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets have been drawn. Note that this hook\nwill not be called if the datasets drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1026",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1026"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdatasetsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdatasetsupdate"}},[t._v("#")]),t._v(" afterDatasetsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDatasetsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" datasets have been updated. Note that this hook\nwill not be called if the datasets update has been previously cancelled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 2.1.5")]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L903",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:903"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdestroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdestroy"}},[t._v("#")]),t._v(" afterDestroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDestroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after the chart has been destroyed.")]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1102",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1102"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterdraw"}},[t._v("#")]),t._v(" afterDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been drawn. Note that this hook will not be called\nif the drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1009",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1009"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterevent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterevent"}},[t._v("#")]),t._v(" afterEvent")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterEvent")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("event")]),t._v(" has been consumed. Note that this hook\nwill not be called if the "),a("code",[t._v("event")]),t._v(" has been previously discarded.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.changed?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event object.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.inChartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event position is inside chartArea")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.replay")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("True if this event is replayed from "),a("code",[t._v("Chart.update")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1072",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1072"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterinit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterinit"}},[t._v("#")]),t._v(" afterInit")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterInit")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after "),a("code",[t._v("chart")]),t._v(" has been initialized and before the first update.")]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L847",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:847"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterlayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterlayout"}},[t._v("#")]),t._v(" afterLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterLayout")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been laid out. Note that this hook will not\nbe called if the layout update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L975",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:975"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterrender"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterrender"}},[t._v("#")]),t._v(" afterRender")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterRender")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the "),a("code",[t._v("chart")]),t._v(" has been fully rendered (and animation completed). Note\nthat this hook will not be called if the rendering has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L992",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:992"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"aftertooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aftertooltipdraw"}},[t._v("#")]),t._v(" afterTooltipDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after drawing the "),a("code",[t._v("tooltip")]),t._v(". Note that this hook will not\nbe called if the tooltip drawing has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html"}},[t._v("ExtendedPlugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html#aftertooltipdraw"}},[t._v("afterTooltipDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"afterupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#afterupdate"}},[t._v("#")]),t._v(" afterUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("afterUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after "),a("code",[t._v("chart")]),t._v(" has been updated and before rendering. Note that this\nhook will not be called if the chart update has been previously cancelled.")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L866",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:866"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforebuildticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforebuildticks"}},[t._v("#")]),t._v(" beforeBuildTicks")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeBuildTicks")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before scale builds its ticks. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L959",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:959"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatalimits"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatalimits"}},[t._v("#")]),t._v(" beforeDataLimits")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDataLimits")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before scale data limits are calculated. This hook is called separately for each scale in the chart.")]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The scale.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L943",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:943"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetdraw"}},[t._v("#")]),t._v(" beforeDatasetDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("chart")]),t._v(" dataset at the given "),a("code",[t._v("args.index")]),t._v(" (datasets\nare drawn in the reverse order). If any plugin returns "),a("code",[t._v("false")]),t._v(", the datasets drawing\nis cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1038",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1038"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetupdate"}},[t._v("#")]),t._v(" beforeDatasetUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating the "),a("code",[t._v("chart")]),t._v(" dataset at the given "),a("code",[t._v("args.index")]),t._v(". If any plugin\nreturns "),a("code",[t._v("false")]),t._v(", the datasets update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset index.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The dataset metadata.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L915",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:915"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetsdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetsdraw"}},[t._v("#")]),t._v(" beforeDatasetsDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetsDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("chart")]),t._v(" datasets. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe datasets drawing is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart datasets drawing.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1018",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1018"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedatasetsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedatasetsupdate"}},[t._v("#")]),t._v(" beforeDatasetsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDatasetsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating the "),a("code",[t._v("chart")]),t._v(" datasets. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe datasets update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 2.1.5")]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("false to cancel the datasets update.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L893",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:893"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedestroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedestroy"}},[t._v("#")]),t._v(" beforeDestroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDestroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called before the chart is being destroyed.")]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1087",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1087"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforedraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforedraw"}},[t._v("#")]),t._v(" beforeDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing "),a("code",[t._v("chart")]),t._v(" at every animation frame. If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe frame drawing is cancelled untilanother "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart drawing.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1001",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1001"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeelementsupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeelementsupdate"}},[t._v("#")]),t._v(" beforeElementsUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeElementsUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called during the update process, before any chart elements have been created.\nThis can be used for data decimation by changing the data array inside a dataset.")]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L874",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:874"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeevent"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeevent"}},[t._v("#")]),t._v(" beforeEvent")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeEvent")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before processing the specified "),a("code",[t._v("event")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe event will be discarded.")]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.event")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event object.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.inChartArea")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The event position is inside chartArea")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.replay")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("True if this event is replayed from "),a("code",[t._v("Chart.update")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1060",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1060"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeinit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeinit"}},[t._v("#")]),t._v(" beforeInit")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeInit")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before initializing "),a("code",[t._v("chart")]),t._v(".")]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L840",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:840"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforelayout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforelayout"}},[t._v("#")]),t._v(" beforeLayout")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeLayout")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before laying out "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe layout update is cancelled until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-26"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart layout.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L935",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:935"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforerender"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforerender"}},[t._v("#")]),t._v(" beforeRender")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeRender")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before rendering "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe rendering is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-27"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart rendering.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L984",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:984"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforetooltipdraw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforetooltipdraw"}},[t._v("#")]),t._v(" beforeTooltipDraw")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeTooltipDraw")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before drawing the "),a("code",[t._v("tooltip")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(",\nthe tooltip drawing is cancelled until another "),a("code",[t._v("render")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-28"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.tooltip")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The tooltip.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart tooltip drawing.")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html"}},[t._v("ExtendedPlugin")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html#beforetooltipdraw"}},[t._v("beforeTooltipDraw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2592"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"beforeupdate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beforeupdate"}},[t._v("#")]),t._v(" beforeUpdate")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("beforeUpdate")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called before updating "),a("code",[t._v("chart")]),t._v(". If any plugin returns "),a("code",[t._v("false")]),t._v(", the update\nis cancelled (and thus subsequent render(s)) until another "),a("code",[t._v("update")]),t._v(" is triggered.")]),t._v(" "),a("h4",{attrs:{id:"parameters-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-29"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.cancelable")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("true")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The update mode")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("code",[t._v("false")]),t._v(" to cancel the chart update.")]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L857",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:857"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"destroy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#destroy"}},[t._v("#")]),t._v(" destroy")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("destroy")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after the chart has been destroyed.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("deprecated")])]),t._v(" since version 3.7.0 in favour of afterDestroy")]),t._v(" "),a("h4",{attrs:{id:"parameters-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-30"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1095",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1095"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[t._v("#")]),t._v(" install")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("install")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-31"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L817",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:817"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("reset")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called during chart reset")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" version 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-32"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L882",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:882"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resize"}},[t._v("#")]),t._v(" resize")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("resize")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called after the chart as been resized.")]),t._v(" "),a("h4",{attrs:{id:"parameters-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-33"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The new canvas display size (eq. canvas.style width & height).")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size.height")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args.size.width")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("-")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1080",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1080"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"start"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#start"}},[t._v("#")]),t._v(" start")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("start")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when a plugin is starting. This happens when chart is created or plugin is enabled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-34"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L825",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:825"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"stop"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#stop"}},[t._v("#")]),t._v(" stop")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("stop")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[a("strong",[a("code",[t._v("desc")])]),t._v(" Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-35"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L833",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:833"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"uninstall"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#uninstall"}},[t._v("#")]),t._v(" uninstall")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("uninstall")]),t._v("("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("args")]),t._v(", "),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("since")])]),t._v(" 3.0.0")]),t._v(" "),a("h4",{attrs:{id:"parameters-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-36"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The chart instance.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("args")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("EmptyObject")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The call arguments.")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The plugin options.")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1110",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1110"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/87.6a88d571.js b/scriptApl/chart.js/dist/docs/assets/js/87.6a88d571.js new file mode 100644 index 00000000..23e57cf3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/87.6a88d571.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{418:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-pluginchartoptions-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-pluginchartoptions-ttype"}},[t._v("#")]),t._v(" Interface: PluginChartOptions")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[a("code",[t._v("PluginChartOptions")])])]),t._v(" "),a("p",[t._v("↳ "),a("RouterLink",{attrs:{to:"/api/interfaces/Defaults.html"}},[a("code",[t._v("Defaults")])])],1)])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[t._v("#")]),t._v(" plugins")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("plugins")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginOptionsByType.html"}},[a("code",[t._v("PluginOptionsByType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2845",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2845"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/88.0f45cfe0.js b/scriptApl/chart.js/dist/docs/assets/js/88.0f45cfe0.js new file mode 100644 index 00000000..701a91ad --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/88.0f45cfe0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{419:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-pluginoptionsbytype-ttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-pluginoptionsbytype-ttype"}},[t._v("#")]),t._v(" Interface: PluginOptionsByType")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#decimation"}},[t._v("#")]),t._v(" decimation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("decimation")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#decimationoptions"}},[a("code",[t._v("DecimationOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2837",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2837"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"filler"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#filler"}},[t._v("#")]),t._v(" filler")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("filler")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/FillerOptions.html"}},[a("code",[t._v("FillerOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2838",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2838"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"legend"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend"}},[t._v("#")]),t._v(" legend")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("legend")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LegendOptions.html"}},[a("code",[t._v("LegendOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2839",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2839"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"subtitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#subtitle"}},[t._v("#")]),t._v(" subtitle")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("subtitle")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TitleOptions.html"}},[a("code",[t._v("TitleOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2840",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2840"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" title")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("title")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TitleOptions.html"}},[a("code",[t._v("TitleOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2841",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2841"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" tooltip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("tooltip")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipOptions.html"}},[a("code",[t._v("TooltipOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2842",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2842"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/89.e67ddb59.js b/scriptApl/chart.js/dist/docs/assets/js/89.e67ddb59.js new file mode 100644 index 00000000..252a3a43 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/89.e67ddb59.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{420:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-point"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-point"}},[t._v("#")]),t._v(" Interface: Point")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("x")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:11"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("y")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/geometric.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("geometric.d.ts:12"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/9.63ebb16b.js b/scriptApl/chart.js/dist/docs/assets/js/9.63ebb16b.js new file mode 100644 index 00000000..f5ab1472 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/9.63ebb16b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{341:function(t,e,a){"use strict";a.r(e);var r=a(6),i=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"chart-js-v3-9-1"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart-js-v3-9-1"}},[t._v("#")]),t._v(" Chart.js - v3.9.1")]),t._v(" "),a("h2",{attrs:{id:"enumerations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enumerations"}},[t._v("#")]),t._v(" Enumerations")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/enums/DecimationAlgorithm.html"}},[t._v("DecimationAlgorithm")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/enums/UpdateModeEnum.html"}},[t._v("UpdateModeEnum")])],1)]),t._v(" "),a("h2",{attrs:{id:"classes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#classes"}},[t._v("#")]),t._v(" Classes")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/classes/Animation.html"}},[t._v("Animation")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/Animations.html"}},[t._v("Animations")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/Animator.html"}},[t._v("Animator")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/BasePlatform.html"}},[t._v("BasePlatform")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/BasicPlatform.html"}},[t._v("BasicPlatform")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[t._v("Chart")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[t._v("DatasetController")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/DomPlatform.html"}},[t._v("DomPlatform")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[t._v("Scale")])],1)]),t._v(" "),a("h2",{attrs:{id:"interfaces"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interfaces"}},[t._v("#")]),t._v(" Interfaces")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveDataPoint.html"}},[t._v("ActiveDataPoint")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[t._v("ActiveElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[t._v("AnimationEvent")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ArcBorderRadius.html"}},[t._v("ArcBorderRadius")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ArcElement.html"}},[t._v("ArcElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ArcHoverOptions.html"}},[t._v("ArcHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[t._v("ArcOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ArcProps.html"}},[t._v("ArcProps")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerChartOptions.html"}},[t._v("BarControllerChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarControllerDatasetOptions.html"}},[t._v("BarControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarElement.html"}},[t._v("BarElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarHoverOptions.html"}},[t._v("BarHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[t._v("BarOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BarProps.html"}},[t._v("BarProps")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[t._v("BorderRadius")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleControllerDatasetOptions.html"}},[t._v("BubbleControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/BubbleDataPoint.html"}},[t._v("BubbleDataPoint")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[t._v("CartesianScaleOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleTypeRegistry.html"}},[t._v("CartesianScaleTypeRegistry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[t._v("ChartArea")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[t._v("ChartComponent")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfiguration.html"}},[t._v("ChartConfiguration")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartConfigurationCustomTypesPerDataset.html"}},[t._v("ChartConfigurationCustomTypesPerDataset")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartData.html"}},[t._v("ChartData")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartDataCustomTypesPerDataset.html"}},[t._v("ChartDataCustomTypesPerDataset")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartDatasetProperties.html"}},[t._v("ChartDatasetProperties")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html"}},[t._v("ChartDatasetPropertiesCustomTypesPerDataset")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[t._v("ChartEvent")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[t._v("ChartTypeRegistry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[t._v("CommonHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ComplexFillTarget.html"}},[t._v("ComplexFillTarget")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[t._v("CoreChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreInteractionOptions.html"}},[t._v("CoreInteractionOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[t._v("CoreScaleOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DatasetControllerChartComponent.html"}},[t._v("DatasetControllerChartComponent")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DateAdapter.html"}},[t._v("DateAdapter")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Defaults.html"}},[t._v("Defaults")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutAnimationOptions.html"}},[t._v("DoughnutAnimationOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutController.html"}},[t._v("DoughnutController")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerChartOptions.html"}},[t._v("DoughnutControllerChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutMetaExtensions.html"}},[t._v("DoughnutMetaExtensions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Element.html"}},[t._v("Element")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ElementOptionsByType.html"}},[t._v("ElementOptionsByType")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ExtendedPlugin.html"}},[t._v("ExtendedPlugin")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/FillerControllerDatasetOptions.html"}},[t._v("FillerControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/FillerOptions.html"}},[t._v("FillerOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[t._v("FontSpec")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/GridLineOptions.html"}},[t._v("GridLineOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[t._v("InteractionItem")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionModeMap.html"}},[t._v("InteractionModeMap")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionOptions.html"}},[t._v("InteractionOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[t._v("LayoutItem")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LegendElement.html"}},[t._v("LegendElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LegendItem.html"}},[t._v("LegendItem")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LegendOptions.html"}},[t._v("LegendOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[t._v("LineControllerChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[t._v("LineControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineElement.html"}},[t._v("LineElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineHoverOptions.html"}},[t._v("LineHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[t._v("LineOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/LineProps.html"}},[t._v("LineProps")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ParsingOptions.html"}},[t._v("ParsingOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[t._v("Plugin")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[t._v("PluginChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PluginOptionsByType.html"}},[t._v("PluginOptionsByType")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[t._v("Point")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointElement.html"}},[t._v("PointElement")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointHoverOptions.html"}},[t._v("PointHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[t._v("PointOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedHoverOptions.html"}},[t._v("PointPrefixedHoverOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedOptions.html"}},[t._v("PointPrefixedOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[t._v("PointProps")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaController.html"}},[t._v("PolarAreaController")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerChartOptions.html"}},[t._v("PolarAreaControllerChartOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/PolarAreaControllerDatasetOptions.html"}},[t._v("PolarAreaControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/RadarControllerDatasetOptions.html"}},[t._v("RadarControllerDatasetOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/RadialLinearScale.html"}},[t._v("RadialLinearScale")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/RadialScaleTypeRegistry.html"}},[t._v("RadialScaleTypeRegistry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Registry.html"}},[t._v("Registry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScaleTypeRegistry.html"}},[t._v("ScaleTypeRegistry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScatterDataPoint.html"}},[t._v("ScatterDataPoint")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableCartesianScaleContext.html"}},[t._v("ScriptableCartesianScaleContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableChartContext.html"}},[t._v("ScriptableChartContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[t._v("ScriptableContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[t._v("ScriptableLineSegmentContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[t._v("ScriptableScaleContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[t._v("ScriptableScalePointLabelContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableTooltipContext.html"}},[t._v("ScriptableTooltipContext")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Segment.html"}},[t._v("Segment")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Tick.html"}},[t._v("Tick")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TickOptions.html"}},[t._v("TickOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TimeScale.html"}},[t._v("TimeScale")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TitleOptions.html"}},[t._v("TitleOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/Tooltip.html"}},[t._v("Tooltip")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipCallbacks.html"}},[t._v("TooltipCallbacks")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipItem.html"}},[t._v("TooltipItem")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipLabelStyle.html"}},[t._v("TooltipLabelStyle")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[t._v("TooltipModel")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipOptions.html"}},[t._v("TooltipOptions")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPosition.html"}},[t._v("TooltipPosition")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPositionerMap.html"}},[t._v("TooltipPositionerMap")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/TypedRegistry.html"}},[t._v("TypedRegistry")])],1),t._v(" "),a("li",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")])],1)]),t._v(" "),a("h2",{attrs:{id:"type-aliases"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-aliases"}},[t._v("#")]),t._v(" Type aliases")]),t._v(" "),a("h3",{attrs:{id:"align"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#align"}},[t._v("#")]),t._v(" Align")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("Align")]),t._v(": "),a("code",[t._v('"start"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"end"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1682",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1682"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animationoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animationoptions"}},[t._v("#")]),t._v(" AnimationOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("AnimationOptions")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("animation")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#animationspec"}},[a("code",[t._v("AnimationSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & { "),a("code",[t._v("onComplete?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" ; "),a("code",[t._v("onProgress?")]),t._v(": ("),a("code",[t._v("event")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[a("code",[t._v("AnimationEvent")])]),t._v(") => "),a("code",[t._v("void")]),t._v(" }")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("animations")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#animationsspec"}},[a("code",[t._v("AnimationsSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("transitions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[a("code",[t._v("TransitionsSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1639",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1639"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animationspec"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animationspec"}},[t._v("#")]),t._v(" AnimationSpec")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("AnimationSpec")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-2"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Description")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("delay?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Delay before starting the animations. "),a("strong",[a("code",[t._v("default")])]),t._v(" 0")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("duration?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("The number of milliseconds an animation takes. "),a("strong",[a("code",[t._v("default")])]),t._v(" 1000")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("easing?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#easingfunction"}},[a("code",[t._v("EasingFunction")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("Easing function to use "),a("strong",[a("code",[t._v("default")])]),t._v(" 'easeOutQuart'")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("loop?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("boolean")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">>")],1),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("If set to true, the animations loop endlessly. "),a("strong",[a("code",[t._v("default")])]),t._v(" false")])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1583",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1583"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"animationsspec"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animationsspec"}},[t._v("#")]),t._v(" AnimationsSpec")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("AnimationsSpec")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-3"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"index-signature"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-signature"}},[t._v("#")]),t._v(" Index signature")]),t._v(" "),a("p",[t._v("▪ [name: "),a("code",[t._v("string")]),t._v("]: "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#animationspec"}},[a("code",[t._v("AnimationSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & { "),a("code",[t._v("from")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">> ; "),a("code",[t._v("properties")]),t._v(": "),a("code",[t._v("string")]),t._v("[] ; "),a("code",[t._v("to")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[a("code",[t._v("ScriptableContext")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">> ; "),a("code",[t._v("type")]),t._v(": "),a("code",[t._v('"color"')]),t._v(" | "),a("code",[t._v('"number"')]),t._v(" | "),a("code",[t._v('"boolean"')]),t._v(" ; "),a("code",[t._v("fn")]),t._v(": ("),a("code",[t._v("from")]),t._v(": "),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("to")]),t._v(": "),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("factor")]),t._v(": "),a("code",[t._v("number")]),t._v(") => "),a("code",[t._v("T")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1608",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1608"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"barcontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barcontroller"}},[t._v("#")]),t._v(" BarController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("BarController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L145",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:145"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bubblecontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubblecontroller"}},[t._v("#")]),t._v(" BubbleController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("BubbleController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L173",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:173"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"cartesiantickoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cartesiantickoptions"}},[t._v("#")]),t._v(" CartesianTickOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("CartesianTickOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TickOptions.html"}},[a("code",[t._v("TickOptions")])]),t._v(" & { "),a("code",[t._v("align")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#align"}},[a("code",[t._v("Align")])]),t._v(" | "),a("code",[t._v('"inner"')]),t._v(" ; "),a("code",[t._v("autoSkip")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("autoSkipPadding")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("crossAlign")]),t._v(": "),a("code",[t._v('"near"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"far"')]),t._v(" ; "),a("code",[t._v("includeBounds")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("labelOffset")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("maxRotation")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("maxTicksLimit")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("minRotation")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("mirror")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("padding")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("sampleSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2982",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2982"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"categoryscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#categoryscale"}},[t._v("#")]),t._v(" CategoryScale")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("CategoryScale")]),t._v("<"),a("code",[t._v("O")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-4"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#categoryscaleoptions"}},[a("code",[t._v("CategoryScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#categoryscaleoptions"}},[a("code",[t._v("CategoryScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3147",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3147"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"categoryscaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#categoryscaleoptions"}},[t._v("#")]),t._v(" CategoryScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("CategoryScaleOptions")]),t._v(": "),a("code",[t._v("Omit")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(", "),a("code",[t._v('"min"')]),t._v(" | "),a("code",[t._v('"max"')]),t._v("> & { "),a("code",[t._v("labels")]),t._v(": "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("string")]),t._v("[][] ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3141",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3141"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartcomponentlike"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartcomponentlike"}},[t._v("#")]),t._v(" ChartComponentLike")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartComponentLike")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v("[] | { [key: string]: "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v("; } | "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1113",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1113"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartdataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartdataset"}},[t._v("#")]),t._v(" ChartDataset")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartDataset")]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">: "),a("code",[t._v("DeepPartial")]),t._v('<{ [key in ChartType]: Object & ChartTypeRegistry[key]["datasetOptions"] }['),a("code",[t._v("TType")]),t._v("]> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartDatasetProperties.html"}},[a("code",[t._v("ChartDatasetProperties")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-5"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3659",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3659"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartdatasetcustomtypesperdataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartdatasetcustomtypesperdataset"}},[t._v("#")]),t._v(" ChartDatasetCustomTypesPerDataset")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartDatasetCustomTypesPerDataset")]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">: "),a("code",[t._v("DeepPartial")]),t._v('<{ [key in ChartType]: Object & ChartTypeRegistry[key]["datasetOptions"] }['),a("code",[t._v("TType")]),t._v("]> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html"}},[a("code",[t._v("ChartDatasetPropertiesCustomTypesPerDataset")])]),t._v("<"),a("code",[t._v("TType")]),t._v(", "),a("code",[t._v("TData")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-6"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TData")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#defaultdatapoint"}},[a("code",[t._v("DefaultDataPoint")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3666",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3666"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartitem"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartitem"}},[t._v("#")]),t._v(" ChartItem")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartItem")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("CanvasRenderingContext2D")]),t._v(" | "),a("code",[t._v("HTMLCanvasElement")]),t._v(" | { "),a("code",[t._v("canvas")]),t._v(": "),a("code",[t._v("HTMLCanvasElement")]),t._v(" } | "),a("code",[t._v("ArrayLike")]),t._v("<"),a("code",[t._v("CanvasRenderingContext2D")]),t._v(" | "),a("code",[t._v("HTMLCanvasElement")]),t._v(">")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L554",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:554"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartmeta"}},[t._v("#")]),t._v(" ChartMeta")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartMeta")]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(", "),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("DeepPartial")]),t._v('<{ [key in ChartType]: ChartTypeRegistry[key]["metaExtensions"] }['),a("code",[t._v("TType")]),t._v("]> & "),a("code",[t._v("ChartMetaCommon")]),t._v("<"),a("code",[t._v("TElement")]),t._v(", "),a("code",[t._v("TDatasetElement")]),t._v(">")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-7"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TDatasetElement")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L460",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:460"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chartoptions"}},[t._v("#")]),t._v(" ChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartOptions")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("DeepPartial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreChartOptions.html"}},[a("code",[t._v("CoreChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#elementchartoptions"}},[a("code",[t._v("ElementChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/PluginChartOptions.html"}},[a("code",[t._v("PluginChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#datasetchartoptions"}},[a("code",[t._v("DatasetChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/#scalechartoptions"}},[a("code",[t._v("ScaleChartOptions")])]),t._v("<"),a("code",[t._v("TType")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"chartOptions"')]),t._v("]>")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-8"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3636",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3636"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"charttype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#charttype"}},[t._v("#")]),t._v(" ChartType")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ChartType")]),t._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3615",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3615"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#color"}},[t._v("#")]),t._v(" Color")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("Color")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("CanvasGradient")]),t._v(" | "),a("code",[t._v("CanvasPattern")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/color.d.ts#L1",target:"_blank",rel:"noopener noreferrer"}},[t._v("color.d.ts:1"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"datasetchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#datasetchartoptions"}},[t._v("#")]),t._v(" DatasetChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("DatasetChartOptions")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: { [key in TType]: Object }")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-9"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3624",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3624"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"decimationoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#decimationoptions"}},[t._v("#")]),t._v(" DecimationOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("DecimationOptions")]),t._v(": "),a("code",[t._v("LttbDecimationOptions")]),t._v(" | "),a("code",[t._v("MinMaxDecimationOptions")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2130",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2130"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"defaultdatapoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defaultdatapoint"}},[t._v("#")]),t._v(" DefaultDataPoint")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("DefaultDataPoint")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("DistributiveArray")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"defaultDataPoint"')]),t._v("]>")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-10"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3645",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3645"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"doughnutdatapoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#doughnutdatapoint"}},[t._v("#")]),t._v(" DoughnutDataPoint")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("DoughnutDataPoint")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L331",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:331"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"easingfunction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#easingfunction"}},[t._v("#")]),t._v(" EasingFunction")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("EasingFunction")]),t._v(": "),a("code",[t._v('"linear"')]),t._v(" | "),a("code",[t._v('"easeInQuad"')]),t._v(" | "),a("code",[t._v('"easeOutQuad"')]),t._v(" | "),a("code",[t._v('"easeInOutQuad"')]),t._v(" | "),a("code",[t._v('"easeInCubic"')]),t._v(" | "),a("code",[t._v('"easeOutCubic"')]),t._v(" | "),a("code",[t._v('"easeInOutCubic"')]),t._v(" | "),a("code",[t._v('"easeInQuart"')]),t._v(" | "),a("code",[t._v('"easeOutQuart"')]),t._v(" | "),a("code",[t._v('"easeInOutQuart"')]),t._v(" | "),a("code",[t._v('"easeInQuint"')]),t._v(" | "),a("code",[t._v('"easeOutQuint"')]),t._v(" | "),a("code",[t._v('"easeInOutQuint"')]),t._v(" | "),a("code",[t._v('"easeInSine"')]),t._v(" | "),a("code",[t._v('"easeOutSine"')]),t._v(" | "),a("code",[t._v('"easeInOutSine"')]),t._v(" | "),a("code",[t._v('"easeInExpo"')]),t._v(" | "),a("code",[t._v('"easeOutExpo"')]),t._v(" | "),a("code",[t._v('"easeInOutExpo"')]),t._v(" | "),a("code",[t._v('"easeInCirc"')]),t._v(" | "),a("code",[t._v('"easeOutCirc"')]),t._v(" | "),a("code",[t._v('"easeInOutCirc"')]),t._v(" | "),a("code",[t._v('"easeInElastic"')]),t._v(" | "),a("code",[t._v('"easeOutElastic"')]),t._v(" | "),a("code",[t._v('"easeInOutElastic"')]),t._v(" | "),a("code",[t._v('"easeInBack"')]),t._v(" | "),a("code",[t._v('"easeOutBack"')]),t._v(" | "),a("code",[t._v('"easeInOutBack"')]),t._v(" | "),a("code",[t._v('"easeInBounce"')]),t._v(" | "),a("code",[t._v('"easeOutBounce"')]),t._v(" | "),a("code",[t._v('"easeInOutBounce"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1550",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1550"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"elementchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elementchartoptions"}},[t._v("#")]),t._v(" ElementChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ElementChartOptions")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-11"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-3"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ElementOptionsByType.html"}},[a("code",[t._v("ElementOptionsByType")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2046",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2046"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"filltarget"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#filltarget"}},[t._v("#")]),t._v(" FillTarget")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("FillTarget")]),t._v(": "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("string")]),t._v(" | { "),a("code",[t._v("value")]),t._v(": "),a("code",[t._v("number")]),t._v(" } | "),a("code",[t._v('"start"')]),t._v(" | "),a("code",[t._v('"end"')]),t._v(" | "),a("code",[t._v('"origin"')]),t._v(" | "),a("code",[t._v('"stack"')]),t._v(" | "),a("code",[t._v('"shape"')]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2138",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2138"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interactionaxis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactionaxis"}},[t._v("#")]),t._v(" InteractionAxis")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("InteractionAxis")]),t._v(": "),a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')]),t._v(" | "),a("code",[t._v('"xy"')]),t._v(" | "),a("code",[t._v('"r"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1422",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1422"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interactionmode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactionmode"}},[t._v("#")]),t._v(" InteractionMode")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("InteractionMode")]),t._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionModeMap.html"}},[a("code",[t._v("InteractionModeMap")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L752",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:752"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interactionmodefunction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interactionmodefunction"}},[t._v("#")]),t._v(" InteractionModeFunction")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("InteractionModeFunction")]),t._v(": ("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("e")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])]),t._v(", "),a("code",[t._v("options")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionOptions.html"}},[a("code",[t._v("InteractionOptions")])]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v(": "),a("code",[t._v("boolean")]),t._v(") => "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"type-declaration-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-4"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("p",[t._v("▸ ("),a("code",[t._v("chart")]),t._v(", "),a("code",[t._v("e")]),t._v(", "),a("code",[t._v("options")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1),t._v(" "),a("h5",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("chart")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("e")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartEvent.html"}},[a("code",[t._v("ChartEvent")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionOptions.html"}},[a("code",[t._v("InteractionOptions")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h5",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L714",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:714"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"layoutposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layoutposition"}},[t._v("#")]),t._v(" LayoutPosition")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LayoutPosition")]),t._v(": "),a("code",[t._v('"left"')]),t._v(" | "),a("code",[t._v('"top"')]),t._v(" | "),a("code",[t._v('"right"')]),t._v(" | "),a("code",[t._v('"bottom"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"chartArea"')]),t._v(" | { [scaleId: string]: "),a("code",[t._v("number")]),t._v("; }")]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/layout.d.ts#L3",target:"_blank",rel:"noopener noreferrer"}},[t._v("layout.d.ts:3"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linecontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linecontroller"}},[t._v("#")]),t._v(" LineController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LineController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L219",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:219"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linearscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linearscale"}},[t._v("#")]),t._v(" LinearScale")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LinearScale")]),t._v("<"),a("code",[t._v("O")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-12"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#linearscaleoptions"}},[a("code",[t._v("LinearScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#linearscaleoptions"}},[a("code",[t._v("LinearScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3196",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3196"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linearscaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linearscaleoptions"}},[t._v("#")]),t._v(" LinearScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LinearScaleOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(" & { "),a("code",[t._v("beginAtZero")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("grace?")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMax?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("count")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("format")]),t._v(": "),a("code",[t._v("Intl.NumberFormatOptions")]),t._v(" ; "),a("code",[t._v("precision")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" } }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3153",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3153"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"logarithmicscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#logarithmicscale"}},[t._v("#")]),t._v(" LogarithmicScale")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LogarithmicScale")]),t._v("<"),a("code",[t._v("O")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-13"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#logarithmicscaleoptions"}},[a("code",[t._v("LogarithmicScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#logarithmicscaleoptions"}},[a("code",[t._v("LogarithmicScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3220",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3220"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"logarithmicscaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#logarithmicscaleoptions"}},[t._v("#")]),t._v(" LogarithmicScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("LogarithmicScaleOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(" & { "),a("code",[t._v("suggestedMax?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("format")]),t._v(": "),a("code",[t._v("Intl.NumberFormatOptions")]),t._v(" } }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3202",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3202"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"overrides"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("Overrides")]),t._v(': { [key in ChartType]: CoreChartOptions & ElementChartOptions & PluginChartOptions & DatasetChartOptions & ScaleChartOptions & ChartTypeRegistry[key]["chartOptions"] }')]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L691",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:691"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseddatatype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseddatatype"}},[t._v("#")]),t._v(" ParsedDataType")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ParsedDataType")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v("["),a("code",[t._v("TType")]),t._v("]["),a("code",[t._v('"parsedDataType"')]),t._v("]")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-14"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3647",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3647"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"pieanimationoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pieanimationoptions"}},[t._v("#")]),t._v(" PieAnimationOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieAnimationOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutAnimationOptions.html"}},[a("code",[t._v("DoughnutAnimationOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L354",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:354"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piecontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piecontroller"}},[t._v("#")]),t._v(" PieController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#doughnutcontroller"}},[a("code",[t._v("DoughnutController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L359",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:359"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piecontrollerchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piecontrollerchartoptions"}},[t._v("#")]),t._v(" PieControllerChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieControllerChartOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerChartOptions.html"}},[a("code",[t._v("DoughnutControllerChartOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L353",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:353"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piecontrollerdatasetoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piecontrollerdatasetoptions"}},[t._v("#")]),t._v(" PieControllerDatasetOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieControllerDatasetOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[a("code",[t._v("DoughnutControllerDatasetOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L352",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:352"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piedatapoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piedatapoint"}},[t._v("#")]),t._v(" PieDataPoint")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieDataPoint")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#doughnutdatapoint"}},[a("code",[t._v("DoughnutDataPoint")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L356",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:356"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piemetaextensions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piemetaextensions"}},[t._v("#")]),t._v(" PieMetaExtensions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PieMetaExtensions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutMetaExtensions.html"}},[a("code",[t._v("DoughnutMetaExtensions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L357",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:357"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"pointstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" PointStyle")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PointStyle")]),t._v(": "),a("code",[t._v('"circle"')]),t._v(" | "),a("code",[t._v('"cross"')]),t._v(" | "),a("code",[t._v('"crossRot"')]),t._v(" | "),a("code",[t._v('"dash"')]),t._v(" | "),a("code",[t._v('"line"')]),t._v(" | "),a("code",[t._v('"rect"')]),t._v(" | "),a("code",[t._v('"rectRounded"')]),t._v(" | "),a("code",[t._v('"rectRot"')]),t._v(" | "),a("code",[t._v('"star"')]),t._v(" | "),a("code",[t._v('"triangle"')]),t._v(" | "),a("code",[t._v("HTMLImageElement")]),t._v(" | "),a("code",[t._v("HTMLCanvasElement")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1865",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1865"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"polarareaanimationoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polarareaanimationoptions"}},[t._v("#")]),t._v(" PolarAreaAnimationOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("PolarAreaAnimationOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutAnimationOptions.html"}},[a("code",[t._v("DoughnutAnimationOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L373",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:373"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radarcontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radarcontroller"}},[t._v("#")]),t._v(" RadarController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("RadarController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/DatasetController.html"}},[a("code",[t._v("DatasetController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L420",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:420"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radarcontrollerchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radarcontrollerchartoptions"}},[t._v("#")]),t._v(" RadarControllerChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("RadarControllerChartOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[a("code",[t._v("LineControllerChartOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L418",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:418"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radiallinearscaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radiallinearscaleoptions"}},[t._v("#")]),t._v(" RadialLinearScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("RadialLinearScaleOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(" & { "),a("code",[t._v("angleLines")]),t._v(": { "),a("code",[t._v("borderDash")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v("[], "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("borderDashOffset")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> ; "),a("code",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("lineWidth")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScaleContext.html"}},[a("code",[t._v("ScriptableScaleContext")])]),t._v("> } ; "),a("code",[t._v("animate")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("beginAtZero")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("grid")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/GridLineOptions.html"}},[a("code",[t._v("GridLineOptions")])]),t._v(" ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("pointLabels")]),t._v(": { "),a("code",[t._v("backdropColor")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("backdropPadding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("borderRadius")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/BorderRadius.html"}},[a("code",[t._v("BorderRadius")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("centerPointLabels")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("color")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#color"}},[a("code",[t._v("Color")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("display")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("font")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptableandscriptableoptions"}},[a("code",[t._v("ScriptableAndScriptableOptions")])]),t._v("<"),a("code",[t._v("Partial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/FontSpec.html"}},[a("code",[t._v("FontSpec")])]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("padding")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("number")]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ScriptableScalePointLabelContext.html"}},[a("code",[t._v("ScriptableScalePointLabelContext")])]),t._v("> ; "),a("code",[t._v("callback")]),t._v(": ("),a("code",[t._v("label")]),t._v(": "),a("code",[t._v("string")]),t._v(", "),a("code",[t._v("index")]),t._v(": "),a("code",[t._v("number")]),t._v(") => "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("string")]),t._v("[] | "),a("code",[t._v("number")]),t._v("[] } ; "),a("code",[t._v("startAngle")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMax")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#radialtickoptions"}},[a("code",[t._v("RadialTickOptions")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-46"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3356",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3356"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radialtickoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radialtickoptions"}},[t._v("#")]),t._v(" RadialTickOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("RadialTickOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TickOptions.html"}},[a("code",[t._v("TickOptions")])]),t._v(" & { "),a("code",[t._v("count")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("format")]),t._v(": "),a("code",[t._v("Intl.NumberFormatOptions")]),t._v(" ; "),a("code",[t._v("maxTicksLimit")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("precision")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-47"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3328",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3328"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scalechartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scalechartoptions"}},[t._v("#")]),t._v(" ScaleChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScaleChartOptions")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-15"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-5"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scales")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-48"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3630",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3630"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scaleoptions"}},[t._v("#")]),t._v(" ScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScaleOptions")]),t._v("<"),a("code",[t._v("TScale")]),t._v(">: "),a("code",[t._v("DeepPartial")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#scaleoptionsbytype"}},[a("code",[t._v("ScaleOptionsByType")])]),t._v("<"),a("code",[t._v("TScale")]),t._v(">>")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-16"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TScale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#scaletype"}},[a("code",[t._v("ScaleType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#scaletype"}},[a("code",[t._v("ScaleType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-49"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3622",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3622"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scaleoptionsbytype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scaleoptionsbytype"}},[t._v("#")]),t._v(" ScaleOptionsByType")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScaleOptionsByType")]),t._v("<"),a("code",[t._v("TScale")]),t._v('>: { [key in ScaleType]: Object & ScaleTypeRegistry[key]["options"] }['),a("code",[t._v("TScale")]),t._v("]")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-17"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TScale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#scaletype"}},[a("code",[t._v("ScaleType")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#scaletype"}},[a("code",[t._v("ScaleType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-50"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3617",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3617"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scaletype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scaletype"}},[t._v("#")]),t._v(" ScaleType")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScaleType")]),t._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ScaleTypeRegistry.html"}},[a("code",[t._v("ScaleTypeRegistry")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-51"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3511",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3511"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scattercontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scattercontroller"}},[t._v("#")]),t._v(" ScatterController")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScatterController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#linecontroller"}},[a("code",[t._v("LineController")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-52"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-52"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L234",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:234"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scattercontrollerchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scattercontrollerchartoptions"}},[t._v("#")]),t._v(" ScatterControllerChartOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScatterControllerChartOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerChartOptions.html"}},[a("code",[t._v("LineControllerChartOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-53"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-53"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L232",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:232"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scattercontrollerdatasetoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scattercontrollerdatasetoptions"}},[t._v("#")]),t._v(" ScatterControllerDatasetOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScatterControllerDatasetOptions")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LineControllerDatasetOptions.html"}},[a("code",[t._v("LineControllerDatasetOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-54"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-54"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L225",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:225"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scriptable"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptable"}},[t._v("#")]),t._v(" Scriptable")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("Scriptable")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">: "),a("code",[t._v("T")]),t._v(" | ("),a("code",[t._v("ctx")]),t._v(": "),a("code",[t._v("TContext")]),t._v(", "),a("code",[t._v("options")]),t._v(": "),a("code",[t._v("AnyObject")]),t._v(") => "),a("code",[t._v("T")]),t._v(" | "),a("code",[t._v("undefined")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-18"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TContext")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-55"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-55"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L39",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:39"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scriptableandarray"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptableandarray"}},[t._v("#")]),t._v(" ScriptableAndArray")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScriptableAndArray")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">: readonly "),a("code",[t._v("T")]),t._v("[] | "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-19"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TContext")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-56"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-56"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L42",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:42"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scriptableandarrayoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptableandarrayoptions"}},[t._v("#")]),t._v(" ScriptableAndArrayOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScriptableAndArrayOptions")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">: { [P in keyof T]: ScriptableAndArray }")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-20"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TContext")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-57"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-57"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L43",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:43"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scriptableandscriptableoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptableandscriptableoptions"}},[t._v("#")]),t._v(" ScriptableAndScriptableOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScriptableAndScriptableOptions")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/#scriptable"}},[a("code",[t._v("Scriptable")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v("> | "),a("RouterLink",{attrs:{to:"/api/#scriptableoptions"}},[a("code",[t._v("ScriptableOptions")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-21"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TContext")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-58"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-58"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L41",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:41"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scriptableoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scriptableoptions"}},[t._v("#")]),t._v(" ScriptableOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("ScriptableOptions")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("TContext")]),t._v(">: { [P in keyof T]: Scriptable }")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-22"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TContext")])])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-59"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-59"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L40",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:40"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"textalign"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#textalign"}},[t._v("#")]),t._v(" TextAlign")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TextAlign")]),t._v(": "),a("code",[t._v('"left"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"right"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-60"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-60"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1681",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1681"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timescaleoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timescaleoptions"}},[t._v("#")]),t._v(" TimeScaleOptions")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TimeScaleOptions")]),t._v(": "),a("code",[t._v("Omit")]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CartesianScaleOptions.html"}},[a("code",[t._v("CartesianScaleOptions")])]),t._v(", "),a("code",[t._v('"min"')]),t._v(" | "),a("code",[t._v('"max"')]),t._v("> & { "),a("code",[t._v("adapters")]),t._v(": { "),a("code",[t._v("date")]),t._v(": "),a("code",[t._v("unknown")]),t._v(" } ; "),a("code",[t._v("bounds")]),t._v(": "),a("code",[t._v('"ticks"')]),t._v(" | "),a("code",[t._v('"data"')]),t._v(" ; "),a("code",[t._v("max")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("min")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("offsetAfterAutoskip")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" ; "),a("code",[t._v("suggestedMax")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("suggestedMin")]),t._v(": "),a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("ticks")]),t._v(": { "),a("code",[t._v("source")]),t._v(": "),a("code",[t._v('"labels"')]),t._v(" | "),a("code",[t._v('"auto"')]),t._v(" | "),a("code",[t._v('"data"')]),t._v(" } ; "),a("code",[t._v("time")]),t._v(": { "),a("code",[t._v("displayFormats")]),t._v(": { [key: string]: "),a("code",[t._v("string")]),t._v("; } ; "),a("code",[t._v("isoWeekday")]),t._v(": "),a("code",[t._v("boolean")]),t._v(" | "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("minUnit")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("parser")]),t._v(": "),a("code",[t._v("string")]),t._v(" | ("),a("code",[t._v("v")]),t._v(": "),a("code",[t._v("unknown")]),t._v(") => "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("round")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" ; "),a("code",[t._v("stepSize")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("tooltipFormat")]),t._v(": "),a("code",[t._v("string")]),t._v(" ; "),a("code",[t._v("unit")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/#timeunit"}},[a("code",[t._v("TimeUnit")])]),t._v(" } }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-61"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-61"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3226",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3226"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timeseriesscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timeseriesscale"}},[t._v("#")]),t._v(" TimeSeriesScale")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TimeSeriesScale")]),t._v("<"),a("code",[t._v("O")]),t._v(">: "),a("RouterLink",{attrs:{to:"/api/#timescale"}},[a("code",[t._v("TimeScale")])]),t._v("<"),a("code",[t._v("O")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-23"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-62"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-62"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3322",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3322"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timeunit"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timeunit"}},[t._v("#")]),t._v(" TimeUnit")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TimeUnit")]),t._v(": "),a("code",[t._v('"millisecond"')]),t._v(" | "),a("code",[t._v('"second"')]),t._v(" | "),a("code",[t._v('"minute"')]),t._v(" | "),a("code",[t._v('"hour"')]),t._v(" | "),a("code",[t._v('"day"')]),t._v(" | "),a("code",[t._v('"week"')]),t._v(" | "),a("code",[t._v('"month"')]),t._v(" | "),a("code",[t._v('"quarter"')]),t._v(" | "),a("code",[t._v('"year"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-63"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-63"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L3",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:3"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltippositioner"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltippositioner"}},[t._v("#")]),t._v(" TooltipPositioner")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TooltipPositioner")]),t._v(": keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPositionerMap.html"}},[a("code",[t._v("TooltipPositionerMap")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-64"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2546",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2546"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltippositionerfunction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltippositionerfunction"}},[t._v("#")]),t._v(" TooltipPositionerFunction")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TooltipPositionerFunction")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: ("),a("code",[t._v("this")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">, "),a("code",[t._v("items")]),t._v(": readonly "),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[], "),a("code",[t._v("eventPosition")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v(") => "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPosition.html"}},[a("code",[t._v("TooltipPosition")])]),t._v(" | "),a("code",[t._v("false")])],1),t._v(" "),a("h4",{attrs:{id:"type-parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-24"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-6"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("p",[t._v("▸ ("),a("code",[t._v("this")]),t._v(", "),a("code",[t._v("items")]),t._v(", "),a("code",[t._v("eventPosition")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPosition.html"}},[a("code",[t._v("TooltipPosition")])]),t._v(" | "),a("code",[t._v("false")])],1),t._v(" "),a("h5",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("this")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipModel.html"}},[a("code",[t._v("TooltipModel")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("items")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("readonly "),a("RouterLink",{attrs:{to:"/api/interfaces/ActiveElement.html"}},[a("code",[t._v("ActiveElement")])]),t._v("[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("eventPosition")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1)])])]),t._v(" "),a("h5",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/TooltipPosition.html"}},[a("code",[t._v("TooltipPosition")])]),t._v(" | "),a("code",[t._v("false")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-65"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-65"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2535",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2535"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipxalignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipxalignment"}},[t._v("#")]),t._v(" TooltipXAlignment")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TooltipXAlignment")]),t._v(": "),a("code",[t._v('"left"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"right"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-66"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-66"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2444",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2444"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipyalignment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipyalignment"}},[t._v("#")]),t._v(" TooltipYAlignment")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TooltipYAlignment")]),t._v(": "),a("code",[t._v('"top"')]),t._v(" | "),a("code",[t._v('"center"')]),t._v(" | "),a("code",[t._v('"bottom"')])]),t._v(" "),a("h4",{attrs:{id:"defined-in-67"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-67"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2445",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2445"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"transitionspec"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transitionspec"}},[t._v("#")]),t._v(" TransitionSpec")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TransitionSpec")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-25"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-7"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("animation")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#animationspec"}},[a("code",[t._v("AnimationSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("animations")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#animationsspec"}},[a("code",[t._v("AnimationsSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-68"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-68"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1630",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1630"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"transitionsspec"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transitionsspec"}},[t._v("#")]),t._v(" TransitionsSpec")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("TransitionsSpec")]),t._v("<"),a("code",[t._v("TType")]),t._v(">: "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-parameters-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-26"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("TType")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/#charttype"}},[a("code",[t._v("ChartType")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"index-signature-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index-signature-2"}},[t._v("#")]),t._v(" Index signature")]),t._v(" "),a("p",[t._v("▪ [mode: "),a("code",[t._v("string")]),t._v("]: "),a("RouterLink",{attrs:{to:"/api/#transitionspec"}},[a("code",[t._v("TransitionSpec")])]),t._v("<"),a("code",[t._v("TType")]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-69"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-69"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1635",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1635"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatemode"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatemode"}},[t._v("#")]),t._v(" UpdateMode")]),t._v(" "),a("p",[t._v("Ƭ "),a("strong",[t._v("UpdateMode")]),t._v(": keyof typeof "),a("RouterLink",{attrs:{to:"/api/enums/UpdateModeEnum.html"}},[a("code",[t._v("UpdateModeEnum")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-70"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-70"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L571",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:571"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"variables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#variables"}},[t._v("#")]),t._v(" Variables")]),t._v(" "),a("h3",{attrs:{id:"arcelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#arcelement"}},[t._v("#")]),t._v(" ArcElement")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ArcElement")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#arcelement"}},[a("code",[t._v("ArcElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/ArcProps.html"}},[a("code",[t._v("ArcProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/ArcOptions.html"}},[a("code",[t._v("ArcOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-71"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-71"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1765",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1765"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"barcontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barcontroller-2"}},[t._v("#")]),t._v(" BarController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("BarController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#barcontroller"}},[a("code",[t._v("BarController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-72"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-72"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L146",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:146"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"barelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#barelement"}},[t._v("#")]),t._v(" BarElement")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("BarElement")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#barelement"}},[a("code",[t._v("BarElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/BarProps.html"}},[a("code",[t._v("BarProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/BarOptions.html"}},[a("code",[t._v("BarOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-73"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-73"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2034",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2034"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"bubblecontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bubblecontroller-2"}},[t._v("#")]),t._v(" BubbleController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("BubbleController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#bubblecontroller"}},[a("code",[t._v("BubbleController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-74"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-74"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L174",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:174"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"categoryscale-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#categoryscale-2"}},[t._v("#")]),t._v(" CategoryScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("CategoryScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#categoryscale"}},[a("code",[t._v("CategoryScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#categoryscaleoptions"}},[a("code",[t._v("CategoryScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-75"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-75"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3148",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3148"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"decimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#decimation"}},[t._v("#")]),t._v(" Decimation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Decimation")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-76"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-76"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2110",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2110"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"doughnutcontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#doughnutcontroller"}},[t._v("#")]),t._v(" DoughnutController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("DoughnutController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#doughnutcontroller"}},[a("code",[t._v("DoughnutController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-77"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-77"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L343",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:343"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"element"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#element"}},[t._v("#")]),t._v(" Element")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Element")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-8"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("prototype")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-78"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-78"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L14",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:14"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"filler"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#filler"}},[t._v("#")]),t._v(" Filler")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Filler")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-79"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-79"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2132",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2132"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"interaction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interaction"}},[t._v("#")]),t._v(" Interaction")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Interaction")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-9"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("modes")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/InteractionModeMap.html"}},[a("code",[t._v("InteractionModeMap")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("evaluateInteractionItems")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("axis")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#interactionaxis"}},[a("code",[t._v("InteractionAxis")])]),t._v(", "),a("code",[t._v("position")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])]),t._v(", "),a("code",[t._v("handler")]),t._v(": ("),a("code",[t._v("element")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v("> & "),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[a("code",[t._v("VisualElement")])]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(": "),a("code",[t._v("number")]),t._v(", "),a("code",[t._v("index")]),t._v(": "),a("code",[t._v("number")]),t._v(") => "),a("code",[t._v("void")]),t._v(", "),a("code",[t._v("intersect?")]),t._v(": "),a("code",[t._v("boolean")]),t._v(") => "),a("RouterLink",{attrs:{to:"/api/interfaces/InteractionItem.html"}},[a("code",[t._v("InteractionItem")])]),t._v("[]")],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-80"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-80"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L754",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:754"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"legend"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#legend"}},[t._v("#")]),t._v(" Legend")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Legend")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-81"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-81"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2162",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2162"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linecontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linecontroller-2"}},[t._v("#")]),t._v(" LineController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("LineController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#linecontroller"}},[a("code",[t._v("LineController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-82"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-82"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L220",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:220"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"lineelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lineelement"}},[t._v("#")]),t._v(" LineElement")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("LineElement")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#lineelement"}},[a("code",[t._v("LineElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/LineProps.html"}},[a("code",[t._v("LineProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[a("code",[t._v("LineOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-83"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-83"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1855",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1855"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linearscale-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linearscale-2"}},[t._v("#")]),t._v(" LinearScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("LinearScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#linearscale"}},[a("code",[t._v("LinearScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#linearscaleoptions"}},[a("code",[t._v("LinearScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-84"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-84"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3197",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3197"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"logarithmicscale-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#logarithmicscale-2"}},[t._v("#")]),t._v(" LogarithmicScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("LogarithmicScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#logarithmicscale"}},[a("code",[t._v("LogarithmicScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#logarithmicscaleoptions"}},[a("code",[t._v("LogarithmicScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-85"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-85"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3221",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3221"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"piecontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#piecontroller-2"}},[t._v("#")]),t._v(" PieController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("PieController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#doughnutcontroller"}},[a("code",[t._v("DoughnutController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-86"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-86"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L360",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:360"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"pointelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pointelement"}},[t._v("#")]),t._v(" PointElement")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("PointElement")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#pointelement"}},[a("code",[t._v("PointElement")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[a("code",[t._v("PointProps")])]),t._v(", "),a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[a("code",[t._v("PointOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-87"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-87"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1972",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1972"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"polarareacontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#polarareacontroller"}},[t._v("#")]),t._v(" PolarAreaController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("PolarAreaController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#polarareacontroller"}},[a("code",[t._v("PolarAreaController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-88"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-88"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L388",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:388"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radarcontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radarcontroller-2"}},[t._v("#")]),t._v(" RadarController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("RadarController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#radarcontroller"}},[a("code",[t._v("RadarController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-89"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-89"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L421",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:421"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"radiallinearscale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#radiallinearscale"}},[t._v("#")]),t._v(" RadialLinearScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("RadialLinearScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#radiallinearscale"}},[a("code",[t._v("RadialLinearScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#radiallinearscaleoptions"}},[a("code",[t._v("RadialLinearScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-90"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-90"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3479",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3479"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"scattercontroller-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scattercontroller-2"}},[t._v("#")]),t._v(" ScatterController")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("ScatterController")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#linecontroller"}},[a("code",[t._v("LineController")])]),t._v(" }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-91"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-91"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L235",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:235"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"subtitle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#subtitle"}},[t._v("#")]),t._v(" SubTitle")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("SubTitle")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-92"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-92"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2402",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2402"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"ticks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ticks"}},[t._v("#")]),t._v(" Ticks")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Ticks")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-10"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("formatters")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("formatters.logarithmic")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("[object Object]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("formatters.numeric")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("[object Object]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("formatters.values")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("[object Object]")])])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-93"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-93"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1356",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1356"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timescale"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timescale"}},[t._v("#")]),t._v(" TimeScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("TimeScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#timescale"}},[a("code",[t._v("TimeScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-94"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-94"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3317",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3317"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"timeseriesscale-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#timeseriesscale-2"}},[t._v("#")]),t._v(" TimeSeriesScale")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("TimeSeriesScale")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartComponent.html"}},[a("code",[t._v("ChartComponent")])]),t._v(" & { "),a("code",[t._v("prototype")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#timeseriesscale"}},[a("code",[t._v("TimeSeriesScale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#timescaleoptions"}},[a("code",[t._v("TimeScaleOptions")])]),t._v("> }")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-95"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-95"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L3323",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:3323"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#title"}},[t._v("#")]),t._v(" Title")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Title")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Plugin.html"}},[a("code",[t._v("Plugin")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-96"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-96"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2403",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2403"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltip"}},[t._v("#")]),t._v(" Tooltip")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("Tooltip")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#tooltip"}},[a("code",[t._v("Tooltip")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-97"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-97"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L2552",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:2552"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"adapters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#adapters"}},[t._v("#")]),t._v(" _adapters")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("_adapters")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-11"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("_date")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/DateAdapter.html"}},[a("code",[t._v("DateAdapter")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-98"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-98"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/adapters.d.ts#L68",target:"_blank",rel:"noopener noreferrer"}},[t._v("adapters.d.ts:68"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"defaults"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defaults"}},[t._v("#")]),t._v(" defaults")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("defaults")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Defaults.html"}},[a("code",[t._v("Defaults")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-99"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-99"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:701"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"layouts"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#layouts"}},[t._v("#")]),t._v(" layouts")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("layouts")]),t._v(": "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"type-declaration-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-declaration-12"}},[t._v("#")]),t._v(" Type declaration")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("addBox")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("item")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])]),t._v(") => "),a("code",[t._v("void")])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("configure")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("item")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])]),t._v(", "),a("code",[t._v("options")]),t._v(": { "),a("code",[t._v("fullSize?")]),t._v(": "),a("code",[t._v("number")]),t._v(" ; "),a("code",[t._v("position?")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#layoutposition"}},[a("code",[t._v("LayoutPosition")])]),t._v(" ; "),a("code",[t._v("weight?")]),t._v(": "),a("code",[t._v("number")]),t._v(" }) => "),a("code",[t._v("void")])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("removeBox")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("layoutItem")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/LayoutItem.html"}},[a("code",[t._v("LayoutItem")])]),t._v(") => "),a("code",[t._v("void")])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("update")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("("),a("code",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v(", "),a("code",[t._v("width")]),t._v(": "),a("code",[t._v("number")]),t._v(", "),a("code",[t._v("height")]),t._v(": "),a("code",[t._v("number")]),t._v(") => "),a("code",[t._v("void")])],1)])])]),t._v(" "),a("h4",{attrs:{id:"defined-in-100"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-100"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L769",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:769"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"registerables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#registerables"}},[t._v("#")]),t._v(" registerables")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("registerables")]),t._v(": readonly "),a("RouterLink",{attrs:{to:"/api/#chartcomponentlike"}},[a("code",[t._v("ChartComponentLike")])]),t._v("[]")],1),t._v(" "),a("h4",{attrs:{id:"defined-in-101"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-101"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L552",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:552"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"registry"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#registry"}},[t._v("#")]),t._v(" registry")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("registry")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/interfaces/Registry.html"}},[a("code",[t._v("Registry")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-102"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-102"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1139",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1139"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/90.96ebfa9b.js b/scriptApl/chart.js/dist/docs/assets/js/90.96ebfa9b.js new file mode 100644 index 00000000..14569c50 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/90.96ebfa9b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{421:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-pointelement-t-o"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointelement-t-o"}},[t._v("#")]),t._v(" Interface: PointElement")]),t._v(" "),a("h2",{attrs:{id:"type-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("T")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[a("code",[t._v("PointProps")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/PointProps.html"}},[a("code",[t._v("PointProps")])])],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("O")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends "),a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[a("code",[t._v("PointOptions")])]),t._v(" = "),a("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[a("code",[t._v("PointOptions")])])],1)])])]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("O")]),t._v(">")],1)]),t._v(" "),a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[a("code",[t._v("VisualElement")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("PointElement")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"active"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#active"}},[t._v("#")]),t._v(" active")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("active")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.active")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L7",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:7"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"options"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#options"}},[t._v("#")]),t._v(" options")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("options")]),t._v(": "),a("code",[t._v("O")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.options")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L8",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:8"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsed"}},[t._v("#")]),t._v(" parsed")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("parsed")]),t._v(": "),a("code",[t._v("CartesianParsedData")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1969",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1969"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"skip"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#skip"}},[t._v("#")]),t._v(" skip")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("skip")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1968",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1968"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("x")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.x")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L5",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:5"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"y"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("y")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.y")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L6",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:6"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("("),a("code",[t._v("ctx")]),t._v(", "),a("code",[t._v("area?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("ctx")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("CanvasRenderingContext2D")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("area?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[a("code",[t._v("ChartArea")])])],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#draw"}},[t._v("draw")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1685",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1685"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getcenterpoint"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getcenterpoint"}},[t._v("#")]),t._v(" getCenterPoint")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getCenterPoint")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("x")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("y")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getcenterpoint"}},[t._v("getCenterPoint")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1689",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1689"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getprops"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getprops"}},[t._v("#")]),t._v(" getProps")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getProps")]),t._v("<"),a("code",[t._v("P")]),t._v(">("),a("code",[t._v("props")]),t._v(", "),a("code",[t._v("final?")]),t._v("): "),a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"type-parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#type-parameters-2"}},[t._v("#")]),t._v(" Type parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[t._v("extends keyof "),a("code",[t._v("T")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("props")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("P")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("final?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Pick")]),t._v("<"),a("code",[t._v("T")]),t._v(", "),a("code",[t._v("P")]),t._v("["),a("code",[t._v("number")]),t._v("]>")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.getProps")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L12",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:12"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getrange"}},[t._v("#")]),t._v(" getRange")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Optional")]),t._v(" "),a("strong",[t._v("getRange")]),t._v("("),a("code",[t._v("axis")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("axis")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"x"')]),t._v(" | "),a("code",[t._v('"y"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#getrange"}},[t._v("getRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1690",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1690"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"hasvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hasvalue"}},[t._v("#")]),t._v(" hasValue")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("hasValue")]),t._v("(): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.hasValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L11",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:11"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inrange"}},[t._v("#")]),t._v(" inRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inrange"}},[t._v("inRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1686",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1686"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inxrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inxrange"}},[t._v("#")]),t._v(" inXRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inXRange")]),t._v("("),a("code",[t._v("mouseX")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseX")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inxrange"}},[t._v("inXRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1687",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1687"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"inyrange"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inyrange"}},[t._v("#")]),t._v(" inYRange")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("inYRange")]),t._v("("),a("code",[t._v("mouseY")]),t._v(", "),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mouseY")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html"}},[t._v("VisualElement")]),t._v("."),a("RouterLink",{attrs:{to:"/api/interfaces/VisualElement.html#inyrange"}},[t._v("inYRange")])],1),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1688",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1688"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"tooltipposition"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tooltipposition"}},[t._v("#")]),t._v(" tooltipPosition")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("tooltipPosition")]),t._v("("),a("code",[t._v("useFinalPosition?")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("useFinalPosition?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/interfaces/Point.html"}},[a("code",[t._v("Point")])])],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("Element.tooltipPosition")]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/element.d.ts#L10",target:"_blank",rel:"noopener noreferrer"}},[t._v("element.d.ts:10"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/91.cdde4d3f.js b/scriptApl/chart.js/dist/docs/assets/js/91.cdde4d3f.js new file mode 100644 index 00000000..8bac00cf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/91.cdde4d3f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{422:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-pointhoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointhoveroptions"}},[r._v("#")]),r._v(" Interface: PointHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"hierarchy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[r._v("#")]),r._v(" Hierarchy")]),r._v(" "),t("ul",[t("li",[t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[t("code",[r._v("CommonHoverOptions")])])],1),r._v(" "),t("p",[r._v("↳ "),t("strong",[t("code",[r._v("PointHoverOptions")])])])])]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"hoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[r._v("#")]),r._v(" hoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbackgroundcolor"}},[r._v("hoverBackgroundColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1702"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[r._v("#")]),r._v(" hoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("h4",{attrs:{id:"inherited-from-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverbordercolor"}},[r._v("hoverBorderColor")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1701"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[r._v("#")]),r._v(" hoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("h4",{attrs:{id:"inherited-from-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[r._v("#")]),r._v(" Inherited from")]),r._v(" "),t("p",[t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html"}},[r._v("CommonHoverOptions")]),r._v("."),t("RouterLink",{attrs:{to:"/api/interfaces/CommonHoverOptions.html#hoverborderwidth"}},[r._v("hoverBorderWidth")])],1),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1700"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"hoverradius"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hoverradius"}},[r._v("#")]),r._v(" hoverRadius")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("hoverRadius")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("p",[r._v("Point radius when hovered.")]),r._v(" "),t("p",[t("strong",[t("code",[r._v("default")])]),r._v(" 4")]),r._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1912",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1912"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/92.dc3f06d2.js b/scriptApl/chart.js/dist/docs/assets/js/92.dc3f06d2.js new file mode 100644 index 00000000..f7d46392 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/92.dc3f06d2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{423:function(t,e,r){"use strict";r.r(e);var a=r(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-pointoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointoptions"}},[t._v("#")]),t._v(" Interface: PointOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[r("code",[t._v("CommonElementOptions")])])],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("PointOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#backgroundcolor"}},[t._v("backgroundColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#bordercolor"}},[t._v("borderColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html"}},[t._v("CommonElementOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/CommonElementOptions.html#borderwidth"}},[t._v("borderWidth")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawactiveelementsontop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawactiveelementsontop"}},[t._v("#")]),t._v(" drawActiveElementsOnTop")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawActiveElementsOnTop")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Draw the active elements over the other elements of the dataset,")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1904",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1904"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hitradius"}},[t._v("#")]),t._v(" hitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hitRadius")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Extra radius added to point radius for hit detection.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1889",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1889"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])])],1),t._v(" "),r("p",[t._v("Point style")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'circle;")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1894",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1894"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"radius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#radius"}},[t._v("#")]),t._v(" radius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("radius")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Point radius")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 3")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1884",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1884"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Point rotation (in degrees).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1899",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1899"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/93.aaa04d52.js b/scriptApl/chart.js/dist/docs/assets/js/93.aaa04d52.js new file mode 100644 index 00000000..685ad6fc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/93.aaa04d52.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{424:function(r,e,t){"use strict";t.r(e);var o=t(6),a=Object(o.a)({},(function(){var r=this,e=r.$createElement,t=r._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[t("h1",{attrs:{id:"interface-pointprefixedhoveroptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointprefixedhoveroptions"}},[r._v("#")]),r._v(" Interface: PointPrefixedHoverOptions")]),r._v(" "),t("h2",{attrs:{id:"properties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[r._v("#")]),r._v(" Properties")]),r._v(" "),t("h3",{attrs:{id:"pointhoverbackgroundcolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbackgroundcolor"}},[r._v("#")]),r._v(" pointHoverBackgroundColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("pointHoverBackgroundColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("p",[r._v("Point background color when hovered.")]),r._v(" "),t("h4",{attrs:{id:"defined-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1950",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1950"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"pointhoverbordercolor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbordercolor"}},[r._v("#")]),r._v(" pointHoverBorderColor")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("pointHoverBorderColor")]),r._v(": "),t("RouterLink",{attrs:{to:"/api/#color"}},[t("code",[r._v("Color")])])],1),r._v(" "),t("p",[r._v("Point border color when hovered.")]),r._v(" "),t("h4",{attrs:{id:"defined-in-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1954",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1954"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"pointhoverborderwidth"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverborderwidth"}},[r._v("#")]),r._v(" pointHoverBorderWidth")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("pointHoverBorderWidth")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("p",[r._v("Border width of point when hovered.")]),r._v(" "),t("h4",{attrs:{id:"defined-in-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1958",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1958"),t("OutboundLink")],1)]),r._v(" "),t("hr"),r._v(" "),t("h3",{attrs:{id:"pointhoverradius"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverradius"}},[r._v("#")]),r._v(" pointHoverRadius")]),r._v(" "),t("p",[r._v("• "),t("strong",[r._v("pointHoverRadius")]),r._v(": "),t("code",[r._v("number")])]),r._v(" "),t("p",[r._v("The radius of the point when hovered.")]),r._v(" "),t("h4",{attrs:{id:"defined-in-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[r._v("#")]),r._v(" Defined in")]),r._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1962",target:"_blank",rel:"noopener noreferrer"}},[r._v("index.esm.d.ts:1962"),t("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/94.2af5650c.js b/scriptApl/chart.js/dist/docs/assets/js/94.2af5650c.js new file mode 100644 index 00000000..b7f844ac --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/94.2af5650c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{425:function(t,e,r){"use strict";r.r(e);var a=r(6),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-pointprefixedoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointprefixedoptions"}},[t._v("#")]),t._v(" Interface: PointPrefixedOptions")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"pointbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbackgroundcolor"}},[t._v("#")]),t._v(" pointBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("p",[t._v("The fill color for points.")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1919",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1919"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbordercolor"}},[t._v("#")]),t._v(" pointBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])])],1),t._v(" "),r("p",[t._v("The border color for points.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1923",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1923"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointborderwidth"}},[t._v("#")]),t._v(" pointBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderWidth")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The width of the point border in pixels.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1927",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1927"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhitradius"}},[t._v("#")]),t._v(" pointHitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHitRadius")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The pixel size of the non-displayed point that reacts to mouse events.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1931",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1931"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointradius"}},[t._v("#")]),t._v(" pointRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRadius")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The radius of the point shape. If set to 0, the point is not rendered.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1935",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1935"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointrotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointrotation"}},[t._v("#")]),t._v(" pointRotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRotation")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The rotation of the point in degrees.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1939",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1939"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])])],1),t._v(" "),r("p",[t._v("Style of the point.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1943",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1943"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/95.1d44ec16.js b/scriptApl/chart.js/dist/docs/assets/js/95.1d44ec16.js new file mode 100644 index 00000000..29e666ca --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/95.1d44ec16.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{426:function(t,e,r){"use strict";r.r(e);var a=r(6),s=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-pointprops"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-pointprops"}},[t._v("#")]),t._v(" Interface: PointProps")]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"x"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#x"}},[t._v("#")]),t._v(" x")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("x")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1861",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1861"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"y"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#y"}},[t._v("#")]),t._v(" y")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("y")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1862",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1862"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/96.9545127d.js b/scriptApl/chart.js/dist/docs/assets/js/96.9545127d.js new file mode 100644 index 00000000..b8ed260f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/96.9545127d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{427:function(t,e,a){"use strict";a.r(e);var r=a(6),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-polarareacontroller"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-polarareacontroller"}},[t._v("#")]),t._v(" Interface: PolarAreaController")]),t._v(" "),a("h2",{attrs:{id:"hierarchy"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),a("ul",[a("li",[a("p",[a("RouterLink",{attrs:{to:"/api/#doughnutcontroller"}},[a("code",[t._v("DoughnutController")])])],1),t._v(" "),a("p",[t._v("↳ "),a("strong",[a("code",[t._v("PolarAreaController")])])])])]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"cachedmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cachedmeta"}},[t._v("#")]),t._v(" _cachedMeta")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("_cachedMeta")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController._cachedMeta")]),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L583",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:583"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"chart"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chart"}},[t._v("#")]),t._v(" chart")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("chart")]),t._v(": "),a("RouterLink",{attrs:{to:"/api/classes/Chart.html"}},[a("code",[t._v("Chart")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.chart")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L581",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:581"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"enableoptionsharing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enableoptionsharing"}},[t._v("#")]),t._v(" enableOptionSharing")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("enableOptionSharing")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.enableOptionSharing")]),t._v(" "),a("h4",{attrs:{id:"defined-in-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L584",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:584"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"index"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#index"}},[t._v("#")]),t._v(" index")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("index")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.index")]),t._v(" "),a("h4",{attrs:{id:"defined-in-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L582",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:582"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"innerradius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#innerradius"}},[t._v("#")]),t._v(" innerRadius")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("innerRadius")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.innerRadius")]),t._v(" "),a("h4",{attrs:{id:"defined-in-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L334",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:334"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"offsetx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offsetx"}},[t._v("#")]),t._v(" offsetX")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("offsetX")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.offsetX")]),t._v(" "),a("h4",{attrs:{id:"defined-in-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L336",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:336"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"offsety"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#offsety"}},[t._v("#")]),t._v(" offsetY")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("offsetY")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.offsetY")]),t._v(" "),a("h4",{attrs:{id:"defined-in-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L337",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:337"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"outerradius"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#outerradius"}},[t._v("#")]),t._v(" outerRadius")]),t._v(" "),a("p",[t._v("• "),a("code",[t._v("Readonly")]),t._v(" "),a("strong",[t._v("outerRadius")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.outerRadius")]),t._v(" "),a("h4",{attrs:{id:"defined-in-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L335",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:335"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"supportsdecimation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#supportsdecimation"}},[t._v("#")]),t._v(" supportsDecimation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("supportsDecimation")]),t._v(": "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.supportsDecimation")]),t._v(" "),a("h4",{attrs:{id:"defined-in-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L588",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:588"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"methods"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#methods"}},[t._v("#")]),t._v(" Methods")]),t._v(" "),a("h3",{attrs:{id:"addelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#addelements"}},[t._v("#")]),t._v(" addElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("addElements")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.addElements")]),t._v(" "),a("h4",{attrs:{id:"defined-in-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L604",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:604"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"applystack"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#applystack"}},[t._v("#")]),t._v(" applyStack")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("applyStack")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])])])]),t._v(" "),a("h4",{attrs:{id:"returns-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-2"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.applyStack")]),t._v(" "),a("h4",{attrs:{id:"defined-in-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:640"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"buildorupdateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#buildorupdateelements"}},[t._v("#")]),t._v(" buildOrUpdateElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("buildOrUpdateElements")]),t._v("("),a("code",[t._v("resetNewElements?")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("resetNewElements?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-3"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.buildOrUpdateElements")]),t._v(" "),a("h4",{attrs:{id:"defined-in-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L605",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:605"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatecircumference"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatecircumference"}},[t._v("#")]),t._v(" calculateCircumference")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("calculateCircumference")]),t._v("("),a("code",[t._v("value")]),t._v("): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"parameters-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-3"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-4"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.calculateCircumference")]),t._v(" "),a("h4",{attrs:{id:"defined-in-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L340",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:340"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"calculatetotal"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#calculatetotal"}},[t._v("#")]),t._v(" calculateTotal")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("calculateTotal")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-5"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.calculateTotal")]),t._v(" "),a("h4",{attrs:{id:"defined-in-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L339",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:339"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"configure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure"}},[t._v("#")]),t._v(" configure")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("configure")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-6"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.configure")]),t._v(" "),a("h4",{attrs:{id:"defined-in-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L602",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:602"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"countvisibleelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#countvisibleelements"}},[t._v("#")]),t._v(" countVisibleElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("countVisibleElements")]),t._v("(): "),a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"returns-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-7"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")])]),t._v(" "),a("h4",{attrs:{id:"defined-in-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L386",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:386"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"draw"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#draw"}},[t._v("#")]),t._v(" draw")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("draw")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-8"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.draw")]),t._v(" "),a("h4",{attrs:{id:"defined-in-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L597",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:597"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getallparsedvalues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getallparsedvalues"}},[t._v("#")]),t._v(" getAllParsedValues")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getAllParsedValues")]),t._v("("),a("code",[t._v("scale")]),t._v("): "),a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-4"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)])])]),t._v(" "),a("h4",{attrs:{id:"returns-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-9"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getAllParsedValues")]),t._v(" "),a("h4",{attrs:{id:"defined-in-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L591",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:591"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getdataset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getdataset"}},[t._v("#")]),t._v(" getDataset")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getDataset")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"returns-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-10"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartdataset"}},[a("code",[t._v("ChartDataset")])]),t._v("")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getDataset")]),t._v(" "),a("h4",{attrs:{id:"defined-in-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L599",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:599"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getlabelandvalue"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getlabelandvalue"}},[t._v("#")]),t._v(" getLabelAndValue")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getLabelAndValue")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-5"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-11"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("label")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("value")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getLabelAndValue")]),t._v(" "),a("h4",{attrs:{id:"defined-in-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L592",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:592"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmaxoverflow"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmaxoverflow"}},[t._v("#")]),t._v(" getMaxOverflow")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMaxOverflow")]),t._v("(): "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"returns-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-12"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getMaxOverflow")]),t._v(" "),a("h4",{attrs:{id:"defined-in-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L596",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:596"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getmeta"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getmeta"}},[t._v("#")]),t._v(" getMeta")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getMeta")]),t._v("(): "),a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"returns-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-13"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getMeta")]),t._v(" "),a("h4",{attrs:{id:"defined-in-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L600",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:600"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getminmax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getminmax"}},[t._v("#")]),t._v(" getMinMax")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getMinMax")]),t._v("("),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("canStack?")]),t._v("): "),a("code",[t._v("Object")])]),t._v(" "),a("h4",{attrs:{id:"parameters-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-6"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("canStack?")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-14"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("Object")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getMinMax")]),t._v(" "),a("h4",{attrs:{id:"defined-in-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L647",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:647"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getparsed"}},[t._v("#")]),t._v(" getParsed")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getParsed")]),t._v("("),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")])]),t._v(" "),a("h4",{attrs:{id:"parameters-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-7"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-15"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("number")]),t._v(" | "),a("code",[t._v("BarParsedData")]),t._v(" | "),a("code",[t._v("CartesianParsedData")]),t._v(" | "),a("code",[t._v("BubbleParsedData")]),t._v(" | "),a("code",[t._v("RadialParsedData")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getParsed")]),t._v(" "),a("h4",{attrs:{id:"defined-in-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L639",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:639"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getscaleforid"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getscaleforid"}},[t._v("#")]),t._v(" getScaleForId")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getScaleForId")]),t._v("("),a("code",[t._v("scaleID")]),t._v("): "),a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"parameters-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-8"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scaleID")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-16"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1),t._v(" "),a("h4",{attrs:{id:"inherited-from-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getScaleForId")]),t._v(" "),a("h4",{attrs:{id:"defined-in-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L601",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:601"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getsharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getsharedoptions"}},[t._v("#")]),t._v(" getSharedOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("getSharedOptions")]),t._v("("),a("code",[t._v("options")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("p",[t._v("Utility for checking if the options are shared and should be animated separately.")]),t._v(" "),a("h4",{attrs:{id:"parameters-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-9"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("options")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-17"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getSharedOptions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L614",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:614"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"getstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getstyle"}},[t._v("#")]),t._v(" getStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("getStyle")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("active")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-10"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-10"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("active")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-18"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.getStyle")]),t._v(" "),a("h4",{attrs:{id:"defined-in-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L607",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:607"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"includeoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#includeoptions"}},[t._v("#")]),t._v(" includeOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("includeOptions")]),t._v("("),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("sharedOptions")]),t._v("): "),a("code",[t._v("boolean")])]),t._v(" "),a("p",[t._v("Utility for determining if "),a("code",[t._v("options")]),t._v(" should be included in the updated properties")]),t._v(" "),a("h4",{attrs:{id:"parameters-11"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-11"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-19"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("boolean")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.includeOptions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L619",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:619"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"initialize"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#initialize"}},[t._v("#")]),t._v(" initialize")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("initialize")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-20"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.initialize")]),t._v(" "),a("h4",{attrs:{id:"defined-in-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L603",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:603"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"linkscales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linkscales"}},[t._v("#")]),t._v(" linkScales")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("linkScales")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-21"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.linkScales")]),t._v(" "),a("h4",{attrs:{id:"defined-in-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L590",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:590"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parse"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parse"}},[t._v("#")]),t._v(" parse")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("parse")]),t._v("("),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-12"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-12"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-22"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.parse")]),t._v(" "),a("h4",{attrs:{id:"defined-in-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L635",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:635"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parsearraydata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parsearraydata"}},[t._v("#")]),t._v(" parseArrayData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseArrayData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-13"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-13"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-23"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.parseArrayData")]),t._v(" "),a("h4",{attrs:{id:"defined-in-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L637",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:637"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseobjectdata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseobjectdata"}},[t._v("#")]),t._v(" parseObjectData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parseObjectData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-14"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-14"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-24"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.parseObjectData")]),t._v(" "),a("h4",{attrs:{id:"defined-in-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L638",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:638"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"parseprimitivedata"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parseprimitivedata"}},[t._v("#")]),t._v(" parsePrimitiveData")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("parsePrimitiveData")]),t._v("("),a("code",[t._v("meta")]),t._v(", "),a("code",[t._v("data")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v("): "),a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"parameters-15"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-15"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("meta")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#chartmeta"}},[a("code",[t._v("ChartMeta")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, "),a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">, keyof "),a("RouterLink",{attrs:{to:"/api/interfaces/ChartTypeRegistry.html"}},[a("code",[t._v("ChartTypeRegistry")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("data")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-25"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")]),t._v("[]")]),t._v(" "),a("h4",{attrs:{id:"inherited-from-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.parsePrimitiveData")]),t._v(" "),a("h4",{attrs:{id:"defined-in-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L636",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:636"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"removehoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removehoverstyle"}},[t._v("#")]),t._v(" removeHoverStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("removeHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-16"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-16"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-26"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-26"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.removeHoverStyle")]),t._v(" "),a("h4",{attrs:{id:"defined-in-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L632",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:632"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"reset"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#reset"}},[t._v("#")]),t._v(" reset")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("reset")]),t._v("(): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"returns-27"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-27"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.reset")]),t._v(" "),a("h4",{attrs:{id:"defined-in-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L598",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:598"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedataelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedataelementoptions"}},[t._v("#")]),t._v(" resolveDataElementOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDataElementOptions")]),t._v("("),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-17"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-17"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-28"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-28"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.resolveDataElementOptions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L609",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:609"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"resolvedatasetelementoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resolvedatasetelementoptions"}},[t._v("#")]),t._v(" resolveDatasetElementOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("resolveDatasetElementOptions")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"parameters-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-18"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-29"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-29"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("AnyObject")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-37"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.resolveDatasetElementOptions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L608",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:608"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"sethoverstyle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sethoverstyle"}},[t._v("#")]),t._v(" setHoverStyle")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("setHoverStyle")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("datasetIndex")]),t._v(", "),a("code",[t._v("index")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-19"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-19"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-30"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-38"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.setHoverStyle")]),t._v(" "),a("h4",{attrs:{id:"defined-in-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L633",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:633"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"update"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#update"}},[t._v("#")]),t._v(" update")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("update")]),t._v("("),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-20"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-20"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-31"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-31"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-39"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-39"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.update")]),t._v(" "),a("h4",{attrs:{id:"defined-in-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L594",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:594"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelement"}},[t._v("#")]),t._v(" updateElement")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateElement")]),t._v("("),a("code",[t._v("element")]),t._v(", "),a("code",[t._v("index")]),t._v(", "),a("code",[t._v("properties")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility for updating an element with new properties, using animations when appropriate.")]),t._v(" "),a("h4",{attrs:{id:"parameters-21"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-21"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("element")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("index")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("properties")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-32"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-32"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-40"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-40"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.updateElement")]),t._v(" "),a("h4",{attrs:{id:"defined-in-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L625",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:625"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateelements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateelements"}},[t._v("#")]),t._v(" updateElements")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateElements")]),t._v("("),a("code",[t._v("elements")]),t._v(", "),a("code",[t._v("start")]),t._v(", "),a("code",[t._v("count")]),t._v(", "),a("code",[t._v("mode")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-22"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-22"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("elements")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/#element"}},[a("code",[t._v("Element")])]),t._v("<"),a("code",[t._v("AnyObject")]),t._v(", "),a("code",[t._v("AnyObject")]),t._v(">[]")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("start")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("count")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-33"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-33"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-41"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-41"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.updateElements")]),t._v(" "),a("h4",{attrs:{id:"defined-in-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L593",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:593"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updateindex"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updateindex"}},[t._v("#")]),t._v(" updateIndex")]),t._v(" "),a("p",[t._v("▸ "),a("strong",[t._v("updateIndex")]),t._v("("),a("code",[t._v("datasetIndex")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-23"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-23"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("datasetIndex")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-34"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-34"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-42"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-42"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.updateIndex")]),t._v(" "),a("h4",{attrs:{id:"defined-in-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L595",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:595"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updaterangefromparsed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updaterangefromparsed"}},[t._v("#")]),t._v(" updateRangeFromParsed")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateRangeFromParsed")]),t._v("("),a("code",[t._v("range")]),t._v(", "),a("code",[t._v("scale")]),t._v(", "),a("code",[t._v("parsed")]),t._v(", "),a("code",[t._v("stack")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"parameters-24"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-24"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("Object")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.max")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("range.min")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("number")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("scale")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("RouterLink",{attrs:{to:"/api/classes/Scale.html"}},[a("code",[t._v("Scale")])]),t._v("<"),a("RouterLink",{attrs:{to:"/api/interfaces/CoreScaleOptions.html"}},[a("code",[t._v("CoreScaleOptions")])]),t._v(">")],1)]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("parsed")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("unknown")]),t._v("[]")])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("stack")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("string")]),t._v(" | "),a("code",[t._v("boolean")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-35"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-35"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-43"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-43"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.updateRangeFromParsed")]),t._v(" "),a("h4",{attrs:{id:"defined-in-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L641",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:641"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"updatesharedoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updatesharedoptions"}},[t._v("#")]),t._v(" updateSharedOptions")]),t._v(" "),a("p",[t._v("▸ "),a("code",[t._v("Protected")]),t._v(" "),a("strong",[t._v("updateSharedOptions")]),t._v("("),a("code",[t._v("sharedOptions")]),t._v(", "),a("code",[t._v("mode")]),t._v(", "),a("code",[t._v("newOptions")]),t._v("): "),a("code",[t._v("void")])]),t._v(" "),a("p",[t._v("Utility to animate the shared options, that are potentially affecting multiple elements.")]),t._v(" "),a("h4",{attrs:{id:"parameters-25"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parameters-25"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"left"}},[t._v("Name")]),t._v(" "),a("th",{staticStyle:{"text-align":"left"}},[t._v("Type")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("sharedOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("mode")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v('"resize"')]),t._v(" | "),a("code",[t._v('"reset"')]),t._v(" | "),a("code",[t._v('"none"')]),t._v(" | "),a("code",[t._v('"hide"')]),t._v(" | "),a("code",[t._v('"show"')]),t._v(" | "),a("code",[t._v('"normal"')]),t._v(" | "),a("code",[t._v('"active"')])])]),t._v(" "),a("tr",[a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("newOptions")])]),t._v(" "),a("td",{staticStyle:{"text-align":"left"}},[a("code",[t._v("AnyObject")])])])])]),t._v(" "),a("h4",{attrs:{id:"returns-36"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#returns-36"}},[t._v("#")]),t._v(" Returns")]),t._v(" "),a("p",[a("code",[t._v("void")])]),t._v(" "),a("h4",{attrs:{id:"inherited-from-44"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-44"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),a("p",[t._v("DoughnutController.updateSharedOptions")]),t._v(" "),a("h4",{attrs:{id:"defined-in-45"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L631",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:631"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/97.8b18f487.js b/scriptApl/chart.js/dist/docs/assets/js/97.8b18f487.js new file mode 100644 index 00000000..cd68c45c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/97.8b18f487.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{428:function(t,e,a){"use strict";a.r(e);var r=a(6),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"interface-polarareacontrollerchartoptions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#interface-polarareacontrollerchartoptions"}},[t._v("#")]),t._v(" Interface: PolarAreaControllerChartOptions")]),t._v(" "),a("h2",{attrs:{id:"properties"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),a("h3",{attrs:{id:"animation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("animation")]),t._v(": "),a("code",[t._v("false")]),t._v(" | "),a("RouterLink",{attrs:{to:"/api/interfaces/DoughnutAnimationOptions.html"}},[a("code",[t._v("DoughnutAnimationOptions")])])],1),t._v(" "),a("h4",{attrs:{id:"defined-in"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L382",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:382"),a("OutboundLink")],1)]),t._v(" "),a("hr"),t._v(" "),a("h3",{attrs:{id:"startangle"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#startangle"}},[t._v("#")]),t._v(" startAngle")]),t._v(" "),a("p",[t._v("• "),a("strong",[t._v("startAngle")]),t._v(": "),a("code",[t._v("number")])]),t._v(" "),a("p",[t._v("Starting angle to draw arcs for the first item in a dataset. In degrees, 0 is at top.")]),t._v(" "),a("p",[a("strong",[a("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),a("h4",{attrs:{id:"defined-in-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L380",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:380"),a("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/98.cb259cd0.js b/scriptApl/chart.js/dist/docs/assets/js/98.cb259cd0.js new file mode 100644 index 00000000..679a5a17 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/98.cb259cd0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{429:function(t,e,r){"use strict";r.r(e);var a=r(6),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-polarareacontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-polarareacontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: PolarAreaControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[r("code",[t._v("DoughnutControllerDatasetOptions")])])],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("PolarAreaControllerDatasetOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"angle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#angle"}},[t._v("#")]),t._v(" angle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("angle")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Arc angle to cover. - for polar only")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" circumference / (arc count)")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L370",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:370"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v("> & { "),r("code",[t._v("onComplete?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" ; "),r("code",[t._v("onProgress?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" }")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#animation"}},[t._v("animation")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#animations"}},[t._v("animations")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#backgroundcolor"}},[t._v("backgroundColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderalign"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderalign"}},[t._v("#")]),t._v(" borderAlign")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderAlign")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v('"center"')]),t._v(" | "),r("code",[t._v('"inner"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Arc stroke alignment.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#borderalign"}},[t._v("borderAlign")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1732",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1732"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#bordercolor"}},[t._v("borderColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[t._v("#")]),t._v(" borderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line join style. See MDN. Default is 'round' when "),r("code",[t._v("borderAlign")]),t._v(" is 'inner', else 'bevel'.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#borderjoinstyle"}},[t._v("borderJoinStyle")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1737",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1737"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderradius"}},[t._v("#")]),t._v(" borderRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ArcBorderRadius.html"}},[r("code",[t._v("ArcBorderRadius")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Sets the border radius for arcs")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#borderradius"}},[t._v("borderRadius")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1743",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1743"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#borderwidth"}},[t._v("borderWidth")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circular"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circular"}},[t._v("#")]),t._v(" circular")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circular")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("If false, Arc will be flat.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#circular"}},[t._v("circular")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1754",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1754"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"circumference"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#circumference"}},[t._v("#")]),t._v(" circumference")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("circumference")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Sweep to allow arcs to cover.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 360")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#circumference"}},[t._v("circumference")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L250",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:250"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#hoverbackgroundcolor"}},[t._v("hoverBackgroundColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#hoverbordercolor"}},[t._v("hoverBorderColor")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#hoverborderwidth"}},[t._v("hoverBorderWidth")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoveroffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoveroffset"}},[t._v("#")]),t._v(" hoverOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#hoveroffset"}},[t._v("hoverOffset")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1758",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1758"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"offset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#offset"}},[t._v("#")]),t._v(" offset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("offset")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Arc offset (in pixels).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#offset"}},[t._v("offset")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L255",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:255"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Starting angle to draw this dataset from.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#rotation"}},[t._v("rotation")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L261",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:261"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spacing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spacing"}},[t._v("#")]),t._v(" spacing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spacing")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("Similar to the "),r("code",[t._v("offset")]),t._v(" option, but applies to all arcs. This can be used to to add spaces\nbetween arcs")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#spacing"}},[t._v("spacing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L274",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:274"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"transitions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("transitions")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[r("code",[t._v("TransitionsSpec")])]),t._v("<"),r("code",[t._v('"doughnut"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#transitions"}},[t._v("transitions")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"weight"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#weight"}},[t._v("#")]),t._v(" weight")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("weight")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html"}},[t._v("DoughnutControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/DoughnutControllerDatasetOptions.html#weight"}},[t._v("weight")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L267",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:267"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/99.6251650a.js b/scriptApl/chart.js/dist/docs/assets/js/99.6251650a.js new file mode 100644 index 00000000..41a179b6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/99.6251650a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{430:function(t,e,r){"use strict";r.r(e);var a=r(6),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"interface-radarcontrollerdatasetoptions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#interface-radarcontrollerdatasetoptions"}},[t._v("#")]),t._v(" Interface: RadarControllerDatasetOptions")]),t._v(" "),r("h2",{attrs:{id:"hierarchy"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hierarchy"}},[t._v("#")]),t._v(" Hierarchy")]),t._v(" "),r("ul",[r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[r("code",[t._v("ControllerDatasetOptions")])])],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/PointOptions.html"}},[r("code",[t._v("PointOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/PointHoverOptions.html"}},[r("code",[t._v("PointHoverOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedOptions.html"}},[r("code",[t._v("PointPrefixedOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/PointPrefixedHoverOptions.html"}},[r("code",[t._v("PointPrefixedHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#scriptableandarrayoptions"}},[r("code",[t._v("ScriptableAndArrayOptions")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/interfaces/LineOptions.html"}},[r("code",[t._v("LineOptions")])]),t._v(" & "),r("RouterLink",{attrs:{to:"/api/interfaces/LineHoverOptions.html"}},[r("code",[t._v("LineHoverOptions")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1)]),t._v(" "),r("li",[r("p",[r("RouterLink",{attrs:{to:"/api/#animationoptions"}},[r("code",[t._v("AnimationOptions")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">")],1),t._v(" "),r("p",[t._v("↳ "),r("strong",[r("code",[t._v("RadarControllerDatasetOptions")])])])])]),t._v(" "),r("h2",{attrs:{id:"properties"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#properties"}},[t._v("#")]),t._v(" Properties")]),t._v(" "),r("h3",{attrs:{id:"animation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animation"}},[t._v("#")]),t._v(" animation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animation")]),t._v(": "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/#animationspec"}},[r("code",[t._v("AnimationSpec")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v("> & { "),r("code",[t._v("onComplete?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" ; "),r("code",[t._v("onProgress?")]),t._v(": ("),r("code",[t._v("event")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/interfaces/AnimationEvent.html"}},[r("code",[t._v("AnimationEvent")])]),t._v(") => "),r("code",[t._v("void")]),t._v(" }")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animation")]),t._v(" "),r("h4",{attrs:{id:"defined-in"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1640",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1640"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"animations"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#animations"}},[t._v("#")]),t._v(" animations")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("animations")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#animationsspec"}},[r("code",[t._v("AnimationsSpec")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-2"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.animations")]),t._v(" "),r("h4",{attrs:{id:"defined-in-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-2"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1650",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1650"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"backgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#backgroundcolor"}},[t._v("#")]),t._v(" backgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-3"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.backgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-3"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1696",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1696"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercapstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercapstyle"}},[t._v("#")]),t._v(" borderCapStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line cap style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'butt'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-4"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderCapStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-4"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1779",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1779"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"bordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#bordercolor"}},[t._v("#")]),t._v(" borderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-5"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-5"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-5"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1695",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1695"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdash"}},[t._v("#")]),t._v(" borderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line dash. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" []")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-6"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderDash")]),t._v(" "),r("h4",{attrs:{id:"defined-in-6"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-6"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1784",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1784"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderdashoffset"}},[t._v("#")]),t._v(" borderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line dash offset. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0.0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-7"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderDashOffset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-7"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-7"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1789",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1789"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderjoinstyle"}},[t._v("#")]),t._v(" borderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Line join style. See MDN.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'miter'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-8"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderJoinStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-8"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1794",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1794"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"borderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#borderwidth"}},[t._v("#")]),t._v(" borderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-9"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.borderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-9"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1694",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1694"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"capbezierpoints"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#capbezierpoints"}},[t._v("#")]),t._v(" capBezierPoints")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("capBezierPoints")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("true to keep Bézier control inside the chart, false for no restriction.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-10"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.capBezierPoints")]),t._v(" "),r("h4",{attrs:{id:"defined-in-10"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-10"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1799",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1799"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"clip"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#clip"}},[t._v("#")]),t._v(" clip")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("clip")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("false")]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ChartArea.html"}},[r("code",[t._v("ChartArea")])])],1),t._v(" "),r("p",[t._v("How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-11"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#clip"}},[t._v("clip")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-11"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-11"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L70",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:70"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"cubicinterpolationmode"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cubicinterpolationmode"}},[t._v("#")]),t._v(" cubicInterpolationMode")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("cubicInterpolationMode")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v('"default"')]),t._v(" | "),r("code",[t._v('"monotone"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Interpolation mode to apply.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'default'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-12"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.cubicInterpolationMode")]),t._v(" "),r("h4",{attrs:{id:"defined-in-12"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-12"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1804",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1804"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"drawactiveelementsontop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#drawactiveelementsontop"}},[t._v("#")]),t._v(" drawActiveElementsOnTop")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("drawActiveElementsOnTop")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Draw the active elements over the other elements of the dataset,")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" true")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-13"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.drawActiveElementsOnTop")]),t._v(" "),r("h4",{attrs:{id:"defined-in-13"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-13"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1904",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1904"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"fill"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fill"}},[t._v("#")]),t._v(" fill")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("fill")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#filltarget"}},[r("code",[t._v("FillTarget")])]),t._v(" | "),r("RouterLink",{attrs:{to:"/api/interfaces/ComplexFillTarget.html"}},[r("code",[t._v("ComplexFillTarget")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-14"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.fill")]),t._v(" "),r("h4",{attrs:{id:"defined-in-14"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-14"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1818",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1818"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hidden"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hidden"}},[t._v("#")]),t._v(" hidden")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hidden")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-15"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#hidden"}},[t._v("hidden")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-15"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-15"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L88",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:88"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hitradius"}},[t._v("#")]),t._v(" hitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hitRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Extra radius added to point radius for hit detection.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 1")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-16"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hitRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-16"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-16"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1889",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1889"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbackgroundcolor"}},[t._v("#")]),t._v(" hoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-17"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-17"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-17"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1702",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1702"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercapstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercapstyle"}},[t._v("#")]),t._v(" hoverBorderCapStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-18"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderCapStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-18"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-18"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1836",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1836"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverbordercolor"}},[t._v("#")]),t._v(" hoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-19"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-19"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-19"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1701",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1701"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderdash"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdash"}},[t._v("#")]),t._v(" hoverBorderDash")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-20"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderDash")]),t._v(" "),r("h4",{attrs:{id:"defined-in-20"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-20"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1837",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1837"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderdashoffset"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderdashoffset"}},[t._v("#")]),t._v(" hoverBorderDashOffset")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-21"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderDashOffset")]),t._v(" "),r("h4",{attrs:{id:"defined-in-21"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-21"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1838",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1838"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderjoinstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderjoinstyle"}},[t._v("#")]),t._v(" hoverBorderJoinStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-22"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderJoinStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-22"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-22"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1839",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1839"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverborderwidth"}},[t._v("#")]),t._v(" hoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-23"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-23"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-23"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1700",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1700"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"hoverradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#hoverradius"}},[t._v("#")]),t._v(" hoverRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("hoverRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point radius when hovered.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 4")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-24"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.hoverRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-24"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-24"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1912",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1912"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"indexaxis"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#indexaxis"}},[t._v("#")]),t._v(" indexAxis")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("indexAxis")]),t._v(": "),r("code",[t._v('"x"')]),t._v(" | "),r("code",[t._v('"y"')])]),t._v(" "),r("p",[t._v("The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts.")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'x'")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-25"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#indexaxis"}},[t._v("indexAxis")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-25"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-25"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L66",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:66"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"label"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#label"}},[t._v("#")]),t._v(" label")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("label")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The label for the dataset which appears in the legend and tooltips.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-26"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#label"}},[t._v("label")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-26"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-26"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L74",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:74"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"normalized"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#normalized"}},[t._v("#")]),t._v(" normalized")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("normalized")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-27"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#normalized"}},[t._v("normalized")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-27"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-27"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L58",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:58"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"order"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#order"}},[t._v("#")]),t._v(" order")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("order")]),t._v(": "),r("code",[t._v("number")])]),t._v(" "),r("p",[t._v("The drawing order of dataset. Also affects order for stacking, tooltip and legend.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-28"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#order"}},[t._v("order")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-28"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-28"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L78",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:78"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"parsing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#parsing"}},[t._v("#")]),t._v(" parsing")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("parsing")]),t._v(": "),r("code",[t._v("false")]),t._v(" | { [key: string]: "),r("code",[t._v("string")]),t._v("; }")]),t._v(" "),r("p",[t._v("How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-29"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#parsing"}},[t._v("parsing")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-29"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-29"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L49",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:49"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbackgroundcolor"}},[t._v("#")]),t._v(" pointBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The fill color for points.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-30"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-30"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-30"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1919",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1919"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointbordercolor"}},[t._v("#")]),t._v(" pointBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The border color for points.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-31"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-31"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-31"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1923",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1923"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointborderwidth"}},[t._v("#")]),t._v(" pointBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The width of the point border in pixels.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-32"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-32"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-32"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-32"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1927",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1927"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhitradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhitradius"}},[t._v("#")]),t._v(" pointHitRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHitRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The pixel size of the non-displayed point that reacts to mouse events.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-33"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-33"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHitRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-33"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-33"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1931",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1931"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverbackgroundcolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbackgroundcolor"}},[t._v("#")]),t._v(" pointHoverBackgroundColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBackgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point background color when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-34"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-34"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBackgroundColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-34"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-34"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1950",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1950"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverbordercolor"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverbordercolor"}},[t._v("#")]),t._v(" pointHoverBorderColor")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBorderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point border color when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-35"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-35"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBorderColor")]),t._v(" "),r("h4",{attrs:{id:"defined-in-35"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-35"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1954",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1954"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverborderwidth"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverborderwidth"}},[t._v("#")]),t._v(" pointHoverBorderWidth")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverBorderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Border width of point when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-36"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-36"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverBorderWidth")]),t._v(" "),r("h4",{attrs:{id:"defined-in-36"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-36"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1958",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1958"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointhoverradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointhoverradius"}},[t._v("#")]),t._v(" pointHoverRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointHoverRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The radius of the point when hovered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-37"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-37"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointHoverRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-37"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-37"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1962",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1962"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointradius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointradius"}},[t._v("#")]),t._v(" pointRadius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRadius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The radius of the point shape. If set to 0, the point is not rendered.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-38"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-38"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointRadius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-38"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-38"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1935",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1935"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointrotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointrotation"}},[t._v("#")]),t._v(" pointRotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointRotation")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("The rotation of the point in degrees.")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-39"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-39"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointRotation")]),t._v(" "),r("h4",{attrs:{id:"defined-in-39"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-39"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1939",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1939"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"pointstyle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pointstyle"}},[t._v("#")]),t._v(" pointStyle")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("pointStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#pointstyle"}},[r("code",[t._v("PointStyle")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point style")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 'circle;")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-40"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-40"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.pointStyle")]),t._v(" "),r("h4",{attrs:{id:"defined-in-40"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-40"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1894",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1894"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"radius"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#radius"}},[t._v("#")]),t._v(" radius")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("radius")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point radius")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 3")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-41"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-41"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.radius")]),t._v(" "),r("h4",{attrs:{id:"defined-in-41"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-41"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1884",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1884"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"rotation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#rotation"}},[t._v("#")]),t._v(" rotation")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("rotation")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Point rotation (in degrees).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-42"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-42"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.rotation")]),t._v(" "),r("h4",{attrs:{id:"defined-in-42"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-42"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1899",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1899"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"segment"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#segment"}},[t._v("#")]),t._v(" segment")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("segment")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<{ "),r("code",[t._v("backgroundColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderCapStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineCap")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderColor")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("RouterLink",{attrs:{to:"/api/#color"}},[r("code",[t._v("Color")])]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderDash")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v("[], "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderDashOffset")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderJoinStyle")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("CanvasLineJoin")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> ; "),r("code",[t._v("borderWidth")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptable"}},[r("code",[t._v("Scriptable")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableLineSegmentContext.html"}},[r("code",[t._v("ScriptableLineSegmentContext")])]),t._v("> }, "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-43"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-43"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.segment")]),t._v(" "),r("h4",{attrs:{id:"defined-in-43"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-43"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1824",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1824"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"showline"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#showline"}},[t._v("#")]),t._v(" showLine")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("showLine")]),t._v(": "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("If false, the line is not drawn for this dataset.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-44"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-44"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L415",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:415"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"spangaps"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#spangaps"}},[t._v("#")]),t._v(" spanGaps")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("spanGaps")]),t._v(": "),r("code",[t._v("number")]),t._v(" | "),r("code",[t._v("boolean")])]),t._v(" "),r("p",[t._v("If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.")]),t._v(" "),r("h4",{attrs:{id:"overrides"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#overrides"}},[t._v("#")]),t._v(" Overrides")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.spanGaps")]),t._v(" "),r("h4",{attrs:{id:"defined-in-45"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-45"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L410",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:410"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stack"}},[t._v("#")]),t._v(" stack")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stack")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack).")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-44"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-44"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html"}},[t._v("ControllerDatasetOptions")]),t._v("."),r("RouterLink",{attrs:{to:"/api/interfaces/ControllerDatasetOptions.html#stack"}},[t._v("stack")])],1),t._v(" "),r("h4",{attrs:{id:"defined-in-46"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-46"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L83",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:83"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"stepped"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#stepped"}},[t._v("#")]),t._v(" stepped")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("stepped")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("boolean")]),t._v(" | "),r("code",[t._v('"middle"')]),t._v(" | "),r("code",[t._v('"before"')]),t._v(" | "),r("code",[t._v('"after"')]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("true to show the line as a stepped line (tension will be ignored).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" false")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-45"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-45"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.stepped")]),t._v(" "),r("h4",{attrs:{id:"defined-in-47"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-47"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1814",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1814"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"tension"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tension"}},[t._v("#")]),t._v(" tension")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("tension")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#scriptableandarray"}},[r("code",[t._v("ScriptableAndArray")])]),t._v("<"),r("code",[t._v("number")]),t._v(", "),r("RouterLink",{attrs:{to:"/api/interfaces/ScriptableContext.html"}},[r("code",[t._v("ScriptableContext")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">>")],1),t._v(" "),r("p",[t._v("Bézier curve tension (0 for no Bézier curves).")]),t._v(" "),r("p",[r("strong",[r("code",[t._v("default")])]),t._v(" 0")]),t._v(" "),r("h4",{attrs:{id:"inherited-from-46"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-46"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("ScriptableAndArrayOptions.tension")]),t._v(" "),r("h4",{attrs:{id:"defined-in-48"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-48"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1809",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1809"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"transitions"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#transitions"}},[t._v("#")]),t._v(" transitions")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("transitions")]),t._v(": "),r("RouterLink",{attrs:{to:"/api/#transitionsspec"}},[r("code",[t._v("TransitionsSpec")])]),t._v("<"),r("code",[t._v('"radar"')]),t._v(">")],1),t._v(" "),r("h4",{attrs:{id:"inherited-from-47"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#inherited-from-47"}},[t._v("#")]),t._v(" Inherited from")]),t._v(" "),r("p",[t._v("AnimationOptions.transitions")]),t._v(" "),r("h4",{attrs:{id:"defined-in-49"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-49"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L1651",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:1651"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"xaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#xaxisid"}},[t._v("#")]),t._v(" xAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("xAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the x axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-50"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-50"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L401",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:401"),r("OutboundLink")],1)]),t._v(" "),r("hr"),t._v(" "),r("h3",{attrs:{id:"yaxisid"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#yaxisid"}},[t._v("#")]),t._v(" yAxisID")]),t._v(" "),r("p",[t._v("• "),r("strong",[t._v("yAxisID")]),t._v(": "),r("code",[t._v("string")])]),t._v(" "),r("p",[t._v("The ID of the y axis to plot this dataset on.")]),t._v(" "),r("h4",{attrs:{id:"defined-in-51"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#defined-in-51"}},[t._v("#")]),t._v(" Defined in")]),t._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/chartjs/Chart.js/blob/5ea4b3a/types/index.esm.d.ts#L405",target:"_blank",rel:"noopener noreferrer"}},[t._v("index.esm.d.ts:405"),r("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/assets/js/app.7e0dc8c8.js b/scriptApl/chart.js/dist/docs/assets/js/app.7e0dc8c8.js new file mode 100644 index 00000000..003bf99b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/assets/js/app.7e0dc8c8.js @@ -0,0 +1,54 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function n(n){for(var a,o,s=n[0],l=n[1],d=n[2],u=0,h=[];u("number"==typeof e||e instanceof Number)&&isFinite(+e);function d(e,n){return l(e)?e:n}function c(e,n){return void 0===e?n:e}const u=(e,n)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100:e/n,h=(e,n)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100*n:+e;function p(e,n,t){if(e&&"function"==typeof e.call)return e.apply(t,n)}function f(e,n,t,a){let i,r,l;if(o(e))if(r=e.length,a)for(i=r-1;i>=0;i--)n.call(t,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function D(e,n){return(T[n]||(T[n]=function(e){const n=function(e){const n=e.split("."),t=[];let a="";for(const e of n)a+=e,a.endsWith("\\")?a=a.slice(0,-1)+".":(t.push(a),a="");return t}(e);return e=>{for(const t of n){if(""===t)break;e=e&&e[t]}return e}}(n)))(e)}function w(e){return e.charAt(0).toUpperCase()+e.slice(1)}const O=e=>void 0!==e,k=e=>"function"==typeof e,S=(e,n)=>{if(e.size!==n.size)return!1;for(const t of e)if(!n.has(t))return!1;return!0};function P(e){return"mouseup"===e.type||"click"===e.type||"contextmenu"===e.type}const A=Math.PI,R=2*A,I=R+A,_=Number.POSITIVE_INFINITY,L=A/180,E=A/2,M=A/4,j=2*A/3,U=Math.log10,N=Math.sign;function B(e){const n=Math.round(e);e=H(e,n,e/1e3)?n:e;const t=Math.pow(10,Math.floor(U(e))),a=e/t;return(a<=1?1:a<=2?2:a<=5?5:10)*t}function F(e){const n=[],t=Math.sqrt(e);let a;for(a=1;ae-n).pop(),n}function z(e){return!isNaN(parseFloat(e))&&isFinite(e)}function H(e,n,t){return Math.abs(e-n)=e}function W(e,n,t){let a,i,r;for(a=0,i=e.length;al&&d=Math.min(n,t)-a&&e<=Math.max(n,t)+a}function te(e,n,t){t=t||(t=>e[t]1;)a=r+i>>1,t(a)?r=a:i=a;return{lo:r,hi:i}}const ae=(e,n,t,a)=>te(e,t,a?a=>e[a][n]<=t:a=>e[a][n]te(e,t,a=>e[a][n]>=t);function re(e,n,t){let a=0,i=e.length;for(;aa&&e[i-1]>t;)i--;return a>0||i{const t="_onData"+w(n),a=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...n){const i=a.apply(this,n);return e._chartjs.listeners.forEach(e=>{"function"==typeof e[t]&&e[t](...n)}),i}})}))}function le(e,n){const t=e._chartjs;if(!t)return;const a=t.listeners,i=a.indexOf(n);-1!==i&&a.splice(i,1),a.length>0||(oe.forEach(n=>{delete e[n]}),delete e._chartjs)}function de(e){const n=new Set;let t,a;for(t=0,a=e.length;tArray.prototype.slice.call(e));let i=!1,r=[];return function(...t){r=a(t),i||(i=!0,ce.call(window,()=>{i=!1,e.apply(n,r)}))}}function he(e,n){let t;return function(...a){return n?(clearTimeout(t),t=setTimeout(e,n,a)):e.apply(this,a),n}}const pe=e=>"start"===e?"left":"end"===e?"right":"center",fe=(e,n,t)=>"start"===e?n:"end"===e?t:(n+t)/2,me=(e,n,t,a)=>e===(a?"left":"right")?t:"center"===e?(n+t)/2:n;function ge(e,n,t){const a=n.length;let i=0,r=a;if(e._sorted){const{iScale:o,_parsed:s}=e,l=o.axis,{min:d,max:c,minDefined:u,maxDefined:h}=o.getUserBounds();u&&(i=Q(Math.min(ae(s,o.axis,d).lo,t?a:ae(n,l,o.getPixelForValue(d)).lo),0,a-1)),r=h?Q(Math.max(ae(s,o.axis,c,!0).hi+1,t?0:ae(n,l,o.getPixelForValue(c),!0).hi+1),i,a)-i:a-i}return{start:i,count:r}}function be(e){const{xScale:n,yScale:t,_scaleRanges:a}=e,i={xmin:n.min,xmax:n.max,ymin:t.min,ymax:t.max};if(!a)return e._scaleRanges=i,!0;const r=a.xmin!==n.min||a.xmax!==n.max||a.ymin!==t.min||a.ymax!==t.max;return Object.assign(a,i),r}const ve=e=>0===e||1===e,ye=(e,n,t)=>-Math.pow(2,10*(e-=1))*Math.sin((e-n)*R/t),xe=(e,n,t)=>Math.pow(2,-10*e)*Math.sin((e-n)*R/t)+1,Ce={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>1-Math.cos(e*E),easeOutSine:e=>Math.sin(e*E),easeInOutSine:e=>-.5*(Math.cos(A*e)-1),easeInExpo:e=>0===e?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>ve(e)?e:e<.5?.5*Math.pow(2,10*(2*e-1)):.5*(2-Math.pow(2,-10*(2*e-1))),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>ve(e)?e:ye(e,.075,.3),easeOutElastic:e=>ve(e)?e:xe(e,.075,.3),easeInOutElastic(e){const n=.1125;return ve(e)?e:e<.5?.5*ye(2*e,n,.45):.5+.5*xe(2*e-1,n,.45)},easeInBack(e){const n=1.70158;return e*e*((n+1)*e-n)},easeOutBack(e){const n=1.70158;return(e-=1)*e*((n+1)*e+n)+1},easeInOutBack(e){let n=1.70158;return(e/=.5)<1?e*e*((1+(n*=1.525))*e-n)*.5:.5*((e-=2)*e*((1+(n*=1.525))*e+n)+2)},easeInBounce:e=>1-Ce.easeOutBounce(1-e),easeOutBounce(e){const n=7.5625,t=2.75;return e<1/t?n*e*e:e<2/t?n*(e-=1.5/t)*e+.75:e<2.5/t?n*(e-=2.25/t)*e+.9375:n*(e-=2.625/t)*e+.984375},easeInOutBounce:e=>e<.5?.5*Ce.easeInBounce(2*e):.5*Ce.easeOutBounce(2*e-1)+.5}; +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ +function Te(e){return e+.5|0}const De=(e,n,t)=>Math.max(Math.min(e,t),n);function we(e){return De(Te(2.55*e),0,255)}function Oe(e){return De(Te(255*e),0,255)}function ke(e){return De(Te(e/2.55)/100,0,1)}function Se(e){return De(Te(100*e),0,100)}const Pe={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ae=[..."0123456789ABCDEF"],Re=e=>Ae[15&e],Ie=e=>Ae[(240&e)>>4]+Ae[15&e],_e=e=>(240&e)>>4==(15&e);function Le(e){var n=(e=>_e(e.r)&&_e(e.g)&&_e(e.b)&&_e(e.a))(e)?Re:Ie;return e?"#"+n(e.r)+n(e.g)+n(e.b)+((e,n)=>e<255?n(e):"")(e.a,n):void 0}const Ee=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Me(e,n,t){const a=n*Math.min(t,1-t),i=(n,i=(n+e/30)%12)=>t-a*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function je(e,n,t){const a=(a,i=(a+e/60)%6)=>t-t*n*Math.max(Math.min(i,4-i,1),0);return[a(5),a(3),a(1)]}function Ue(e,n,t){const a=Me(e,1,.5);let i;for(n+t>1&&(i=1/(n+t),n*=i,t*=i),i=0;i<3;i++)a[i]*=1-n-t,a[i]+=n;return a}function Ne(e){const n=e.r/255,t=e.g/255,a=e.b/255,i=Math.max(n,t,a),r=Math.min(n,t,a),o=(i+r)/2;let s,l,d;return i!==r&&(d=i-r,l=o>.5?d/(2-i-r):d/(i+r),s=function(e,n,t,a,i){return e===i?(n-t)/a+(n>16&255,r>>8&255,255&r]}return e}(),Ye.transparent=[0,0,0,0]);const n=Ye[e.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}const Ge=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const qe=e=>e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,Xe=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function Je(e,n,t){if(e){let a=Ne(e);a[n]=Math.max(0,Math.min(a[n]+a[n]*t,0===n?360:1)),a=Fe(a),e.r=a[0],e.g=a[1],e.b=a[2]}}function Ze(e,n){return e?Object.assign(n||{},e):e}function Ke(e){var n={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(n={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(n.a=Oe(e[3]))):(n=Ze(e,{r:0,g:0,b:0,a:1})).a=Oe(n.a),n}function Qe(e){return"r"===e.charAt(0)?function(e){const n=Ge.exec(e);let t,a,i,r=255;if(n){if(n[7]!==t){const e=+n[7];r=n[8]?we(e):De(255*e,0,255)}return t=+n[1],a=+n[3],i=+n[5],t=255&(n[2]?we(t):De(t,0,255)),a=255&(n[4]?we(a):De(a,0,255)),i=255&(n[6]?we(i):De(i,0,255)),{r:t,g:a,b:i,a:r}}}(e):He(e)}class en{constructor(e){if(e instanceof en)return e;const n=typeof e;let t;var a,i,r;"object"===n?t=Ke(e):"string"===n&&(r=(a=e).length,"#"===a[0]&&(4===r||5===r?i={r:255&17*Pe[a[1]],g:255&17*Pe[a[2]],b:255&17*Pe[a[3]],a:5===r?17*Pe[a[4]]:255}:7!==r&&9!==r||(i={r:Pe[a[1]]<<4|Pe[a[2]],g:Pe[a[3]]<<4|Pe[a[4]],b:Pe[a[5]]<<4|Pe[a[6]],a:9===r?Pe[a[7]]<<4|Pe[a[8]]:255})),t=i||$e(e)||Qe(e)),this._rgb=t,this._valid=!!t}get valid(){return this._valid}get rgb(){var e=Ze(this._rgb);return e&&(e.a=ke(e.a)),e}set rgb(e){this._rgb=Ke(e)}rgbString(){return this._valid?(e=this._rgb)&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${ke(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`):void 0;var e}hexString(){return this._valid?Le(this._rgb):void 0}hslString(){return this._valid?function(e){if(!e)return;const n=Ne(e),t=n[0],a=Se(n[1]),i=Se(n[2]);return e.a<255?`hsla(${t}, ${a}%, ${i}%, ${ke(e.a)})`:`hsl(${t}, ${a}%, ${i}%)`}(this._rgb):void 0}mix(e,n){if(e){const t=this.rgb,a=e.rgb;let i;const r=n===i?.5:n,o=2*r-1,s=t.a-a.a,l=((o*s==-1?o:(o+s)/(1+o*s))+1)/2;i=1-l,t.r=255&l*t.r+i*a.r+.5,t.g=255&l*t.g+i*a.g+.5,t.b=255&l*t.b+i*a.b+.5,t.a=r*t.a+(1-r)*a.a,this.rgb=t}return this}interpolate(e,n){return e&&(this._rgb=function(e,n,t){const a=Xe(ke(e.r)),i=Xe(ke(e.g)),r=Xe(ke(e.b));return{r:Oe(qe(a+t*(Xe(ke(n.r))-a))),g:Oe(qe(i+t*(Xe(ke(n.g))-i))),b:Oe(qe(r+t*(Xe(ke(n.b))-r))),a:e.a+t*(n.a-e.a)}}(this._rgb,e._rgb,n)),this}clone(){return new en(this.rgb)}alpha(e){return this._rgb.a=Oe(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,n=Te(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=n,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Je(this._rgb,2,e),this}darken(e){return Je(this._rgb,2,-e),this}saturate(e){return Je(this._rgb,1,e),this}desaturate(e){return Je(this._rgb,1,-e),this}rotate(e){return function(e,n){var t=Ne(e);t[0]=ze(t[0]+n),t=Fe(t),e.r=t[0],e.g=t[1],e.b=t[2]}(this._rgb,e),this}}function nn(e){return new en(e)}function tn(e){if(e&&"object"==typeof e){const n=e.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function an(e){return tn(e)?e:nn(e)}function rn(e){return tn(e)?e:nn(e).saturate(.5).darken(.1).hexString()}const on=Object.create(null),sn=Object.create(null);function ln(e,n){if(!n)return e;const t=n.split(".");for(let n=0,a=t.length;ne.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,n)=>rn(n.backgroundColor),this.hoverBorderColor=(e,n)=>rn(n.borderColor),this.hoverColor=(e,n)=>rn(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e)}set(e,n){return dn(this,e,n)}get(e){return ln(this,e)}describe(e,n){return dn(sn,e,n)}override(e,n){return dn(on,e,n)}route(e,n,t,a){const i=ln(this,e),r=ln(this,t),o="_"+n;Object.defineProperties(i,{[o]:{value:i[n],writable:!0},[n]:{enumerable:!0,get(){const e=this[o],n=r[a];return s(e)?Object.assign({},n,e):c(e,n)},set(e){this[o]=e}}})}}({_scriptable:e=>!e.startsWith("on"),_indexable:e=>"events"!==e,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function un(e,n,t,a,i){let r=n[i];return r||(r=n[i]=e.measureText(i).width,t.push(i)),r>a&&(a=r),a}function hn(e,n,t,a){let i=(a=a||{}).data=a.data||{},r=a.garbageCollect=a.garbageCollect||[];a.font!==n&&(i=a.data={},r=a.garbageCollect=[],a.font=n),e.save(),e.font=n;let s=0;const l=t.length;let d,c,u,h,p;for(d=0;dt.length){for(d=0;d0&&e.stroke()}}function bn(e,n,t){return t=t||.5,!n||e&&e.x>n.left-t&&e.xn.top-t&&e.y0&&""!==s.strokeColor;let c,u;for(e.save(),e.font=i.string,function(e,n){n.translation&&e.translate(n.translation[0],n.translation[1]);r(n.rotation)||e.rotate(n.rotation);n.color&&(e.fillStyle=n.color);n.textAlign&&(e.textAlign=n.textAlign);n.textBaseline&&(e.textBaseline=n.textBaseline)}(e,s),c=0;cc(e[t],e[n[t]]):n=>e[n]:()=>e;for(const e of i)t[e]=+r(e)||0;return t}function An(e){return Pn(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Rn(e){return Pn(e,["topLeft","topRight","bottomLeft","bottomRight"])}function In(e){const n=An(e);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function _n(e,n){e=e||{},n=n||cn.font;let t=c(e.size,n.size);"string"==typeof t&&(t=parseInt(t,10));let a=c(e.style,n.style);a&&!(""+a).match(kn)&&(console.warn('Invalid font style specified: "'+a+'"'),a="");const i={family:c(e.family,n.family),lineHeight:Sn(c(e.lineHeight,n.lineHeight),t),size:t,style:a,weight:c(e.weight,n.weight),string:""};return i.string=function(e){return!e||r(e.size)||r(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}(i),i}function Ln(e,n,t,a){let i,r,s,l=!0;for(i=0,r=e.length;it&&0===e?0:e+n;return{min:o(a,-Math.abs(r)),max:o(i,r)}}function Mn(e,n){return Object.assign(Object.create(e),n)}function jn(e,n=[""],t=e,a,i=(()=>e[0])){O(a)||(a=Gn("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:t,_fallback:a,_getTarget:i,override:i=>jn([i,...e],n,t,a)};return new Proxy(r,{deleteProperty:(n,t)=>(delete n[t],delete n._keys,delete e[0][t],!0),get:(t,a)=>zn(t,a,()=>function(e,n,t,a){let i;for(const r of n)if(i=Gn(Bn(r,e),t),O(i))return Fn(e,i)?Yn(t,a,e,i):i}(a,n,e,t)),getOwnPropertyDescriptor:(e,n)=>Reflect.getOwnPropertyDescriptor(e._scopes[0],n),getPrototypeOf:()=>Reflect.getPrototypeOf(e[0]),has:(e,n)=>qn(e).includes(n),ownKeys:e=>qn(e),set(e,n,t){const a=e._storage||(e._storage=i());return e[n]=a[n]=t,delete e._keys,!0}})}function Un(e,n,t,a){const i={_cacheable:!1,_proxy:e,_context:n,_subProxy:t,_stack:new Set,_descriptors:Nn(e,a),setContext:n=>Un(e,n,t,a),override:i=>Un(e.override(i),n,t,a)};return new Proxy(i,{deleteProperty:(n,t)=>(delete n[t],delete e[t],!0),get:(e,n,t)=>zn(e,n,()=>function(e,n,t){const{_proxy:a,_context:i,_subProxy:r,_descriptors:l}=e;let d=a[n];k(d)&&l.isScriptable(n)&&(d=function(e,n,t,a){const{_proxy:i,_context:r,_subProxy:o,_stack:s}=t;if(s.has(e))throw new Error("Recursion detected: "+Array.from(s).join("->")+"->"+e);s.add(e),n=n(r,o||a),s.delete(e),Fn(e,n)&&(n=Yn(i._scopes,i,e,n));return n}(n,d,e,t));o(d)&&d.length&&(d=function(e,n,t,a){const{_proxy:i,_context:r,_subProxy:o,_descriptors:l}=t;if(O(r.index)&&a(e))n=n[r.index%n.length];else if(s(n[0])){const t=n,a=i._scopes.filter(e=>e!==t);n=[];for(const s of t){const t=Yn(a,i,e,s);n.push(Un(t,r,o&&o[e],l))}}return n}(n,d,e,l.isIndexable));Fn(n,d)&&(d=Un(d,i,r&&r[n],l));return d}(e,n,t)),getOwnPropertyDescriptor:(n,t)=>n._descriptors.allKeys?Reflect.has(e,t)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,t),getPrototypeOf:()=>Reflect.getPrototypeOf(e),has:(n,t)=>Reflect.has(e,t),ownKeys:()=>Reflect.ownKeys(e),set:(n,t,a)=>(e[t]=a,delete n[t],!0)})}function Nn(e,n={scriptable:!0,indexable:!0}){const{_scriptable:t=n.scriptable,_indexable:a=n.indexable,_allKeys:i=n.allKeys}=e;return{allKeys:i,scriptable:t,indexable:a,isScriptable:k(t)?t:()=>t,isIndexable:k(a)?a:()=>a}}const Bn=(e,n)=>e?e+w(n):n,Fn=(e,n)=>s(n)&&"adapters"!==e&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function zn(e,n,t){if(Object.prototype.hasOwnProperty.call(e,n))return e[n];const a=t();return e[n]=a,a}function Hn(e,n,t){return k(e)?e(n,t):e}const Vn=(e,n)=>!0===e?n:"string"==typeof e?D(n,e):void 0;function Wn(e,n,t,a,i){for(const r of n){const n=Vn(t,r);if(n){e.add(n);const r=Hn(n._fallback,t,i);if(O(r)&&r!==t&&r!==a)return r}else if(!1===n&&O(a)&&t!==a)return null}return!1}function Yn(e,n,t,a){const i=n._rootScopes,r=Hn(n._fallback,t,a),l=[...e,...i],d=new Set;d.add(a);let c=$n(d,l,t,r||t,a);return null!==c&&((!O(r)||r===t||(c=$n(d,l,r,c,a),null!==c))&&jn(Array.from(d),[""],i,r,()=>function(e,n,t){const a=e._getTarget();n in a||(a[n]={});const i=a[n];if(o(i)&&s(t))return t;return i}(n,t,a)))}function $n(e,n,t,a,i){for(;t;)t=Wn(e,n,t,a,i);return t}function Gn(e,n){for(const t of n){if(!t)continue;const n=t[e];if(O(n))return n}}function qn(e){let n=e._keys;return n||(n=e._keys=function(e){const n=new Set;for(const t of e)for(const e of Object.keys(t).filter(e=>!e.startsWith("_")))n.add(e);return Array.from(n)}(e._scopes)),n}function Xn(e,n,t,a){const{iScale:i}=e,{key:r="r"}=this._parsing,o=new Array(a);let s,l,d,c;for(s=0,l=a;sn"x"===e?"y":"x";function Qn(e,n,t,a){const i=e.skip?n:e,r=n,o=t.skip?n:t,s=X(r,i),l=X(o,r);let d=s/(s+l),c=l/(s+l);d=isNaN(d)?0:d,c=isNaN(c)?0:c;const u=a*d,h=a*c;return{previous:{x:r.x-u*(o.x-i.x),y:r.y-u*(o.y-i.y)},next:{x:r.x+h*(o.x-i.x),y:r.y+h*(o.y-i.y)}}}function et(e,n="x"){const t=Kn(n),a=e.length,i=Array(a).fill(0),r=Array(a);let o,s,l,d=Zn(e,0);for(o=0;o!e.skip)),"monotone"===n.cubicInterpolationMode)et(e,i);else{let t=a?e[e.length-1]:e[0];for(r=0,o=e.length;rwindow.getComputedStyle(e,null);const st=["top","right","bottom","left"];function lt(e,n,t){const a={};t=t?"-"+t:"";for(let i=0;i<4;i++){const r=st[i];a[r]=parseFloat(e[n+"-"+r+t])||0}return a.width=a.left+a.right,a.height=a.top+a.bottom,a}function dt(e,n){if("native"in e)return e;const{canvas:t,currentDevicePixelRatio:a}=n,i=ot(t),r="border-box"===i.boxSizing,o=lt(i,"padding"),s=lt(i,"border","width"),{x:l,y:d,box:c}=function(e,n){const t=e.touches,a=t&&t.length?t[0]:e,{offsetX:i,offsetY:r}=a;let o,s,l=!1;if(((e,n,t)=>(e>0||n>0)&&(!t||!t.shadowRoot))(i,r,e.target))o=i,s=r;else{const e=n.getBoundingClientRect();o=a.clientX-e.left,s=a.clientY-e.top,l=!0}return{x:o,y:s,box:l}}(e,t),u=o.left+(c&&s.left),h=o.top+(c&&s.top);let{width:p,height:f}=n;return r&&(p-=o.width+s.width,f-=o.height+s.height),{x:Math.round((l-u)/p*t.width/a),y:Math.round((d-h)/f*t.height/a)}}const ct=e=>Math.round(10*e)/10;function ut(e,n,t,a){const i=ot(e),r=lt(i,"margin"),o=rt(i.maxWidth,e,"clientWidth")||_,s=rt(i.maxHeight,e,"clientHeight")||_,l=function(e,n,t){let a,i;if(void 0===n||void 0===t){const r=it(e);if(r){const e=r.getBoundingClientRect(),o=ot(r),s=lt(o,"border","width"),l=lt(o,"padding");n=e.width-l.width-s.width,t=e.height-l.height-s.height,a=rt(o.maxWidth,r,"clientWidth"),i=rt(o.maxHeight,r,"clientHeight")}else n=e.clientWidth,t=e.clientHeight}return{width:n,height:t,maxWidth:a||_,maxHeight:i||_}}(e,n,t);let{width:d,height:c}=l;if("content-box"===i.boxSizing){const e=lt(i,"border","width"),n=lt(i,"padding");d-=n.width+e.width,c-=n.height+e.height}return d=Math.max(0,d-r.width),c=Math.max(0,a?Math.floor(d/a):c-r.height),d=ct(Math.min(d,o,l.maxWidth)),c=ct(Math.min(c,s,l.maxHeight)),d&&!c&&(c=ct(d/2)),{width:d,height:c}}function ht(e,n,t){const a=n||1,i=Math.floor(e.height*a),r=Math.floor(e.width*a);e.height=i/a,e.width=r/a;const o=e.canvas;return o.style&&(t||!o.style.height&&!o.style.width)&&(o.style.height=e.height+"px",o.style.width=e.width+"px"),(e.currentDevicePixelRatio!==a||o.height!==i||o.width!==r)&&(e.currentDevicePixelRatio=a,o.height=i,o.width=r,e.ctx.setTransform(a,0,0,a,0,0),!0)}const pt=function(){let e=!1;try{const n={get passive(){return e=!0,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch(e){}return e}();function ft(e,n){const t=function(e,n){return ot(e).getPropertyValue(n)}(e,n),a=t&&t.match(/^(\d+)(\.\d+)?px$/);return a?+a[1]:void 0}function mt(e,n,t,a){return{x:e.x+t*(n.x-e.x),y:e.y+t*(n.y-e.y)}}function gt(e,n,t,a){return{x:e.x+t*(n.x-e.x),y:"middle"===a?t<.5?e.y:n.y:"after"===a?t<1?e.y:n.y:t>0?n.y:e.y}}function bt(e,n,t,a){const i={x:e.cp2x,y:e.cp2y},r={x:n.cp1x,y:n.cp1y},o=mt(e,i,t),s=mt(i,r,t),l=mt(r,n,t),d=mt(o,s,t),c=mt(s,l,t);return mt(d,c,t)}const vt=new Map;function yt(e,n,t){return function(e,n){n=n||{};const t=e+JSON.stringify(n);let a=vt.get(t);return a||(a=new Intl.NumberFormat(e,n),vt.set(t,a)),a}(n,t).format(e)}function xt(e,n,t){return e?function(e,n){return{x:t=>e+e+n-t,setWidth(e){n=e},textAlign:e=>"center"===e?e:"right"===e?"left":"right",xPlus:(e,n)=>e-n,leftForLtr:(e,n)=>e-n}}(n,t):{x:e=>e,setWidth(e){},textAlign:e=>e,xPlus:(e,n)=>e+n,leftForLtr:(e,n)=>e}}function Ct(e,n){let t,a;"ltr"!==n&&"rtl"!==n||(t=e.canvas.style,a=[t.getPropertyValue("direction"),t.getPropertyPriority("direction")],t.setProperty("direction",n,"important"),e.prevTextDirection=a)}function Tt(e,n){void 0!==n&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",n[0],n[1]))}function Dt(e){return"angle"===e?{between:K,compare:J,normalize:Z}:{between:ne,compare:(e,n)=>e-n,normalize:e=>e}}function wt({start:e,end:n,count:t,loop:a,style:i}){return{start:e%t,end:n%t,loop:a&&(n-e+1)%t==0,style:i}}function Ot(e,n,t){if(!t)return[e];const{property:a,start:i,end:r}=t,o=n.length,{compare:s,between:l,normalize:d}=Dt(a),{start:c,end:u,loop:h,style:p}=function(e,n,t){const{property:a,start:i,end:r}=t,{between:o,normalize:s}=Dt(a),l=n.length;let d,c,{start:u,end:h,loop:p}=e;if(p){for(u+=l,h+=l,d=0,c=l;dv||l(i,b,m)&&0!==s(i,b),C=()=>!v||0===s(r,m)||l(r,b,m);for(let e=c,t=c;e<=u;++e)g=n[e%o],g.skip||(m=d(g[a]),m!==b&&(v=l(m,i,r),null===y&&x()&&(y=0===s(m,i)?e:t),null!==y&&C()&&(f.push(wt({start:y,end:e,loop:h,count:o,style:p})),y=null),t=e,b=m));return null!==y&&f.push(wt({start:y,end:u,loop:h,count:o,style:p})),f}function kt(e,n){const t=[],a=e.segments;for(let i=0;ii&&e[r%n].skip;)r--;return r%=n,{start:i,end:r}}(t,i,r,a);if(!0===a)return Pt(e,[{start:o,end:s,loop:r}],t,n);return Pt(e,function(e,n,t,a){const i=e.length,r=[];let o,s=n,l=e[n];for(o=n+1;o<=t;++o){const t=e[o%i];t.skip||t.stop?l.skip||(a=!1,r.push({start:n%i,end:(o-1)%i,loop:a}),n=s=t.stop?o:null):(s=o,l.skip&&(n=o)),l=t}return null!==s&&r.push({start:n%i,end:s%i,loop:a}),r}(t,o,s=0&&Math.floor(n)===n&&isFinite(e)}function p(e){return r(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function f(e){return null==e?"":Array.isArray(e)||c(e)&&e.toString===d?JSON.stringify(e,null,2):String(e)}function m(e){var n=parseFloat(e);return isNaN(n)?e:n}function g(e,n){for(var t=Object.create(null),a=e.split(","),i=0;i-1)return e.splice(t,1)}}var y=Object.prototype.hasOwnProperty;function x(e,n){return y.call(e,n)}function C(e){var n=Object.create(null);return function(t){return n[t]||(n[t]=e(t))}}var T=/-(\w)/g,D=C((function(e){return e.replace(T,(function(e,n){return n?n.toUpperCase():""}))})),w=C((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),O=/\B([A-Z])/g,k=C((function(e){return e.replace(O,"-$1").toLowerCase()}));var S=Function.prototype.bind?function(e,n){return e.bind(n)}:function(e,n){function t(t){var a=arguments.length;return a?a>1?e.apply(n,arguments):e.call(n,t):e.call(n)}return t._length=e.length,t};function P(e,n){n=n||0;for(var t=e.length-n,a=new Array(t);t--;)a[t]=e[t+n];return a}function A(e,n){for(var t in n)e[t]=n[t];return e}function R(e){for(var n={},t=0;t0,Z=q&&q.indexOf("edge/")>0,K=(q&&q.indexOf("android"),q&&/iphone|ipad|ipod|ios/.test(q)||"ios"===G),Q=(q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q),q&&q.match(/firefox\/(\d+)/)),ee={}.watch,ne=!1;if(Y)try{var te={};Object.defineProperty(te,"passive",{get:function(){ne=!0}}),window.addEventListener("test-passive",null,te)}catch(e){}var ae=function(){return void 0===V&&(V=!Y&&!$&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),V},ie=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var oe,se="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);oe="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var le=I,de=0,ce=function(){this.id=de++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){v(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){var e=this.subs.slice();for(var n=0,t=e.length;n-1)if(r&&!x(i,"default"))o=!1;else if(""===o||o===k(e)){var l=He(String,i.type);(l<0||s0&&(hn((l=e(l,(t||"")+"_"+a))[0])&&hn(c)&&(u[d]=be(c.text+l[0].text),l.shift()),u.push.apply(u,l)):s(l)?hn(c)?u[d]=be(c.text+l):""!==l&&u.push(be(l)):hn(l)&&hn(c)?u[d]=be(c.text+l.text):(o(n._isVList)&&r(l.tag)&&i(l.key)&&r(t)&&(l.key="__vlist"+t+"_"+a+"__"),u.push(l)));return u}(e):void 0}function hn(e){return r(e)&&r(e.text)&&!1===e.isComment}function pn(e,n){if(e){for(var t=Object.create(null),a=se?Reflect.ownKeys(e):Object.keys(e),i=0;i0,o=e?!!e.$stable:!r,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(o&&t&&t!==a&&s===t.$key&&!r&&!t.$hasNormal)return t;for(var l in i={},e)e[l]&&"$"!==l[0]&&(i[l]=vn(n,l,e[l]))}else i={};for(var d in n)d in i||(i[d]=yn(n,d));return e&&Object.isExtensible(e)&&(e._normalized=i),z(i,"$stable",o),z(i,"$key",s),z(i,"$hasNormal",r),i}function vn(e,n,t){var a=function(){var e=arguments.length?t.apply(null,arguments):t({}),n=(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:un(e))&&e[0];return e&&(!n||1===e.length&&n.isComment&&!gn(n))?void 0:e};return t.proxy&&Object.defineProperty(e,n,{get:a,enumerable:!0,configurable:!0}),a}function yn(e,n){return function(){return e[n]}}function xn(e,n){var t,a,i,o,s;if(Array.isArray(e)||"string"==typeof e)for(t=new Array(e.length),a=0,i=e.length;adocument.createEvent("Event").timeStamp&&(dt=function(){return ct.now()})}function ut(){var e,n;for(lt=dt(),ot=!0,tt.sort((function(e,n){return e.id-n.id})),st=0;stst&&tt[t].id>e.id;)t--;tt.splice(t+1,0,e)}else tt.push(e);rt||(rt=!0,tn(ut))}}(this)},pt.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||l(e)||this.deep){var n=this.value;if(this.value=e,this.user){var t='callback for watcher "'+this.expression+'"';We(this.cb,this.vm,[e,n],this.vm,t)}else this.cb.call(this.vm,e,n)}}},pt.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},pt.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},pt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var ft={enumerable:!0,configurable:!0,get:I,set:I};function mt(e,n,t){ft.get=function(){return this[n][t]},ft.set=function(e){this[n][t]=e},Object.defineProperty(e,t,ft)}function gt(e){e._watchers=[];var n=e.$options;n.props&&function(e,n){var t=e.$options.propsData||{},a=e._props={},i=e.$options._propKeys=[];e.$parent&&De(!1);var r=function(r){i.push(r);var o=Ne(r,n,t,e);ke(a,r,o),r in e||mt(e,"_props",r)};for(var o in n)r(o);De(!0)}(e,n.props),n.methods&&function(e,n){e.$options.props;for(var t in n)e[t]="function"!=typeof n[t]?I:S(n[t],e)}(e,n.methods),n.data?function(e){var n=e.$options.data;c(n=e._data="function"==typeof n?function(e,n){he();try{return e.call(n,n)}catch(e){return Ve(e,n,"data()"),{}}finally{pe()}}(n,e):n||{})||(n={});var t=Object.keys(n),a=e.$options.props,i=(e.$options.methods,t.length);for(;i--;){var r=t[i];0,a&&x(a,r)||(o=void 0,36!==(o=(r+"").charCodeAt(0))&&95!==o&&mt(e,"_data",r))}var o;Oe(n,!0)}(e):Oe(e._data={},!0),n.computed&&function(e,n){var t=e._computedWatchers=Object.create(null),a=ae();for(var i in n){var r=n[i],o="function"==typeof r?r:r.get;0,a||(t[i]=new pt(e,o||I,I,bt)),i in e||vt(e,i,r)}}(e,n.computed),n.watch&&n.watch!==ee&&function(e,n){for(var t in n){var a=n[t];if(Array.isArray(a))for(var i=0;i-1:"string"==typeof e?e.split(",").indexOf(n)>-1:!!u(e)&&e.test(n)}function Pt(e,n){var t=e.cache,a=e.keys,i=e._vnode;for(var r in t){var o=t[r];if(o){var s=o.name;s&&!n(s)&&At(t,r,a,i)}}}function At(e,n,t,a){var i=e[n];!i||a&&i.tag===a.tag||i.componentInstance.$destroy(),e[n]=null,v(t,n)}!function(e){e.prototype._init=function(e){var n=this;n._uid=Tt++,n._isVue=!0,e&&e._isComponent?function(e,n){var t=e.$options=Object.create(e.constructor.options),a=n._parentVnode;t.parent=n.parent,t._parentVnode=a;var i=a.componentOptions;t.propsData=i.propsData,t._parentListeners=i.listeners,t._renderChildren=i.children,t._componentTag=i.tag,n.render&&(t.render=n.render,t.staticRenderFns=n.staticRenderFns)}(n,e):n.$options=je(Dt(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(e){var n=e.$options,t=n.parent;if(t&&!n.abstract){for(;t.$options.abstract&&t.$parent;)t=t.$parent;t.$children.push(e)}e.$parent=t,e.$root=t?t.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var n=e.$options._parentListeners;n&&Jn(e,n)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,t=e.$vnode=n._parentVnode,i=t&&t.context;e.$slots=fn(n._renderChildren,i),e.$scopedSlots=a,e._c=function(n,t,a,i){return Hn(e,n,t,a,i,!1)},e.$createElement=function(n,t,a,i){return Hn(e,n,t,a,i,!0)};var r=t&&t.data;ke(e,"$attrs",r&&r.attrs||a,null,!0),ke(e,"$listeners",n._parentListeners||a,null,!0)}(n),nt(n,"beforeCreate"),function(e){var n=pn(e.$options.inject,e);n&&(De(!1),Object.keys(n).forEach((function(t){ke(e,t,n[t])})),De(!0))}(n),gt(n),function(e){var n=e.$options.provide;n&&(e._provided="function"==typeof n?n.call(e):n)}(n),nt(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(wt),function(e){var n={get:function(){return this._data}},t={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",n),Object.defineProperty(e.prototype,"$props",t),e.prototype.$set=Se,e.prototype.$delete=Pe,e.prototype.$watch=function(e,n,t){if(c(n))return Ct(this,e,n,t);(t=t||{}).user=!0;var a=new pt(this,e,n,t);if(t.immediate){var i='callback for immediate watcher "'+a.expression+'"';he(),We(n,this,[a.value],this,i),pe()}return function(){a.teardown()}}}(wt),function(e){var n=/^hook:/;e.prototype.$on=function(e,t){var a=this;if(Array.isArray(e))for(var i=0,r=e.length;i1?P(t):t;for(var a=P(arguments,1),i='event handler for "'+e+'"',r=0,o=t.length;rparseInt(this.max)&&At(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)At(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(n){Pt(e,(function(e){return St(n,e)}))})),this.$watch("exclude",(function(n){Pt(e,(function(e){return!St(n,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,n=$n(e),t=n&&n.componentOptions;if(t){var a=kt(t),i=this.include,r=this.exclude;if(i&&(!a||!St(i,a))||r&&a&&St(r,a))return n;var o=this.cache,s=this.keys,l=null==n.key?t.Ctor.cid+(t.tag?"::"+t.tag:""):n.key;o[l]?(n.componentInstance=o[l].componentInstance,v(s,l),s.push(l)):(this.vnodeToCache=n,this.keyToCache=l),n.data.keepAlive=!0}return n||e&&e[0]}}};!function(e){var n={get:function(){return B}};Object.defineProperty(e,"config",n),e.util={warn:le,extend:A,mergeOptions:je,defineReactive:ke},e.set=Se,e.delete=Pe,e.nextTick=tn,e.observable=function(e){return Oe(e),e},e.options=Object.create(null),U.forEach((function(n){e.options[n+"s"]=Object.create(null)})),e.options._base=e,A(e.options.components,It),function(e){e.use=function(e){var n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(e)>-1)return this;var t=P(arguments,1);return t.unshift(this),"function"==typeof e.install?e.install.apply(e,t):"function"==typeof e&&e.apply(null,t),n.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=je(this.options,e),this}}(e),Ot(e),function(e){U.forEach((function(n){e[n]=function(e,t){return t?("component"===n&&c(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t,t):this.options[n+"s"][e]}}))}(e)}(wt),Object.defineProperty(wt.prototype,"$isServer",{get:ae}),Object.defineProperty(wt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wt,"FunctionalRenderContext",{value:Mn}),wt.version="2.6.14";var _t=g("style,class"),Lt=g("input,textarea,option,select,progress"),Et=g("contenteditable,draggable,spellcheck"),Mt=g("events,caret,typing,plaintext-only"),jt=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Ut="http://www.w3.org/1999/xlink",Nt=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Bt=function(e){return Nt(e)?e.slice(6,e.length):""},Ft=function(e){return null==e||!1===e};function zt(e){for(var n=e.data,t=e,a=e;r(a.componentInstance);)(a=a.componentInstance._vnode)&&a.data&&(n=Ht(a.data,n));for(;r(t=t.parent);)t&&t.data&&(n=Ht(n,t.data));return function(e,n){if(r(e)||r(n))return Vt(e,Wt(n));return""}(n.staticClass,n.class)}function Ht(e,n){return{staticClass:Vt(e.staticClass,n.staticClass),class:r(e.class)?[e.class,n.class]:n.class}}function Vt(e,n){return e?n?e+" "+n:e:n||""}function Wt(e){return Array.isArray(e)?function(e){for(var n,t="",a=0,i=e.length;a-1?pa(e,n,t):jt(n)?Ft(t)?e.removeAttribute(n):(t="allowfullscreen"===n&&"EMBED"===e.tagName?"true":n,e.setAttribute(n,t)):Et(n)?e.setAttribute(n,function(e,n){return Ft(n)||"false"===n?"false":"contenteditable"===e&&Mt(n)?n:"true"}(n,t)):Nt(n)?Ft(t)?e.removeAttributeNS(Ut,Bt(n)):e.setAttributeNS(Ut,n,t):pa(e,n,t)}function pa(e,n,t){if(Ft(t))e.removeAttribute(n);else{if(X&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===n&&""!==t&&!e.__ieph){var a=function(n){n.stopImmediatePropagation(),e.removeEventListener("input",a)};e.addEventListener("input",a),e.__ieph=!0}e.setAttribute(n,t)}}var fa={create:ua,update:ua};function ma(e,n){var t=n.elm,a=n.data,o=e.data;if(!(i(a.staticClass)&&i(a.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=zt(n),l=t._transitionClasses;r(l)&&(s=Vt(s,Wt(l))),s!==t._prevClass&&(t.setAttribute("class",s),t._prevClass=s)}}var ga,ba={create:ma,update:ma};function va(e,n,t){var a=ga;return function i(){var r=n.apply(null,arguments);null!==r&&Ca(e,i,t,a)}}var ya=qe&&!(Q&&Number(Q[1])<=53);function xa(e,n,t,a){if(ya){var i=lt,r=n;n=r._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return r.apply(this,arguments)}}ga.addEventListener(e,n,ne?{capture:t,passive:a}:t)}function Ca(e,n,t,a){(a||ga).removeEventListener(e,n._wrapper||n,t)}function Ta(e,n){if(!i(e.data.on)||!i(n.data.on)){var t=n.data.on||{},a=e.data.on||{};ga=n.elm,function(e){if(r(e.__r)){var n=X?"change":"input";e[n]=[].concat(e.__r,e[n]||[]),delete e.__r}r(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(t),ln(t,a,xa,Ca,va,n.context),ga=void 0}}var Da,wa={create:Ta,update:Ta};function Oa(e,n){if(!i(e.data.domProps)||!i(n.data.domProps)){var t,a,o=n.elm,s=e.data.domProps||{},l=n.data.domProps||{};for(t in r(l.__ob__)&&(l=n.data.domProps=A({},l)),s)t in l||(o[t]="");for(t in l){if(a=l[t],"textContent"===t||"innerHTML"===t){if(n.children&&(n.children.length=0),a===s[t])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===t&&"PROGRESS"!==o.tagName){o._value=a;var d=i(a)?"":String(a);ka(o,d)&&(o.value=d)}else if("innerHTML"===t&&Gt(o.tagName)&&i(o.innerHTML)){(Da=Da||document.createElement("div")).innerHTML=""+a+"";for(var c=Da.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;c.firstChild;)o.appendChild(c.firstChild)}else if(a!==s[t])try{o[t]=a}catch(e){}}}}function ka(e,n){return!e.composing&&("OPTION"===e.tagName||function(e,n){var t=!0;try{t=document.activeElement!==e}catch(e){}return t&&e.value!==n}(e,n)||function(e,n){var t=e.value,a=e._vModifiers;if(r(a)){if(a.number)return m(t)!==m(n);if(a.trim)return t.trim()!==n.trim()}return t!==n}(e,n))}var Sa={create:Oa,update:Oa},Pa=C((function(e){var n={},t=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var a=e.split(t);a.length>1&&(n[a[0].trim()]=a[1].trim())}})),n}));function Aa(e){var n=Ra(e.style);return e.staticStyle?A(e.staticStyle,n):n}function Ra(e){return Array.isArray(e)?R(e):"string"==typeof e?Pa(e):e}var Ia,_a=/^--/,La=/\s*!important$/,Ea=function(e,n,t){if(_a.test(n))e.style.setProperty(n,t);else if(La.test(t))e.style.setProperty(k(n),t.replace(La,""),"important");else{var a=ja(n);if(Array.isArray(t))for(var i=0,r=t.length;i-1?n.split(Ba).forEach((function(n){return e.classList.add(n)})):e.classList.add(n);else{var t=" "+(e.getAttribute("class")||"")+" ";t.indexOf(" "+n+" ")<0&&e.setAttribute("class",(t+n).trim())}}function za(e,n){if(n&&(n=n.trim()))if(e.classList)n.indexOf(" ")>-1?n.split(Ba).forEach((function(n){return e.classList.remove(n)})):e.classList.remove(n),e.classList.length||e.removeAttribute("class");else{for(var t=" "+(e.getAttribute("class")||"")+" ",a=" "+n+" ";t.indexOf(a)>=0;)t=t.replace(a," ");(t=t.trim())?e.setAttribute("class",t):e.removeAttribute("class")}}function Ha(e){if(e){if("object"==typeof e){var n={};return!1!==e.css&&A(n,Va(e.name||"v")),A(n,e),n}return"string"==typeof e?Va(e):void 0}}var Va=C((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Wa=Y&&!J,Ya="transition",$a="transitionend",Ga="animation",qa="animationend";Wa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ya="WebkitTransition",$a="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ga="WebkitAnimation",qa="webkitAnimationEnd"));var Xa=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ja(e){Xa((function(){Xa(e)}))}function Za(e,n){var t=e._transitionClasses||(e._transitionClasses=[]);t.indexOf(n)<0&&(t.push(n),Fa(e,n))}function Ka(e,n){e._transitionClasses&&v(e._transitionClasses,n),za(e,n)}function Qa(e,n,t){var a=ni(e,n),i=a.type,r=a.timeout,o=a.propCount;if(!i)return t();var s="transition"===i?$a:qa,l=0,d=function(){e.removeEventListener(s,c),t()},c=function(n){n.target===e&&++l>=o&&d()};setTimeout((function(){l0&&(t="transition",c=o,u=r.length):"animation"===n?d>0&&(t="animation",c=d,u=l.length):u=(t=(c=Math.max(o,d))>0?o>d?"transition":"animation":null)?"transition"===t?r.length:l.length:0,{type:t,timeout:c,propCount:u,hasTransform:"transition"===t&&ei.test(a[Ya+"Property"])}}function ti(e,n){for(;e.length1}function li(e,n){!0!==n.data.show&&ii(n)}var di=function(e){var n,t,a={},l=e.modules,d=e.nodeOps;for(n=0;nf?y(e,i(t[b+1])?null:t[b+1].elm,t,p,b,a):p>b&&C(n,h,f)}(h,g,b,t,c):r(b)?(r(e.text)&&d.setTextContent(h,""),y(h,null,b,0,b.length-1,t)):r(g)?C(g,0,g.length-1):r(e.text)&&d.setTextContent(h,""):e.text!==n.text&&d.setTextContent(h,n.text),r(f)&&r(p=f.hook)&&r(p=p.postpatch)&&p(e,n)}}}function O(e,n,t){if(o(t)&&r(e.parent))e.parent.data.pendingInsert=n;else for(var a=0;a-1,o.selected!==r&&(o.selected=r);else if(E(fi(o),a))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function pi(e,n){return n.every((function(n){return!E(n,e)}))}function fi(e){return"_value"in e?e._value:e.value}function mi(e){e.target.composing=!0}function gi(e){e.target.composing&&(e.target.composing=!1,bi(e.target,"input"))}function bi(e,n){var t=document.createEvent("HTMLEvents");t.initEvent(n,!0,!0),e.dispatchEvent(t)}function vi(e){return!e.componentInstance||e.data&&e.data.transition?e:vi(e.componentInstance._vnode)}var yi={model:ci,show:{bind:function(e,n,t){var a=n.value,i=(t=vi(t)).data&&t.data.transition,r=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;a&&i?(t.data.show=!0,ii(t,(function(){e.style.display=r}))):e.style.display=a?r:"none"},update:function(e,n,t){var a=n.value;!a!=!n.oldValue&&((t=vi(t)).data&&t.data.transition?(t.data.show=!0,a?ii(t,(function(){e.style.display=e.__vOriginalDisplay})):ri(t,(function(){e.style.display="none"}))):e.style.display=a?e.__vOriginalDisplay:"none")},unbind:function(e,n,t,a,i){i||(e.style.display=e.__vOriginalDisplay)}}},xi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ci(e){var n=e&&e.componentOptions;return n&&n.Ctor.options.abstract?Ci($n(n.children)):e}function Ti(e){var n={},t=e.$options;for(var a in t.propsData)n[a]=e[a];var i=t._parentListeners;for(var r in i)n[D(r)]=i[r];return n}function Di(e,n){if(/\d-keep-alive$/.test(n.tag))return e("keep-alive",{props:n.componentOptions.propsData})}var wi=function(e){return e.tag||gn(e)},Oi=function(e){return"show"===e.name},ki={name:"transition",props:xi,abstract:!0,render:function(e){var n=this,t=this.$slots.default;if(t&&(t=t.filter(wi)).length){0;var a=this.mode;0;var i=t[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var r=Ci(i);if(!r)return i;if(this._leaving)return Di(e,i);var o="__transition-"+this._uid+"-";r.key=null==r.key?r.isComment?o+"comment":o+r.tag:s(r.key)?0===String(r.key).indexOf(o)?r.key:o+r.key:r.key;var l=(r.data||(r.data={})).transition=Ti(this),d=this._vnode,c=Ci(d);if(r.data.directives&&r.data.directives.some(Oi)&&(r.data.show=!0),c&&c.data&&!function(e,n){return n.key===e.key&&n.tag===e.tag}(r,c)&&!gn(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var u=c.data.transition=A({},l);if("out-in"===a)return this._leaving=!0,dn(u,"afterLeave",(function(){n._leaving=!1,n.$forceUpdate()})),Di(e,i);if("in-out"===a){if(gn(r))return d;var h,p=function(){h()};dn(l,"afterEnter",p),dn(l,"enterCancelled",p),dn(u,"delayLeave",(function(e){h=e}))}}return i}}},Si=A({tag:String,moveClass:String},xi);function Pi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Ai(e){e.data.newPos=e.elm.getBoundingClientRect()}function Ri(e){var n=e.data.pos,t=e.data.newPos,a=n.left-t.left,i=n.top-t.top;if(a||i){e.data.moved=!0;var r=e.elm.style;r.transform=r.WebkitTransform="translate("+a+"px,"+i+"px)",r.transitionDuration="0s"}}delete Si.mode;var Ii={Transition:ki,TransitionGroup:{props:Si,beforeMount:function(){var e=this,n=this._update;this._update=function(t,a){var i=Kn(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),n.call(e,t,a)}},render:function(e){for(var n=this.tag||this.$vnode.data.tag||"span",t=Object.create(null),a=this.prevChildren=this.children,i=this.$slots.default||[],r=this.children=[],o=Ti(this),s=0;s-1?Xt[e]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:Xt[e]=/HTMLUnknownElement/.test(n.toString())},A(wt.options.directives,yi),A(wt.options.components,Ii),wt.prototype.__patch__=Y?di:I,wt.prototype.$mount=function(e,n){return function(e,n,t){var a;return e.$el=n,e.$options.render||(e.$options.render=ge),nt(e,"beforeMount"),a=function(){e._update(e._render(),t)},new pt(e,a,I,{before:function(){e._isMounted&&!e._isDestroyed&&nt(e,"beforeUpdate")}},!0),t=!1,null==e.$vnode&&(e._isMounted=!0,nt(e,"mounted")),e}(this,e=e&&Y?function(e){if("string"==typeof e){var n=document.querySelector(e);return n||document.createElement("div")}return e}(e):void 0,n)},Y&&setTimeout((function(){B.devtools&&ie&&ie.emit("init",wt)}),0),n.a=wt},function(e,n){var t=function(e){return e&&e.Math==Math&&e};e.exports=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof global&&global)||function(){return this}()||Function("return this")()},function(e,n){e.exports=function(e){return"function"==typeof e}},function(e,n){var t=Function.prototype,a=t.bind,i=t.call,r=a&&a.bind(i);e.exports=a?function(e){return e&&r(i,e)}:function(e){return e&&function(){return i.apply(e,arguments)}}},function(e,n,t){"use strict";t.d(n,"a",(function(){return R})),t.d(n,"b",(function(){return sn})),t.d(n,"c",(function(){return Ot})),t.d(n,"d",(function(){return G})),t.d(n,"e",(function(){return yt})),t.d(n,"f",(function(){return ee})),t.d(n,"g",(function(){return Gt}));var a=t(0); +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */var i=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,n,t,a){const i=n.listeners[a],r=n.duration;i.forEach(a=>a({chart:e,initial:n.initial,numSteps:r,currentStep:Math.min(t-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=a.Tb.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let n=0;this._charts.forEach((t,a)=>{if(!t.running||!t.items.length)return;const i=t.items;let r,o=i.length-1,s=!1;for(;o>=0;--o)r=i[o],r._active?(r._total>t.duration&&(t.duration=r._total),r.tick(e),s=!0):(i[o]=i[i.length-1],i.pop());s&&(a.draw(),this._notify(a,t,e,"progress")),i.length||(t.running=!1,this._notify(a,t,e,"complete"),t.initial=!1),n+=i.length}),this._lastDate=e,0===n&&(this._running=!1)}_getAnims(e){const n=this._charts;let t=n.get(e);return t||(t={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(e,t)),t}listen(e,n,t){this._getAnims(e).listeners[n].push(t)}add(e,n){n&&n.length&&this._getAnims(e).items.push(...n)}has(e){return this._getAnims(e).items.length>0}start(e){const n=this._charts.get(e);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((e,n)=>Math.max(e,n._duration),0),this._refresh())}running(e){if(!this._running)return!1;const n=this._charts.get(e);return!!(n&&n.running&&n.items.length)}stop(e){const n=this._charts.get(e);if(!n||!n.items.length)return;const t=n.items;let a=t.length-1;for(;a>=0;--a)t[a].cancel();n.items=[],this._notify(e,n,Date.now(),"complete")}remove(e){return this._charts.delete(e)}};const r={boolean:(e,n,t)=>t>.5?n:e,color(e,n,t){const i=Object(a.Eb)(e||"transparent"),r=i.valid&&Object(a.Eb)(n||"transparent");return r&&r.valid?r.mix(i,t).hexString():n},number:(e,n,t)=>e+(n-e)*t};class o{constructor(e,n,t,i){const o=n[t];i=Object(a.C)([e.to,i,o,e.from]);const s=Object(a.C)([e.from,o,i]);this._active=!0,this._fn=e.fn||r[e.type||typeof s],this._easing=a.Gb[e.easing]||a.Gb.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=n,this._prop=t,this._from=s,this._to=i,this._promises=void 0}active(){return this._active}update(e,n,t){if(this._active){this._notify(!1);const i=this._target[this._prop],r=t-this._start,o=this._duration-r;this._start=t,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=r,this._loop=!!e.loop,this._to=Object(a.C)([e.to,n,i,e.from]),this._from=Object(a.C)([e.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const n=e-this._start,t=this._duration,a=this._prop,i=this._from,r=this._loop,o=this._to;let s;if(this._active=i!==o&&(r||n1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[a]=this._fn(i,o,s))}wait(){const e=this._promises||(this._promises=[]);return new Promise((n,t)=>{e.push({res:n,rej:t})})}_notify(e){const n=e?"res":"rej",t=this._promises||[];for(let e=0;e"onProgress"!==e&&"onComplete"!==e&&"fn"!==e}),a.Fb.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),a.Fb.describe("animations",{_fallback:"animation"}),a.Fb.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:e=>0|e}}}});class l{constructor(e,n){this._chart=e,this._properties=new Map,this.configure(n)}configure(e){if(!Object(a.Kb)(e))return;const n=this._properties;Object.getOwnPropertyNames(e).forEach(t=>{const i=e[t];if(!Object(a.Kb)(i))return;const r={};for(const e of s)r[e]=i[e];(Object(a.Db)(i.properties)&&i.properties||[t]).forEach(e=>{e!==t&&n.has(e)||n.set(e,r)})})}_animateOptions(e,n){const t=n.options,a=function(e,n){if(!n)return;let t=e.options;if(!t)return void(e.options=n);t.$shared&&(e.options=t=Object.assign({},t,{$shared:!1,$animations:{}}));return t}(e,t);if(!a)return[];const i=this._createAnimations(a,t);return t.$shared&&function(e,n){const t=[],a=Object.keys(n);for(let n=0;n{e.options=t},()=>{}),i}_createAnimations(e,n){const t=this._properties,a=[],i=e.$animations||(e.$animations={}),r=Object.keys(n),s=Date.now();let l;for(l=r.length-1;l>=0;--l){const d=r[l];if("$"===d.charAt(0))continue;if("options"===d){a.push(...this._animateOptions(e,n));continue}const c=n[d];let u=i[d];const h=t.get(d);if(u){if(h&&u.active()){u.update(h,c,s);continue}u.cancel()}h&&h.duration?(i[d]=u=new o(h,e,d,c),a.push(u)):e[d]=c}return a}update(e,n){if(0===this._properties.size)return void Object.assign(e,n);const t=this._createAnimations(e,n);return t.length?(i.add(this._chart,t),!0):void 0}}function d(e,n){const t=e&&e.options||{},a=t.reverse,i=void 0===t.min?n:0,r=void 0===t.max?n:0;return{start:a?r:i,end:a?i:r}}function c(e,n){const t=[],a=e._getSortedDatasetMetas(n);let i,r;for(i=0,r=a.length;i0||!t&&n<0)return i.index}return null}function m(e,n){const{chart:t,_cachedMeta:a}=e,i=t._stacks||(t._stacks={}),{iScale:r,vScale:o,index:s}=a,l=r.axis,d=o.axis,c=function(e,n,t){return`${e.id}.${n.id}.${t.stack||t.type}`}(r,o,a),u=n.length;let h;for(let e=0;et[e].axis===n).shift()}function b(e,n){const t=e.controller.index,a=e.vScale&&e.vScale.axis;if(a){n=n||e._parsed;for(const e of n){const n=e._stacks;if(!n||void 0===n[a]||void 0===n[a][t])return;delete n[a][t]}}}const v=e=>"reset"===e||"none"===e,y=(e,n)=>n?e:Object.assign({},e);class x{constructor(e,n){this.chart=e,this._ctx=e.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=h(e.vScale,e),this.addElements()}updateIndex(e){this.index!==e&&b(this._cachedMeta),this.index=e}linkScales(){const e=this.chart,n=this._cachedMeta,t=this.getDataset(),i=(e,n,t,a)=>"x"===e?n:"r"===e?a:t,r=n.xAxisID=Object(a.Xb)(t.xAxisID,g(e,"x")),o=n.yAxisID=Object(a.Xb)(t.yAxisID,g(e,"y")),s=n.rAxisID=Object(a.Xb)(t.rAxisID,g(e,"r")),l=n.indexAxis,d=n.iAxisID=i(l,r,o,s),c=n.vAxisID=i(l,o,r,s);n.xScale=this.getScaleForId(r),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(d),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){const n=this._cachedMeta;return e===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const e=this._cachedMeta;this._data&&Object(a.Wb)(this._data,this),e._stacked&&b(e)}_dataCheck(){const e=this.getDataset(),n=e.data||(e.data=[]),t=this._data;if(Object(a.Kb)(n))this._data=function(e){const n=Object.keys(e),t=new Array(n.length);let a,i,r;for(a=0,i=n.length;a0&&t._parsed[e-1];if(!1===this._parsing)t._parsed=i,t._sorted=!0,c=i;else{c=Object(a.Db)(i[e])?this.parseArrayData(t,i,e,n):Object(a.Kb)(i[e])?this.parseObjectData(t,i,e,n):this.parsePrimitiveData(t,i,e,n);const r=()=>null===d[s]||h&&d[s]e&&!n.hidden&&n._stacked&&{keys:c(t,!0),values:null})(n,t,this.chart),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:u,max:h}=function(e){const{min:n,max:t,minDefined:a,maxDefined:i}=e.getUserBounds();return{min:a?n:Number.NEGATIVE_INFINITY,max:i?t:Number.POSITIVE_INFINITY}}(s);let p,f;function m(){f=i[p];const n=f[s.axis];return!Object(a.Ib)(f[e.axis])||u>n||h=0;--p)if(!m()){this.updateRangeFromParsed(d,e,f,l);break}return d}getAllParsedValues(e){const n=this._cachedMeta._parsed,t=[];let i,r,o;for(i=0,r=n.length;i=0&&ethis.getContext(t,i),u);return f.$shared&&(f.$shared=l,r[o]=Object.freeze(y(f,l))),f}_resolveAnimations(e,n,t){const a=this.chart,i=this._cachedDataOpts,r="animation-"+n,o=i[r];if(o)return o;let s;if(!1!==a.options.animation){const a=this.chart.config,i=a.datasetAnimationScopeKeys(this._type,n),r=a.getOptionScopes(this.getDataset(),i);s=a.createResolver(r,this.getContext(e,t,n))}const d=new l(a,s&&s.animations);return s&&s._cacheable&&(i[r]=Object.freeze(d)),d}getSharedOptions(e){if(e.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},e))}includeOptions(e,n){return!n||v(e)||this.chart._animationsDisabled}_getSharedOptions(e,n){const t=this.resolveDataElementOptions(e,n),a=this._sharedOptions,i=this.getSharedOptions(t),r=this.includeOptions(n,i)||i!==a;return this.updateSharedOptions(i,n,t),{sharedOptions:i,includeOptions:r}}updateElement(e,n,t,a){v(a)?Object.assign(e,t):this._resolveAnimations(n,a).update(e,t)}updateSharedOptions(e,n,t){e&&!v(n)&&this._resolveAnimations(void 0,n).update(e,t)}_setStyle(e,n,t,a){e.active=a;const i=this.getStyle(n,a);this._resolveAnimations(n,t,a).update(e,{options:!a&&this.getSharedOptions(i)||i})}removeHoverStyle(e,n,t){this._setStyle(e,t,"active",!1)}setHoverStyle(e,n,t){this._setStyle(e,t,"active",!0)}_removeDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!1)}_setDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!0)}_resyncElements(e){const n=this._data,t=this._cachedMeta.data;for(const[e,n,t]of this._syncList)this[e](n,t);this._syncList=[];const a=t.length,i=n.length,r=Math.min(i,a);r&&this.parse(0,r),i>a?this._insertElements(a,i-a,e):i{for(e.length+=n,o=e.length-1;o>=r;o--)e[o]=e[o-n]};for(s(i),o=e;oe-n))}return e._cache.$bar}(n,e.type);let i,r,o,s,l=n._length;const d=()=>{32767!==o&&-32768!==o&&(Object(a.Lb)(s)&&(l=Math.min(l,Math.abs(o-s)||l)),s=o)};for(i=0,r=t.length;iMath.abs(s)&&(l=s,d=o),n[t.axis]=d,n._custom={barStart:l,barEnd:d,start:i,end:r,min:o,max:s}}(e,n,t,i):n[t.axis]=t.parse(e,i),n}function D(e,n,t,a){const i=e.iScale,r=e.vScale,o=i.getLabels(),s=i===r,l=[];let d,c,u,h;for(d=t,c=t+a;de.x,t="left",a="right"):(n=e.basee.controller.options.grouped),r=t.options.stacked,o=[],s=e=>{const t=e.controller.getParsed(n),i=t&&t[e.vScale.axis];if(Object(a.Mb)(i)||isNaN(i))return!0};for(const t of i)if((void 0===n||!s(t))&&((!1===r||-1===o.indexOf(t.stack)||void 0===r&&void 0===t.stack)&&o.push(t.stack),t.index===e))break;return o.length||o.push(void 0),o}_getStackCount(e){return this._getStacks(void 0,e).length}_getStackIndex(e,n,t){const a=this._getStacks(e,t),i=void 0!==n?a.indexOf(n):-1;return-1===i?a.length-1:i}_getRuler(){const e=this.options,n=this._cachedMeta,t=n.iScale,a=[];let i,r;for(i=0,r=n.data.length;i=t?1:-1)}(u,n,o)*r,h===o&&(g-=u/2);const e=n.getPixelForDecimal(0),t=n.getPixelForDecimal(1),i=Math.min(e,t),s=Math.max(e,t);g=Math.max(Math.min(g,s),i),c=g+u}if(g===n.getPixelForValue(o)){const e=Object(a.Ub)(u)*n.getLineWidthForValue(o)/2;g+=e,u-=e}return{size:u,base:g,head:c,center:c+u/2}}_calculateBarIndexPixels(e,n){const t=n.scale,i=this.options,r=i.skipNull,o=Object(a.Xb)(i.maxBarThickness,1/0);let s,l;if(n.grouped){const t=r?this._getStackCount(e):n.stackCount,d="flex"===i.barThickness?function(e,n,t,a){const i=n.pixels,r=i[e];let o=e>0?i[e-1]:null,s=e=0;--t)n=Math.max(n,e[t].size(this.resolveDataElementOptions(t))/2);return n>0&&n}getLabelAndValue(e){const n=this._cachedMeta,{xScale:t,yScale:a}=n,i=this.getParsed(e),r=t.getLabelForValue(i.x),o=a.getLabelForValue(i.y),s=i._custom;return{label:n.label,value:"("+r+", "+o+(s?", "+s:"")+")"}}update(e){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,e)}updateElements(e,n,t,a){const i="reset"===a,{iScale:r,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:l}=this._getSharedOptions(n,a),d=r.axis,c=o.axis;for(let u=n;u""}}}};class I extends x{constructor(e,n){super(e,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,n){const t=this.getDataset().data,i=this._cachedMeta;if(!1===this._parsing)i._parsed=t;else{let r,o,s=e=>+t[e];if(Object(a.Kb)(t[e])){const{key:e="value"}=this._parsing;s=n=>+Object(a.Hb)(t[n],e)}for(r=e,o=e+n;rObject(a.Rb)(e,l,d,!0)?1:Math.max(n,n*t,i,i*t),m=(e,n,i)=>Object(a.Rb)(e,l,d,!0)?-1:Math.min(n,n*t,i,i*t),g=f(0,c,h),b=f(a.i,u,p),v=m(a.q,c,h),y=m(a.q+a.i,u,p);i=(g-v)/2,r=(b-y)/2,o=-(g+v)/2,s=-(b+y)/2}return{ratioX:i,ratioY:r,offsetX:o,offsetY:s}}(u,c,l),g=(t.width-o)/h,b=(t.height-o)/p,v=Math.max(Math.min(g,b)/2,0),y=Object(a.Pb)(this.options.radius,v),x=(y-Math.max(y*l,0))/this._getVisibleDatasetWeightTotal();this.offsetX=f*y,this.offsetY=m*y,i.total=this.calculateTotal(),this.outerRadius=y-x*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-x*d,0),this.updateElements(r,0,r.length,e)}_circumference(e,n){const t=this.options,i=this._cachedMeta,r=this._getCircumference();return n&&t.animation.animateRotate||!this.chart.getDataVisibility(e)||null===i._parsed[e]||i.data[e].hidden?0:this.calculateCircumference(i._parsed[e]*r/a.u)}updateElements(e,n,t,a){const i="reset"===a,r=this.chart,o=r.chartArea,s=r.options.animation,l=(o.left+o.right)/2,d=(o.top+o.bottom)/2,c=i&&s.animateScale,u=c?0:this.innerRadius,h=c?0:this.outerRadius,{sharedOptions:p,includeOptions:f}=this._getSharedOptions(n,a);let m,g=this._getRotation();for(m=0;m0&&!isNaN(e)?a.u*(Math.abs(e)/n):0}getLabelAndValue(e){const n=this._cachedMeta,t=this.chart,i=t.data.labels||[],r=Object(a.Qb)(n._parsed[e],t.options.locale);return{label:i[e]||"",value:r}}getMaxBorderWidth(e){let n=0;const t=this.chart;let a,i,r,o,s;if(!e)for(a=0,i=t.data.datasets.length;a"spacing"!==e,_indexable:e=>"spacing"!==e},I.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const n=e.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:t}}=e.legend.options;return n.labels.map((n,a)=>{const i=e.getDatasetMeta(0).controller.getStyle(a);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:t,hidden:!e.getDataVisibility(a),index:a}})}return[]}},onClick(e,n,t){t.chart.toggleDataVisibility(n.index),t.chart.update()}},tooltip:{callbacks:{title:()=>"",label(e){let n=e.label;const t=": "+e.formattedValue;return Object(a.Db)(n)?(n=n.slice(),n[0]+=t):n+=t,n}}}}};class _ extends x{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(e){const n=this._cachedMeta,{dataset:t,data:i=[],_dataset:r}=n,o=this.chart._animationsDisabled;let{start:s,count:l}=Object(a.Sb)(n,i,o);this._drawStart=s,this._drawCount=l,Object(a.Yb)(n)&&(s=0,l=i.length),t._chart=this.chart,t._datasetIndex=this.index,t._decimated=!!r._decimated,t.points=i;const d=this.resolveDatasetElementOptions(e);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(t,void 0,{animated:!o,options:d},e),this.updateElements(i,s,l,e)}updateElements(e,n,t,i){const r="reset"===i,{iScale:o,vScale:s,_stacked:l,_dataset:d}=this._cachedMeta,{sharedOptions:c,includeOptions:u}=this._getSharedOptions(n,i),h=o.axis,p=s.axis,{spanGaps:f,segment:m}=this.options,g=Object(a.Zb)(f)?f:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||r||"none"===i;let v=n>0&&this.getParsed(n-1);for(let f=n;f0&&Math.abs(t[h]-v[h])>g,m&&(y.parsed=t,y.raw=d.data[f]),u&&(y.options=c||this.resolveDataElementOptions(f,n.active?"active":i)),b||this.updateElement(n,f,y,i),v=t}}getMaxOverflow(){const e=this._cachedMeta,n=e.dataset,t=n.options&&n.options.borderWidth||0,a=e.data||[];if(!a.length)return t;const i=a[0].size(this.resolveDataElementOptions(0)),r=a[a.length-1].size(this.resolveDataElementOptions(a.length-1));return Math.max(t,i,r)/2}draw(){const e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}}_.id="line",_.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},_.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class L extends x{constructor(e,n){super(e,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){const n=this._cachedMeta,t=this.chart,i=t.data.labels||[],r=Object(a.Qb)(n._parsed[e].r,t.options.locale);return{label:i[e]||"",value:r}}parseObjectData(e,n,t,i){return a.ac.bind(this)(e,n,t,i)}update(e){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,e)}getMinMax(){const e=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return e.data.forEach((e,t)=>{const a=this.getParsed(t).r;!isNaN(a)&&this.chart.getDataVisibility(t)&&(an.max&&(n.max=a))}),n}_updateRadius(){const e=this.chart,n=e.chartArea,t=e.options,a=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(a/2,0),r=(i-Math.max(t.cutoutPercentage?i/100*t.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(e,n,t,i){const r="reset"===i,o=this.chart,s=o.options.animation,l=this._cachedMeta.rScale,d=l.xCenter,c=l.yCenter,u=l.getIndexAngle(0)-.5*a.q;let h,p=u;const f=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(t).r)&&this.chart.getDataVisibility(t)&&n++}),n}_computeAngle(e,n,t){return this.chart.getDataVisibility(e)?Object(a.Vb)(this.resolveDataElementOptions(e,n).angle||t):0}}L.id="polarArea",L.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},L.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const n=e.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:t}}=e.legend.options;return n.labels.map((n,a)=>{const i=e.getDatasetMeta(0).controller.getStyle(a);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:t,hidden:!e.getDataVisibility(a),index:a}})}return[]}},onClick(e,n,t){t.chart.toggleDataVisibility(n.index),t.chart.update()}},tooltip:{callbacks:{title:()=>"",label:e=>e.chart.data.labels[e.dataIndex]+": "+e.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class E extends I{}E.id="pie",E.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class M extends x{getLabelAndValue(e){const n=this._cachedMeta.vScale,t=this.getParsed(e);return{label:n.getLabels()[e],value:""+n.getLabelForValue(t[n.axis])}}parseObjectData(e,n,t,i){return a.ac.bind(this)(e,n,t,i)}update(e){const n=this._cachedMeta,t=n.dataset,a=n.data||[],i=n.iScale.getLabels();if(t.points=a,"resize"!==e){const n=this.resolveDatasetElementOptions(e);this.options.showLine||(n.borderWidth=0);const r={_loop:!0,_fullLoop:i.length===a.length,options:n};this.updateElement(t,void 0,r,e)}this.updateElements(a,0,a.length,e)}updateElements(e,n,t,a){const i=this._cachedMeta.rScale,r="reset"===a;for(let o=n;o{a[e]=t[e]&&t[e].active()?t[e]._to:this[e]}),a}}j.defaults={},j.defaultRoutes=void 0;const U={values:e=>Object(a.Db)(e)?e:""+e,numeric(e,n,t){if(0===e)return"0";const i=this.chart.options.locale;let r,o=e;if(t.length>1){const n=Math.max(Math.abs(t[0].value),Math.abs(t[t.length-1].value));(n<1e-4||n>1e15)&&(r="scientific"),o=function(e,n){let t=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;Math.abs(t)>=1&&e!==Math.floor(e)&&(t=e-Math.floor(e));return t}(e,t)}const s=Object(a.bc)(Math.abs(o)),l=Math.max(Math.min(-1*Math.floor(s),20),0),d={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(d,this.options.ticks.format),Object(a.Qb)(e,i,d)},logarithmic(e,n,t){if(0===e)return"0";const i=e/Math.pow(10,Math.floor(Object(a.bc)(e)));return 1===i||2===i||5===i?U.numeric.call(this,e,n,t):""}};var N={formatters:U};function B(e,n){const t=e.options.ticks,i=t.maxTicksLimit||function(e){const n=e.options.offset,t=e._tickSize(),a=e._length/t+(n?0:1),i=e._maxLength/t;return Math.floor(Math.min(a,i))}(e),r=t.major.enabled?function(e){const n=[];let t,a;for(t=0,a=e.length;ti)return function(e,n,t,a){let i,r=0,o=t[0];for(a=Math.ceil(a),i=0;ir)return n}return Math.max(r,1)}(r,n,i);if(o>0){let e,t;const i=o>1?Math.round((l-s)/(o-1)):null;for(F(n,d,c,Object(a.Mb)(i)?0:s-i,s),e=0,t=o-1;en.lineWidth,tickColor:(e,n)=>n.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:N.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),a.Fb.route("scale.ticks","color","","color"),a.Fb.route("scale.grid","color","","borderColor"),a.Fb.route("scale.grid","borderColor","","borderColor"),a.Fb.route("scale.title","color","","color"),a.Fb.describe("scale",{_fallback:!1,_scriptable:e=>!e.startsWith("before")&&!e.startsWith("after")&&"callback"!==e&&"parser"!==e,_indexable:e=>"borderDash"!==e&&"tickBorderDash"!==e}),a.Fb.describe("scales",{_fallback:"scale"}),a.Fb.describe("scale.ticks",{_scriptable:e=>"backdropPadding"!==e&&"callback"!==e,_indexable:e=>"backdropPadding"!==e});const z=(e,n,t)=>"top"===n||"left"===n?e[n]+t:e[n]-t;function H(e,n){const t=[],a=e.length/n,i=e.length;let r=0;for(;ro+1e-6)))return l}function W(e){return e.drawTicks?e.tickLength:0}function Y(e,n){if(!e.display)return 0;const t=Object(a.p)(e.font,n),i=Object(a.l)(e.padding);return(Object(a.Db)(e.text)?e.text.length:1)*t.lineHeight+i.height}function $(e,n,t){let i=Object(a.s)(e);return(t&&"right"!==n||!t&&"right"===n)&&(i=(e=>"left"===e?"right":"right"===e?"left":e)(i)),i}class G extends j{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,n){return e}getUserBounds(){let{_userMin:e,_userMax:n,_suggestedMin:t,_suggestedMax:i}=this;return e=Object(a.c)(e,Number.POSITIVE_INFINITY),n=Object(a.c)(n,Number.NEGATIVE_INFINITY),t=Object(a.c)(t,Number.POSITIVE_INFINITY),i=Object(a.c)(i,Number.NEGATIVE_INFINITY),{min:Object(a.c)(e,t),max:Object(a.c)(n,i),minDefined:Object(a.Ib)(e),maxDefined:Object(a.Ib)(n)}}getMinMax(e){let n,{min:t,max:i,minDefined:r,maxDefined:o}=this.getUserBounds();if(r&&o)return{min:t,max:i};const s=this.getMatchingVisibleMetas();for(let a=0,l=s.length;ai?i:t,i=r&&t>i?t:i,{min:Object(a.c)(t,Object(a.c)(i,t)),max:Object(a.c)(i,Object(a.c)(t,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Object(a.d)(this.options.beforeUpdate,[this])}update(e,n,t){const{beginAtZero:i,grace:r,ticks:o}=this.options,s=o.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=n,this._margins=t=Object.assign({left:0,right:0,top:0,bottom:0},t),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+t.left+t.right:this.height+t.top+t.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Object(a.e)(this,r,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=s=r||t<=1||!this.isHorizontal())return void(this.labelRotation=i);const c=this._getLabelSizes(),u=c.widest.width,h=c.highest.height,p=Object(a.f)(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/t:p/(t-1),u+6>o&&(o=p/(t-(e.offset?.5:1)),s=this.maxHeight-W(e.grid)-n.padding-Y(e.title,this.chart.options.font),l=Math.sqrt(u*u+h*h),d=Object(a.g)(Math.min(Math.asin(Object(a.f)((c.highest.height+6)/o,-1,1)),Math.asin(Object(a.f)(s/l,-1,1))-Math.asin(Object(a.f)(h/l,-1,1)))),d=Math.max(i,Math.min(r,d))),this.labelRotation=d}afterCalculateLabelRotation(){Object(a.d)(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Object(a.d)(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:n,options:{ticks:t,title:i,grid:r}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=Y(i,n.options.font);if(s?(e.width=this.maxWidth,e.height=W(r)+o):(e.height=this.maxHeight,e.width=W(r)+o),t.display&&this.ticks.length){const{first:n,last:i,widest:r,highest:o}=this._getLabelSizes(),l=2*t.padding,d=Object(a.Vb)(this.labelRotation),c=Math.cos(d),u=Math.sin(d);if(s){const n=t.mirror?0:u*r.width+c*o.height;e.height=Math.min(this.maxHeight,e.height+n+l)}else{const n=t.mirror?0:c*r.width+u*o.height;e.width=Math.min(this.maxWidth,e.width+n+l)}this._calculatePadding(n,i,u,c)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,n,t,a){const{ticks:{align:i,padding:r},position:o}=this.options,s=0!==this.labelRotation,l="top"!==o&&"x"===this.axis;if(this.isHorizontal()){const o=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,u=0;s?l?(c=a*e.width,u=t*n.height):(c=t*e.height,u=a*n.width):"start"===i?u=n.width:"end"===i?c=e.width:"inner"!==i&&(c=e.width/2,u=n.width/2),this.paddingLeft=Math.max((c-o+r)*this.width/(this.width-o),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let t=n.height/2,a=e.height/2;"start"===i?(t=0,a=e.height):"end"===i&&(t=n.height,a=0),this.paddingTop=t+r,this.paddingBottom=a+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Object(a.d)(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:n}=this.options;return"top"===n||"bottom"===n||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let n,t;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),n=0,t=e.length;n{const t=e.gc,a=t.length/2;let i;if(a>n){for(i=0;i({width:r[e]||0,height:o[e]||0});return{first:T(0),last:T(n-1),widest:T(x),highest:T(C),widths:r,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,n){return NaN}getValueForPixel(e){}getPixelForTick(e){const n=this.ticks;return e<0||e>n.length-1?null:this.getPixelForValue(n[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const n=this._startPixel+e*this._length;return Object(a.j)(this._alignToPixels?Object(a.k)(this.chart,n,0):n)}getDecimalForPixel(e){const n=(e-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:n}=this;return e<0&&n<0?n:e>0&&n>0?e:0}getContext(e){const n=this.ticks||[];if(e>=0&&es*i?s/t:l/i:l*i0}_computeGridLineItems(e){const n=this.axis,t=this.chart,i=this.options,{grid:r,position:o}=i,s=r.offset,l=this.isHorizontal(),d=this.ticks.length+(s?1:0),c=W(r),u=[],h=r.setContext(this.getContext()),p=h.drawBorder?h.borderWidth:0,f=p/2,m=function(e){return Object(a.k)(t,e,p)};let g,b,v,y,x,C,T,D,w,O,k,S;if("top"===o)g=m(this.bottom),C=this.bottom-c,D=g-f,O=m(e.top)+f,S=e.bottom;else if("bottom"===o)g=m(this.top),O=e.top,S=m(e.bottom)-f,C=g+f,D=this.top+c;else if("left"===o)g=m(this.right),x=this.right-c,T=g-f,w=m(e.left)+f,k=e.right;else if("right"===o)g=m(this.left),w=e.left,k=m(e.right)-f,x=g+f,T=this.left+c;else if("x"===n){if("center"===o)g=m((e.top+e.bottom)/2+.5);else if(Object(a.Kb)(o)){const e=Object.keys(o)[0],n=o[e];g=m(this.chart.scales[e].getPixelForValue(n))}O=e.top,S=e.bottom,C=g+f,D=C+c}else if("y"===n){if("center"===o)g=m((e.left+e.right)/2);else if(Object(a.Kb)(o)){const e=Object.keys(o)[0],n=o[e];g=m(this.chart.scales[e].getPixelForValue(n))}x=g-f,T=x-c,w=e.left,k=e.right}const P=Object(a.Xb)(i.ticks.maxTicksLimit,d),A=Math.max(1,Math.ceil(d/P));for(b=0;bn.value===e);if(t>=0){return n.setContext(this.getContext(t)).lineWidth}return 0}drawGrid(e){const n=this.options.grid,t=this.ctx,a=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let i,r;const o=(e,n,a)=>{a.width&&a.color&&(t.save(),t.lineWidth=a.width,t.strokeStyle=a.color,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset,t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(n.x,n.y),t.stroke(),t.restore())};if(n.display)for(i=0,r=a.length;i{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:t+1,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]:[{z:n,draw:e=>{this.draw(e)}}]}getMatchingVisibleMetas(e){const n=this.chart.getSortedVisibleDatasetMetas(),t=this.axis+"AxisID",a=[];let i,r;for(i=0,r=n.length;i{const i=t.split("."),r=i.pop(),o=[e].concat(i).join("."),s=n[t].split("."),l=s.pop(),d=s.join(".");a.Fb.route(o,r,d,l)})}(n,e.defaultRoutes);e.descriptors&&a.Fb.describe(n,e.descriptors)}(e,o,t),this.override&&a.Fb.override(e.id,e.overrides)),o}get(e){return this.items[e]}unregister(e){const n=this.items,t=e.id,i=this.scope;t in n&&delete n[t],i&&t in a.Fb[i]&&(delete a.Fb[i][t],this.override&&delete a.v[t])}}var X=new class{constructor(){this.controllers=new q(x,"datasets",!0),this.elements=new q(j,"elements"),this.plugins=new q(Object,"plugins"),this.scales=new q(G,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,n,t){[...n].forEach(n=>{const i=t||this._getRegistryForType(n);t||i.isForType(n)||i===this.plugins&&n.id?this._exec(e,i,n):Object(a.r)(n,n=>{const a=t||this._getRegistryForType(n);this._exec(e,a,n)})})}_exec(e,n,t){const i=Object(a.x)(e);Object(a.d)(t["before"+i],[],t),n[e](t),Object(a.d)(t["after"+i],[],t)}_getRegistryForType(e){for(let n=0;n0&&this.getParsed(n-1);for(let c=n;c0&&Math.abs(t[p]-y[p])>b,g&&(m.parsed=t,m.raw=d.data[c]),h&&(m.options=u||this.resolveDataElementOptions(c,n.active?"active":i)),v||this.updateElement(n,c,m,i),y=t}this.updateSharedOptions(u,i,c)}getMaxOverflow(){const e=this._cachedMeta,n=e.data||[];if(!this.options.showLine){let e=0;for(let t=n.length-1;t>=0;--t)e=Math.max(e,n[t].size(this.resolveDataElementOptions(t))/2);return e>0&&e}const t=e.dataset,a=t.options&&t.options.borderWidth||0;if(!n.length)return a;const i=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(a,i,r)/2}}J.id="scatter",J.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},J.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:e=>"("+e.label+", "+e.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Z=Object.freeze({__proto__:null,BarController:A,BubbleController:R,DoughnutController:I,LineController:_,PolarAreaController:L,PieController:E,RadarController:M,ScatterController:J});function K(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Q{constructor(e){this.options=e||{}}init(e){}formats(){return K()}parse(e,n){return K()}format(e,n){return K()}add(e,n,t){return K()}diff(e,n,t){return K()}startOf(e,n,t){return K()}endOf(e,n){return K()}}Q.override=function(e){Object.assign(Q.prototype,e)};var ee={_date:Q};function ne(e,n,t,i){const{controller:r,data:o,_sorted:s}=e,l=r._cachedMeta.iScale;if(l&&n===l.axis&&"r"!==n&&s&&o.length){const e=l._reversePixels?a.z:a.A;if(!i)return e(o,n,t);if(r._sharedOptions){const a=o[0],i="function"==typeof a.getRange&&a.getRange(n);if(i){const a=e(o,n,t-i),r=e(o,n,t+i);return{lo:a.lo,hi:r.hi}}}}return{lo:0,hi:o.length-1}}function te(e,n,t,a,i){const r=e.getSortedVisibleDatasetMetas(),o=t[n];for(let e=0,t=r.length;e{e[o](n[t],i)&&(r.push({element:e,datasetIndex:a,index:l}),s=s||e.inRange(n.x,n.y,i))}),a&&!s?[]:r}var se={evaluateInteractionItems:te,modes:{index(e,n,t,i){const r=Object(a.y)(n,e),o=t.axis||"x",s=t.includeInvisible||!1,l=t.intersect?ae(e,r,o,i,s):re(e,r,o,!1,i,s),d=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{const n=l[0].index,t=e.data[n];t&&!t.skip&&d.push({element:t,datasetIndex:e.index,index:n})}),d):[]},dataset(e,n,t,i){const r=Object(a.y)(n,e),o=t.axis||"xy",s=t.includeInvisible||!1;let l=t.intersect?ae(e,r,o,i,s):re(e,r,o,!1,i,s);if(l.length>0){const n=l[0].datasetIndex,t=e.getDatasetMeta(n).data;l=[];for(let e=0;eae(e,Object(a.y)(n,e),t.axis||"xy",i,t.includeInvisible||!1),nearest(e,n,t,i){const r=Object(a.y)(n,e),o=t.axis||"xy",s=t.includeInvisible||!1;return re(e,r,o,t.intersect,i,s)},x:(e,n,t,i)=>oe(e,Object(a.y)(n,e),"x",t.intersect,i),y:(e,n,t,i)=>oe(e,Object(a.y)(n,e),"y",t.intersect,i)}};const le=["left","top","right","bottom"];function de(e,n){return e.filter(e=>e.pos===n)}function ce(e,n){return e.filter(e=>-1===le.indexOf(e.pos)&&e.box.axis===n)}function ue(e,n){return e.sort((e,t)=>{const a=n?t:e,i=n?e:t;return a.weight===i.weight?a.index-i.index:a.weight-i.weight})}function he(e,n){const t=function(e){const n={};for(const t of e){const{stack:e,pos:a,stackWeight:i}=t;if(!e||!le.includes(a))continue;const r=n[e]||(n[e]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=i}return n}(e),{vBoxMaxWidth:a,hBoxMaxHeight:i}=n;let r,o,s;for(r=0,o=e.length;r{a[e]=Math.max(n[e],t[e])}),a}return a(e?["left","right"]:["top","bottom"])}function be(e,n,t,a){const i=[];let r,o,s,l,d,c;for(r=0,o=e.length,d=0;re.box.fullSize),!0),a=ue(de(n,"left"),!0),i=ue(de(n,"right")),r=ue(de(n,"top"),!0),o=ue(de(n,"bottom")),s=ce(n,"x"),l=ce(n,"y");return{fullSize:t,leftAndTop:a.concat(r),rightAndBottom:i.concat(l).concat(o).concat(s),chartArea:de(n,"chartArea"),vertical:a.concat(i).concat(l),horizontal:r.concat(o).concat(s)}}(e.boxes),d=l.vertical,c=l.horizontal;Object(a.r)(e.boxes,e=>{"function"==typeof e.beforeLayout&&e.beforeLayout()});const u=d.reduce((e,n)=>n.box.options&&!1===n.box.options.display?e:e+1,0)||1,h=Object.freeze({outerWidth:n,outerHeight:t,padding:r,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/u,hBoxMaxHeight:s/2}),p=Object.assign({},r);fe(p,Object(a.l)(i));const f=Object.assign({maxPadding:p,w:o,h:s,x:r.left,y:r.top},r),m=he(d.concat(c),h);be(l.fullSize,f,h,m),be(d,f,h,m),be(c,f,h,m)&&be(d,f,h,m),function(e){const n=e.maxPadding;function t(t){const a=Math.max(n[t]-e[t],0);return e[t]+=a,a}e.y+=t("top"),e.x+=t("left"),t("right"),t("bottom")}(f),ye(l.leftAndTop,f,h,m),f.x+=f.w,f.y+=f.h,ye(l.rightAndBottom,f,h,m),e.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},Object(a.r)(l.chartArea,n=>{const t=n.box;Object.assign(t,e.chartArea),t.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class Ce{acquireContext(e,n){}releaseContext(e){return!1}addEventListener(e,n,t){}removeEventListener(e,n,t){}getDevicePixelRatio(){return 1}getMaximumSize(e,n,t,a){return n=Math.max(0,n||e.width),t=t||e.height,{width:n,height:Math.max(0,a?Math.floor(n/a):t)}}isAttached(e){return!0}updateConfig(e){}}class Te extends Ce{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const De={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},we=e=>null===e||""===e;const Oe=!!a.I&&{passive:!0};function ke(e,n,t){e.canvas.removeEventListener(n,t,Oe)}function Se(e,n){for(const t of e)if(t===n||t.contains(n))return!0}function Pe(e,n,t){const a=e.canvas,i=new MutationObserver(e=>{let n=!1;for(const t of e)n=n||Se(t.addedNodes,a),n=n&&!Se(t.removedNodes,a);n&&t()});return i.observe(document,{childList:!0,subtree:!0}),i}function Ae(e,n,t){const a=e.canvas,i=new MutationObserver(e=>{let n=!1;for(const t of e)n=n||Se(t.removedNodes,a),n=n&&!Se(t.addedNodes,a);n&&t()});return i.observe(document,{childList:!0,subtree:!0}),i}const Re=new Map;let Ie=0;function _e(){const e=window.devicePixelRatio;e!==Ie&&(Ie=e,Re.forEach((n,t)=>{t.currentDevicePixelRatio!==e&&n()}))}function Le(e,n,t){const i=e.canvas,r=i&&Object(a.F)(i);if(!r)return;const o=Object(a.H)((e,n)=>{const a=r.clientWidth;t(e,n),a{const n=e[0],t=n.contentRect.width,a=n.contentRect.height;0===t&&0===a||o(t,a)});return s.observe(r),function(e,n){Re.size||window.addEventListener("resize",_e),Re.set(e,n)}(e,o),s}function Ee(e,n,t){t&&t.disconnect(),"resize"===n&&function(e){Re.delete(e),Re.size||window.removeEventListener("resize",_e)}(e)}function Me(e,n,t){const i=e.canvas,r=Object(a.H)(n=>{null!==e.ctx&&t(function(e,n){const t=De[e.type]||e.type,{x:i,y:r}=Object(a.y)(e,n);return{type:t,chart:n,native:e,x:void 0!==i?i:null,y:void 0!==r?r:null}}(n,e))},e,e=>{const n=e[0];return[n,n.offsetX,n.offsetY]});return function(e,n,t){e.addEventListener(n,t,Oe)}(i,n,r),r}class je extends Ce{acquireContext(e,n){const t=e&&e.getContext&&e.getContext("2d");return t&&t.canvas===e?(function(e,n){const t=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e.$chartjs={initial:{height:i,width:r,style:{display:t.display,height:t.height,width:t.width}}},t.display=t.display||"block",t.boxSizing=t.boxSizing||"border-box",we(r)){const n=Object(a.G)(e,"width");void 0!==n&&(e.width=n)}if(we(i))if(""===e.style.height)e.height=e.width/(n||2);else{const n=Object(a.G)(e,"height");void 0!==n&&(e.height=n)}}(e,n),t):null}releaseContext(e){const n=e.canvas;if(!n.$chartjs)return!1;const t=n.$chartjs.initial;["height","width"].forEach(e=>{const i=t[e];Object(a.Mb)(i)?n.removeAttribute(e):n.setAttribute(e,i)});const i=t.style||{};return Object.keys(i).forEach(e=>{n.style[e]=i[e]}),n.width=n.width,delete n.$chartjs,!0}addEventListener(e,n,t){this.removeEventListener(e,n);const a=e.$proxies||(e.$proxies={}),i={attach:Pe,detach:Ae,resize:Le}[n]||Me;a[n]=i(e,n,t)}removeEventListener(e,n){const t=e.$proxies||(e.$proxies={}),a=t[n];if(!a)return;({attach:Ee,detach:Ee,resize:Ee}[n]||ke)(e,n,a),t[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,n,t,i){return Object(a.E)(e,n,t,i)}isAttached(e){const n=Object(a.F)(e);return!(!n||!n.isConnected)}}class Ue{constructor(){this._init=[]}notify(e,n,t,a){"beforeInit"===n&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,"install"));const i=a?this._descriptors(e).filter(a):this._descriptors(e),r=this._notify(i,e,n,t);return"afterDestroy"===n&&(this._notify(i,e,"stop"),this._notify(this._init,e,"uninstall")),r}_notify(e,n,t,i){i=i||{};for(const r of e){const e=r.plugin,o=e[t],s=[n,i,r.options];if(!1===Object(a.d)(o,s,e)&&i.cancelable)return!1}return!0}invalidate(){Object(a.Mb)(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),n}_createDescriptors(e,n){const t=e&&e.config,i=Object(a.Xb)(t.options&&t.options.plugins,{}),r=function(e){const n={},t=[],a=Object.keys(X.plugins.items);for(let e=0;ee.filter(e=>!n.some(n=>e.plugin.id===n.plugin.id));this._notify(a(n,t),e,"stop"),this._notify(a(t,n),e,"start")}}function Ne(e,n){return n||!1!==e?!0===e?{}:e:null}function Be(e,{plugin:n,local:t},a,i){const r=e.pluginScopeKeys(n),o=e.getOptionScopes(a,r);return t&&n.defaults&&o.push(n.defaults),e.createResolver(o,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Fe(e,n){const t=a.Fb.datasets[e]||{};return((n.datasets||{})[e]||{}).indexAxis||n.indexAxis||t.indexAxis||"x"}function ze(e,n){return"x"===e||"y"===e?e:n.axis||("top"===(t=n.position)||"bottom"===t?"x":"left"===t||"right"===t?"y":void 0)||e.charAt(0).toLowerCase();var t}function He(e){const n=e.options||(e.options={});n.plugins=Object(a.Xb)(n.plugins,{}),n.scales=function(e,n){const t=a.v[e.type]||{scales:{}},i=n.scales||{},r=Fe(e.type,n),o=Object.create(null),s=Object.create(null);return Object.keys(i).forEach(e=>{const n=i[e];if(!Object(a.Kb)(n))return console.error("Invalid scale configuration for scale: "+e);if(n._proxy)return console.warn("Ignoring resolver passed as options for scale: "+e);const l=ze(e,n),d=function(e,n){return e===n?"_index_":"_value_"}(l,r),c=t.scales||{};o[l]=o[l]||e,s[e]=Object(a.fb)(Object.create(null),[{axis:l},n,c[l],c[d]])}),e.data.datasets.forEach(t=>{const r=t.type||e.type,l=t.indexAxis||Fe(r,n),d=(a.v[r]||{}).scales||{};Object.keys(d).forEach(e=>{const n=function(e,n){let t=e;return"_index_"===e?t=n:"_value_"===e&&(t="x"===n?"y":"x"),t}(e,l),r=t[n+"AxisID"]||o[n]||n;s[r]=s[r]||Object.create(null),Object(a.fb)(s[r],[{axis:n},i[r],d[e]])})}),Object.keys(s).forEach(e=>{const n=s[e];Object(a.fb)(n,[a.Fb.scales[n.type],a.Fb.scale])}),s}(e,n)}function Ve(e){return(e=e||{}).datasets=e.datasets||[],e.labels=e.labels||[],e}const We=new Map,Ye=new Set;function $e(e,n){let t=We.get(e);return t||(t=n(),We.set(e,t),Ye.add(t)),t}const Ge=(e,n,t)=>{const i=Object(a.Hb)(n,t);void 0!==i&&e.add(i)};class qe{constructor(e){this._config=function(e){return(e=e||{}).data=Ve(e.data),He(e),e}(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=Ve(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),He(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return $e(e,()=>[["datasets."+e,""]])}datasetAnimationScopeKeys(e,n){return $e(`${e}.transition.${n}`,()=>[[`datasets.${e}.transitions.${n}`,"transitions."+n],["datasets."+e,""]])}datasetElementScopeKeys(e,n){return $e(`${e}-${n}`,()=>[[`datasets.${e}.elements.${n}`,"datasets."+e,"elements."+n,""]])}pluginScopeKeys(e){const n=e.id;return $e(`${this.type}-plugin-${n}`,()=>[["plugins."+n,...e.additionalOptionScopes||[]]])}_cachedScopes(e,n){const t=this._scopeCache;let a=t.get(e);return a&&!n||(a=new Map,t.set(e,a)),a}getOptionScopes(e,n,t){const{options:i,type:r}=this,o=this._cachedScopes(e,t),s=o.get(n);if(s)return s;const l=new Set;n.forEach(n=>{e&&(l.add(e),n.forEach(n=>Ge(l,e,n))),n.forEach(e=>Ge(l,i,e)),n.forEach(e=>Ge(l,a.v[r]||{},e)),n.forEach(e=>Ge(l,a.Fb,e)),n.forEach(e=>Ge(l,a.K,e))});const d=Array.from(l);return 0===d.length&&d.push(Object.create(null)),Ye.has(n)&&o.set(n,d),d}chartOptionScopes(){const{options:e,type:n}=this;return[e,a.v[n]||{},a.Fb.datasets[n]||{},{type:n},a.Fb,a.K]}resolveNamedOptions(e,n,t,i=[""]){const r={$shared:!0},{resolver:o,subPrefixes:s}=Xe(this._resolverCache,e,i);let l=o;if(function(e,n){const{isScriptable:t,isIndexable:i}=Object(a.eb)(e);for(const r of n){const n=t(r),o=i(r),s=(o||n)&&e[r];if(n&&(Object(a.L)(s)||Je(s))||o&&Object(a.Db)(s))return!0}return!1}(o,n)){r.$shared=!1,t=Object(a.L)(t)?t():t;const n=this.createResolver(e,t,s);l=Object(a.M)(o,t,n)}for(const e of n)r[e]=l[e];return r}createResolver(e,n,t=[""],i){const{resolver:r}=Xe(this._resolverCache,e,t);return Object(a.Kb)(n)?Object(a.M)(r,n,void 0,i):r}}function Xe(e,n,t){let i=e.get(n);i||(i=new Map,e.set(n,i));const r=t.join();let o=i.get(r);if(!o){o={resolver:Object(a.db)(n,t),subPrefixes:t.filter(e=>!e.toLowerCase().includes("hover"))},i.set(r,o)}return o}const Je=e=>Object(a.Kb)(e)&&Object.getOwnPropertyNames(e).reduce((n,t)=>n||Object(a.L)(e[t]),!1);const Ze=["top","bottom","left","right","chartArea"];function Ke(e,n){return"top"===e||"bottom"===e||-1===Ze.indexOf(e)&&"x"===n}function Qe(e,n){return function(t,a){return t[e]===a[e]?t[n]-a[n]:t[e]-a[e]}}function en(e){const n=e.chart,t=n.options.animation;n.notifyPlugins("afterRender"),Object(a.d)(t&&t.onComplete,[e],n)}function nn(e){const n=e.chart,t=n.options.animation;Object(a.d)(t&&t.onProgress,[e],n)}function tn(e){return Object(a.J)()&&"string"==typeof e?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const an={},rn=e=>{const n=tn(e);return Object.values(an).filter(e=>e.canvas===n).pop()};function on(e,n,t){const a=Object.keys(e);for(const i of a){const a=+i;if(a>=n){const r=e[i];delete e[i],(t>0||a>n)&&(e[a+t]=r)}}}class sn{constructor(e,n){const t=this.config=new qe(n),r=tn(e),o=rn(r);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const s=t.createResolver(t.chartOptionScopes(),this.getContext());this.platform=new(t.platform||function(e){return!Object(a.J)()||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?Te:je}(r)),this.platform.updateConfig(t);const l=this.platform.acquireContext(r,s.aspectRatio),d=l&&l.canvas,c=d&&d.height,u=d&&d.width;this.id=Object(a.gb)(),this.ctx=l,this.canvas=d,this.width=u,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ue,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Object(a.hb)(e=>this.update(e),s.resizeDelay||0),this._dataChanges=[],an[this.id]=this,l&&d?(i.listen(this,"complete",en),i.listen(this,"progress",nn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:n},width:t,height:i,_aspectRatio:r}=this;return Object(a.Mb)(e)?n&&r?r:i?t/i:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Object(a.ib)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Object(a.jb)(this.canvas,this.ctx),this}stop(){return i.stop(this),this}resize(e,n){i.running(this)?this._resizeBeforeDraw={width:e,height:n}:this._resize(e,n)}_resize(e,n){const t=this.options,i=this.canvas,r=t.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(i,e,n,r),s=t.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Object(a.ib)(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),Object(a.d)(t.onResize,[this,o],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Object(a.r)(e,(e,n)=>{e.id=n})}buildOrUpdateScales(){const e=this.options,n=e.scales,t=this.scales,i=Object.keys(t).reduce((e,n)=>(e[n]=!1,e),{});let r=[];n&&(r=r.concat(Object.keys(n).map(e=>{const t=n[e],a=ze(e,t),i="r"===a,r="x"===a;return{options:t,dposition:i?"chartArea":r?"bottom":"left",dtype:i?"radialLinear":r?"category":"linear"}}))),Object(a.r)(r,n=>{const r=n.options,o=r.id,s=ze(o,r),l=Object(a.Xb)(r.type,n.dtype);void 0!==r.position&&Ke(r.position,s)===Ke(n.dposition)||(r.position=n.dposition),i[o]=!0;let d=null;if(o in t&&t[o].type===l)d=t[o];else{d=new(X.getScale(l))({id:o,type:l,ctx:this.ctx,chart:this}),t[d.id]=d}d.init(r,e)}),Object(a.r)(i,(e,n)=>{e||delete t[n]}),Object(a.r)(t,e=>{xe.configure(this,e,e.options),xe.addBox(this,e)})}_updateMetasets(){const e=this._metasets,n=this.data.datasets.length,t=e.length;if(e.sort((e,n)=>e.index-n.index),t>n){for(let e=n;en.length&&delete this._stacks,e.forEach((e,t)=>{0===n.filter(n=>n===e._dataset).length&&this._destroyDatasetMeta(t)})}buildOrUpdateControllers(){const e=[],n=this.data.datasets;let t,i;for(this._removeUnreferencedMetasets(),t=0,i=n.length;t{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const n=this.config;n.update();const t=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!t.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const r=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let e=0,n=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Qe("z","_idx"));const{_active:s,_lastEvent:l}=this;l?this._eventHandler(l,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){Object(a.r)(this.scales,e=>{xe.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,n=new Set(Object.keys(this._listeners)),t=new Set(e.events);Object(a.kb)(n,t)&&!!this._responsiveListeners===e.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,n=this._getUniformDataChanges()||[];for(const{method:t,start:a,count:i}of n){on(e,a,"_removeElements"===t?-i:i)}}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const n=this.data.datasets.length,t=n=>new Set(e.filter(e=>e[0]===n).map((e,n)=>n+","+e.splice(1).join(","))),i=t(0);for(let e=1;ee.split(",")).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;xe.update(this,this.width,this.height,e);const n=this.chartArea,t=n.width<=0||n.height<=0;this._layers=[],Object(a.r)(this.boxes,e=>{t&&"chartArea"===e.position||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,n)=>{e._idx=n}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let e=0,n=this.data.datasets.length;e=0;--n)this._drawDataset(e[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const n=this.ctx,t=e._clip,i=!t.disabled,r=this.chartArea,o={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(i&&Object(a.m)(n,{left:!1===t.left?0:r.left-t.left,right:!1===t.right?this.width:r.right+t.right,top:!1===t.top?0:r.top-t.top,bottom:!1===t.bottom?this.height:r.bottom+t.bottom}),e.controller.draw(),i&&Object(a.o)(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(e){return Object(a.a)(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,n,t,a){const i=se.modes[n];return"function"==typeof i?i(this,e,t,a):[]}getDatasetMeta(e){const n=this.data.datasets[e],t=this._metasets;let a=t.filter(e=>e&&e._dataset===n).pop();return a||(a={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:e,_dataset:n,_parsed:[],_sorted:!1},t.push(a)),a}getContext(){return this.$context||(this.$context=Object(a.Jb)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const n=this.data.datasets[e];if(!n)return!1;const t=this.getDatasetMeta(e);return"boolean"==typeof t.hidden?!t.hidden:!n.hidden}setDatasetVisibility(e,n){this.getDatasetMeta(e).hidden=!n}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,n,t){const i=t?"show":"hide",r=this.getDatasetMeta(e),o=r.controller._resolveAnimations(void 0,i);Object(a.Lb)(n)?(r.data[n].hidden=!t,this.update()):(this.setDatasetVisibility(e,t),o.update(r,{visible:t}),this.update(n=>n.datasetIndex===e?i:void 0))}hide(e,n){this._updateVisibility(e,n,!1)}show(e,n){this._updateVisibility(e,n,!0)}_destroyDatasetMeta(e){const n=this._metasets[e];n&&n.controller&&n.controller._destroy(),delete this._metasets[e]}_stop(){let e,n;for(this.stop(),i.remove(this),e=0,n=this.data.datasets.length;e{n.addEventListener(this,t,a),e[t]=a},i=(e,n,t)=>{e.offsetX=n,e.offsetY=t,this._eventHandler(e)};Object(a.r)(this.options.events,e=>t(e,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,n=this.platform,t=(t,a)=>{n.addEventListener(this,t,a),e[t]=a},a=(t,a)=>{e[t]&&(n.removeEventListener(this,t,a),delete e[t])},i=(e,n)=>{this.canvas&&this.resize(e,n)};let r;const o=()=>{a("attach",o),this.attached=!0,this.resize(),t("resize",i),t("detach",r)};r=()=>{this.attached=!1,a("resize",i),this._stop(),this._resize(0,0),t("attach",o)},n.isAttached(this.canvas)?o():r()}unbindEvents(){Object(a.r)(this._listeners,(e,n)=>{this.platform.removeEventListener(this,n,e)}),this._listeners={},Object(a.r)(this._responsiveListeners,(e,n)=>{this.platform.removeEventListener(this,n,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,n,t){const a=t?"set":"remove";let i,r,o,s;for("dataset"===n&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller["_"+a+"DatasetHoverStyle"]()),o=0,s=e.length;o{const t=this.getDatasetMeta(e);if(!t)throw new Error("No dataset found at index "+e);return{datasetIndex:e,element:t.data[n],index:n}});!Object(a.lb)(t,n)&&(this._active=t,this._lastEvent=null,this._updateHoverStyles(t,n))}notifyPlugins(e,n,t){return this._plugins.notify(this,e,n,t)}_updateHoverStyles(e,n,t){const a=this.options.hover,i=(e,n)=>e.filter(e=>!n.some(n=>e.datasetIndex===n.datasetIndex&&e.index===n.index)),r=i(n,e),o=t?e:i(e,n);r.length&&this.updateHoverStyle(r,a.mode,!1),o.length&&a.mode&&this.updateHoverStyle(o,a.mode,!0)}_eventHandler(e,n){const t={event:e,replay:n,cancelable:!0,inChartArea:this.isPointInArea(e)},a=n=>(n.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",t,a))return;const i=this._handleEvent(e,n,t.inChartArea);return t.cancelable=!1,this.notifyPlugins("afterEvent",t,a),(i||t.changed)&&this.render(),this}_handleEvent(e,n,t){const{_active:i=[],options:r}=this,o=n,s=this._getActiveElements(e,i,t,o),l=Object(a.mb)(e),d=function(e,n,t,a){return t&&"mouseout"!==e.type?a?n:e:null}(e,this._lastEvent,t,l);t&&(this._lastEvent=null,Object(a.d)(r.onHover,[e,s,this],this),l&&Object(a.d)(r.onClick,[e,s,this],this));const c=!Object(a.lb)(s,i);return(c||n)&&(this._active=s,this._updateHoverStyles(s,i,n)),this._lastEvent=d,c}_getActiveElements(e,n,t,a){if("mouseout"===e.type)return[];if(!t)return n;const i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,a)}}const ln=()=>Object(a.r)(sn.instances,e=>e._plugins.invalidate());function dn(e,n,t){const{startAngle:i,pixelMargin:r,x:o,y:s,outerRadius:l,innerRadius:d}=n;let c=r/l;e.beginPath(),e.arc(o,s,l,i-c,t+c),d>r?(c=r/d,e.arc(o,s,d,t+c,i-c,!0)):e.arc(o,s,r,t+a.i,i-a.i),e.closePath(),e.clip()}function cn(e,n,t,i){const r=(o=e.options.borderRadius,Object(a.ob)(o,["outerStart","outerEnd","innerStart","innerEnd"]));var o;const s=(t-n)/2,l=Math.min(s,i*n/2),d=e=>{const n=(t-Math.min(s,e))*i/2;return Object(a.f)(e,0,Math.min(s,n))};return{outerStart:d(r.outerStart),outerEnd:d(r.outerEnd),innerStart:Object(a.f)(r.innerStart,0,l),innerEnd:Object(a.f)(r.innerEnd,0,l)}}function un(e,n,t,a){return{x:t+e*Math.cos(n),y:a+e*Math.sin(n)}}function hn(e,n,t,i,r,o){const{x:s,y:l,startAngle:d,pixelMargin:c,innerRadius:u}=n,h=Math.max(n.outerRadius+i+t-c,0),p=u>0?u+i+t+c:0;let f=0;const m=r-d;if(i){const e=((u>0?u-i:0)+(h>0?h-i:0))/2;f=(m-(0!==e?m*e/(e+i):m))/2}const g=(m-Math.max(.001,m*h-t/a.q)/h)/2,b=d+g+f,v=r-g-f,{outerStart:y,outerEnd:x,innerStart:C,innerEnd:T}=cn(n,p,h,v-b),D=h-y,w=h-x,O=b+y/D,k=v-x/w,S=p+C,P=p+T,A=b+C/S,R=v-T/P;if(e.beginPath(),o){if(e.arc(s,l,h,O,k),x>0){const n=un(w,k,s,l);e.arc(n.x,n.y,x,k,v+a.i)}const n=un(P,v,s,l);if(e.lineTo(n.x,n.y),T>0){const n=un(P,R,s,l);e.arc(n.x,n.y,T,v+a.i,R+Math.PI)}if(e.arc(s,l,p,v-T/p,b+C/p,!0),C>0){const n=un(S,A,s,l);e.arc(n.x,n.y,C,A+Math.PI,b-a.i)}const t=un(D,b,s,l);if(e.lineTo(t.x,t.y),y>0){const n=un(D,O,s,l);e.arc(n.x,n.y,y,b-a.i,O)}}else{e.moveTo(s,l);const n=Math.cos(O)*h+s,t=Math.sin(O)*h+l;e.lineTo(n,t);const a=Math.cos(k)*h+s,i=Math.sin(k)*h+l;e.lineTo(a,i)}e.closePath()}function pn(e,n,t,i,r,o){const{options:s}=n,{borderWidth:l,borderJoinStyle:d}=s,c="inner"===s.borderAlign;l&&(c?(e.lineWidth=2*l,e.lineJoin=d||"round"):(e.lineWidth=l,e.lineJoin=d||"bevel"),n.fullCircles&&function(e,n,t){const{x:i,y:r,startAngle:o,pixelMargin:s,fullCircles:l}=n,d=Math.max(n.outerRadius-s,0),c=n.innerRadius+s;let u;for(t&&dn(e,n,o+a.u),e.beginPath(),e.arc(i,r,c,o+a.u,o,!0),u=0;u{X.add(...e),ln()}},unregister:{enumerable:!0,value:(...e)=>{X.remove(...e),ln()}}});class fn extends j{constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,n,t){const i=this.getProps(["x","y"],t),{angle:r,distance:o}=Object(a.D)(i,{x:e,y:n}),{startAngle:s,endAngle:l,innerRadius:d,outerRadius:c,circumference:u}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],t),h=this.options.spacing/2,p=Object(a.Xb)(u,l-s)>=a.u||Object(a.Rb)(r,s,l),f=Object(a.nb)(o,d+h,c+h);return p&&f}getCenterPoint(e){const{x:n,y:t,startAngle:a,endAngle:i,innerRadius:r,outerRadius:o}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],e),{offset:s,spacing:l}=this.options,d=(a+i)/2,c=(r+o+l+s)/2;return{x:n+Math.cos(d)*c,y:t+Math.sin(d)*c}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:n,circumference:t}=this,i=(n.offset||0)/2,r=(n.spacing||0)/2,o=n.circular;if(this.pixelMargin="inner"===n.borderAlign?.33:0,this.fullCircles=t>a.u?Math.floor(t/a.u):0,0===t||this.innerRadius<0||this.outerRadius<0)return;e.save();let s=0;if(i){s=i/2;const n=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(n)*s,Math.sin(n)*s),this.circumference>=a.q&&(s=i)}e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor;const l=function(e,n,t,i,r){const{fullCircles:o,startAngle:s,circumference:l}=n;let d=n.endAngle;if(o){hn(e,n,t,i,s+a.u,r);for(let n=0;ns&&r>s;return{count:a,start:l,loop:n.loop,ilen:d(o+(d?s-e:e))%r,y=()=>{p!==f&&(e.lineTo(g,f),e.lineTo(g,p),e.lineTo(g,m))};for(l&&(u=i[v(0)],e.moveTo(u.x,u.y)),c=0;c<=s;++c){if(u=i[v(c)],u.skip)continue;const n=u.x,t=u.y,a=0|n;a===h?(tf&&(f=t),g=(b*g+n)/++b):(y(),e.lineTo(n,t),h=a,b=0,p=f=t),m=t}y()}function xn(e){const n=e.options,t=n.borderDash&&n.borderDash.length;return!(e._decimated||e._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||t)?yn:vn}fn.id="arc",fn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},fn.defaultRoutes={backgroundColor:"backgroundColor"};const Cn="function"==typeof Path2D;function Tn(e,n,t,a){Cn&&!n.options.segment?function(e,n,t,a){let i=n._path;i||(i=n._path=new Path2D,n.path(i,t,a)&&i.closePath()),mn(e,n.options),e.stroke(i)}(e,n,t,a):function(e,n,t,a){const{segments:i,options:r}=n,o=xn(n);for(const s of i)mn(e,r,s.style),e.beginPath(),o(e,n,s,{start:t,end:t+a-1})&&e.closePath(),e.stroke()}(e,n,t,a)}class Dn extends j{constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,n){const t=this.options;if((t.tension||"monotone"===t.cubicInterpolationMode)&&!t.stepped&&!this._pointsUpdated){const i=t.spanGaps?this._loop:this._fullLoop;Object(a.pb)(this._points,t,e,i,n),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Object(a.qb)(this,this.options.segment))}first(){const e=this.segments,n=this.points;return e.length&&n[e[0].start]}last(){const e=this.segments,n=this.points,t=e.length;return t&&n[e[t-1].end]}interpolate(e,n){const t=this.options,i=e[n],r=this.points,o=Object(a.rb)(this,{property:n,start:i,end:i});if(!o.length)return;const s=[],l=function(e){return e.stepped?a.sb:e.tension||"monotone"===e.cubicInterpolationMode?a.tb:a.ub}(t);let d,c;for(d=0,c=o.length;d"borderDash"!==e&&"fill"!==e};class On extends j{constructor(e){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,e&&Object.assign(this,e)}inRange(e,n,t){const a=this.options,{x:i,y:r}=this.getProps(["x","y"],t);return Math.pow(e-i,2)+Math.pow(n-r,2){En(e)})}var jn={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,n,t)=>{if(!t.enabled)return void Mn(e);const i=e.width;e.data.datasets.forEach((n,r)=>{const{_data:o,indexAxis:s}=n,l=e.getDatasetMeta(r),d=o||n.data;if("y"===Object(a.C)([s,e.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=e.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(e.options.parsing)return;let{start:u,count:h}=function(e,n){const t=n.length;let i,r=0;const{iScale:o}=e,{min:s,max:l,minDefined:d,maxDefined:c}=o.getUserBounds();return d&&(r=Object(a.f)(Object(a.A)(n,o.axis,s).lo,0,t-1)),i=c?Object(a.f)(Object(a.A)(n,o.axis,l).hi+1,r,t)-r:t-r,{start:r,count:i}}(l,d);if(h<=(t.threshold||4*i))return void En(n);let p;switch(Object(a.Mb)(o)&&(n._data=d,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}})),t.algorithm){case"lttb":p=function(e,n,t,a,i){const r=i.samples||a;if(r>=t)return e.slice(n,n+t);const o=[],s=(t-2)/(r-2);let l=0;const d=n+t-1;let c,u,h,p,f,m=n;for(o[l++]=e[m],c=0;ch&&(h=p,u=e[a],f=a);o[l++]=u,m=f}return o[l++]=e[d],o}(d,u,h,i,t);break;case"min-max":p=function(e,n,t,i){let r,o,s,l,d,c,u,h,p,f,m=0,g=0;const b=[],v=n+t-1,y=e[n].x,x=e[v].x-y;for(r=n;rf&&(f=l,u=r),m=(g*m+o.x)/++g;else{const t=r-1;if(!Object(a.Mb)(c)&&!Object(a.Mb)(u)){const n=Math.min(c,u),a=Math.max(c,u);n!==h&&n!==t&&b.push({...e[n],x:m}),a!==h&&a!==t&&b.push({...e[a],x:m})}r>0&&t!==h&&b.push(e[t]),b.push(o),d=n,g=0,p=f=l,c=u=h=r}}return b}(d,u,h,i);break;default:throw new Error(`Unsupported decimation algorithm '${t.algorithm}'`)}n._decimated=p})},destroy(e){Mn(e)}};function Un(e,n,t,i){if(i)return;let r=n[e],o=t[e];return"angle"===e&&(r=Object(a.Cb)(r),o=Object(a.Cb)(o)),{property:e,start:r,end:o}}function Nn(e,n,t){for(;n>e;n--){const e=t[n];if(!isNaN(e.x)&&!isNaN(e.y))break}return n}function Bn(e,n,t,a){return e&&n?a(e[t],n[t]):e?e[t]:n?n[t]:0}function Fn(e,n){let t=[],i=!1;return Object(a.Db)(e)?(i=!0,t=e):t=function(e,n){const{x:t=null,y:a=null}=e||{},i=n.points,r=[];return n.segments.forEach(({start:e,end:n})=>{n=Nn(e,n,i);const o=i[e],s=i[n];null!==a?(r.push({x:o.x,y:a}),r.push({x:s.x,y:a})):null!==t&&(r.push({x:t,y:o.y}),r.push({x:t,y:s.y}))}),r}(e,n),t.length?new Dn({points:t,options:{tension:0},_loop:i,_fullLoop:i}):null}function zn(e){return e&&!1!==e.fill}function Hn(e,n,t){let i=e[n].fill;const r=[n];let o;if(!t)return i;for(;!1!==i&&-1===r.indexOf(i);){if(!Object(a.Ib)(i))return i;if(o=e[i],!o)return!1;if(o.visible)return i;r.push(i),i=o.fill}return!1}function Vn(e,n,t){const i=function(e){const n=e.options,t=n.fill;let i=Object(a.Xb)(t&&t.target,t);void 0===i&&(i=!!n.backgroundColor);if(!1===i||null===i)return!1;if(!0===i)return"origin";return i}(e);if(Object(a.Kb)(i))return!isNaN(i.value)&&i;let r=parseFloat(i);return Object(a.Ib)(r)&&Math.floor(r)===r?function(e,n,t,a){"-"!==e&&"+"!==e||(t=n+t);if(t===n||t<0||t>=a)return!1;return t}(i[0],n,r,t):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Wn(e,n,t){const a=[];for(let i=0;i=0;--n){const t=i[n].$filler;t&&(t.line.updateControlPoints(r,t.axis),a&&t.fill&&qn(e.ctx,t,r))}},beforeDatasetsDraw(e,n,t){if("beforeDatasetsDraw"!==t.drawTime)return;const a=e.getSortedVisibleDatasetMetas();for(let n=a.length-1;n>=0;--n){const t=a[n].$filler;zn(t)&&qn(e.ctx,t,e.chartArea)}},beforeDatasetDraw(e,n,t){const a=n.meta.$filler;zn(a)&&"beforeDatasetDraw"===t.drawTime&&qn(e.ctx,a,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const et=(e,n)=>{let{boxHeight:t=n,boxWidth:a=n}=e;return e.usePointStyle&&(t=Math.min(t,n),a=e.pointStyleWidth||Math.min(a,n)),{boxWidth:a,boxHeight:t,itemHeight:Math.max(n,t)}};class nt extends j{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,n,t){this.maxWidth=e,this.maxHeight=n,this._margins=t,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let n=Object(a.d)(e.generateLabels,[this.chart],this)||[];e.filter&&(n=n.filter(n=>e.filter(n,this.chart.data))),e.sort&&(n=n.sort((n,t)=>e.sort(n,t,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:e,ctx:n}=this;if(!e.display)return void(this.width=this.height=0);const t=e.labels,i=Object(a.p)(t.font),r=i.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:l}=et(t,r);let d,c;n.font=i.string,this.isHorizontal()?(d=this.maxWidth,c=this._fitRows(o,r,s,l)+10):(c=this.maxHeight,d=this._fitCols(o,r,s,l)+10),this.width=Math.min(d,e.maxWidth||this.maxWidth),this.height=Math.min(c,e.maxHeight||this.maxHeight)}_fitRows(e,n,t,a){const{ctx:i,maxWidth:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.lineWidths=[0],d=a+o;let c=e;i.textAlign="left",i.textBaseline="middle";let u=-1,h=-d;return this.legendItems.forEach((e,p)=>{const f=t+n/2+i.measureText(e.text).width;(0===p||l[l.length-1]+f+2*o>r)&&(c+=d,l[l.length-(p>0?0:1)]=0,h+=d,u++),s[p]={left:0,top:h,row:u,width:f,height:a},l[l.length-1]+=f+o}),c}_fitCols(e,n,t,a){const{ctx:i,maxHeight:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.columnSizes=[],d=r-e;let c=o,u=0,h=0,p=0,f=0;return this.legendItems.forEach((e,r)=>{const m=t+n/2+i.measureText(e.text).width;r>0&&h+a+2*o>d&&(c+=u+o,l.push({width:u,height:h}),p+=u+o,f++,u=h=0),s[r]={left:p,top:h,col:f,width:m,height:a},u=Math.max(u,m),h+=a+o}),c+=u,l.push({width:u,height:h}),c}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:t,labels:{padding:i},rtl:r}}=this,o=Object(a.N)(r,this.left,this.width);if(this.isHorizontal()){let r=0,s=Object(a.t)(t,this.left+i,this.right-this.lineWidths[r]);for(const l of n)r!==l.row&&(r=l.row,s=Object(a.t)(t,this.left+i,this.right-this.lineWidths[r])),l.top+=this.top+e+i,l.left=o.leftForLtr(o.x(s),l.width),s+=l.width+i}else{let r=0,s=Object(a.t)(t,this.top+e+i,this.bottom-this.columnSizes[r].height);for(const l of n)l.col!==r&&(r=l.col,s=Object(a.t)(t,this.top+e+i,this.bottom-this.columnSizes[r].height)),l.top=s,l.left+=this.left+i,l.left=o.leftForLtr(o.x(l.left),l.width),s+=l.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Object(a.m)(e,this),this._draw(),Object(a.o)(e)}}_draw(){const{options:e,columnSizes:n,lineWidths:t,ctx:i}=this,{align:r,labels:o}=e,s=a.Fb.color,l=Object(a.N)(e.rtl,this.left,this.width),d=Object(a.p)(o.font),{color:c,padding:u}=o,h=d.size,p=h/2;let f;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=d.string;const{boxWidth:m,boxHeight:g,itemHeight:b}=et(o,h),v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:Object(a.t)(r,this.left+u,this.right-t[0]),y:this.top+u+y,line:0}:{x:this.left+u,y:Object(a.t)(r,this.top+y+u,this.bottom-n[0].height),line:0},Object(a.O)(this.ctx,e.textDirection);const x=b+u;this.legendItems.forEach((C,T)=>{i.strokeStyle=C.fontColor||c,i.fillStyle=C.fontColor||c;const D=i.measureText(C.text).width,w=l.textAlign(C.textAlign||(C.textAlign=o.textAlign)),O=m+p+D;let k=f.x,S=f.y;l.setWidth(this.width),v?T>0&&k+O+u>this.right&&(S=f.y+=x,f.line++,k=f.x=Object(a.t)(r,this.left+u,this.right-t[f.line])):T>0&&S+x>this.bottom&&(k=f.x=k+n[f.line].width+u,f.line++,S=f.y=Object(a.t)(r,this.top+y+u,this.bottom-n[f.line].height));!function(e,n,t){if(isNaN(m)||m<=0||isNaN(g)||g<0)return;i.save();const r=Object(a.Xb)(t.lineWidth,1);if(i.fillStyle=Object(a.Xb)(t.fillStyle,s),i.lineCap=Object(a.Xb)(t.lineCap,"butt"),i.lineDashOffset=Object(a.Xb)(t.lineDashOffset,0),i.lineJoin=Object(a.Xb)(t.lineJoin,"miter"),i.lineWidth=r,i.strokeStyle=Object(a.Xb)(t.strokeStyle,s),i.setLineDash(Object(a.Xb)(t.lineDash,[])),o.usePointStyle){const s={radius:g*Math.SQRT2/2,pointStyle:t.pointStyle,rotation:t.rotation,borderWidth:r},d=l.xPlus(e,m/2),c=n+p;Object(a.R)(i,s,d,c,o.pointStyleWidth&&m)}else{const o=n+Math.max((h-g)/2,0),s=l.leftForLtr(e,m),d=Object(a.Ab)(t.borderRadius);i.beginPath(),Object.values(d).some(e=>0!==e)?Object(a.yb)(i,{x:s,y:o,w:m,h:g,radius:d}):i.rect(s,o,m,g),i.fill(),0!==r&&i.stroke()}i.restore()}(l.x(k),S,C),k=Object(a.P)(w,k+m+p,v?k+O:this.right,e.rtl),function(e,n,t){Object(a.n)(i,t.text,e,n+b/2,d,{strikethrough:t.hidden,textAlign:l.textAlign(t.textAlign)})}(l.x(k),S,C),v?f.x+=O+u:f.y+=x}),Object(a.Q)(this.ctx,e.textDirection)}drawTitle(){const e=this.options,n=e.title,t=Object(a.p)(n.font),i=Object(a.l)(n.padding);if(!n.display)return;const r=Object(a.N)(e.rtl,this.left,this.width),o=this.ctx,s=n.position,l=t.size/2,d=i.top+l;let c,u=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+d,u=Object(a.t)(e.align,u,this.right-h);else{const n=this.columnSizes.reduce((e,n)=>Math.max(e,n.height),0);c=d+Object(a.t)(e.align,this.top,this.bottom-n-e.labels.padding-this._computeTitleHeight())}const p=Object(a.t)(s,u,u+h);o.textAlign=r.textAlign(Object(a.s)(s)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=t.string,Object(a.n)(o,n.text,p,c,t)}_computeTitleHeight(){const e=this.options.title,n=Object(a.p)(e.font),t=Object(a.l)(e.padding);return e.display?n.lineHeight+t.height:0}_getLegendItemAt(e,n){let t,i,r;if(Object(a.nb)(e,this.left,this.right)&&Object(a.nb)(n,this.top,this.bottom))for(r=this.legendHitBoxes,t=0;te.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const n=e.data.datasets,{labels:{usePointStyle:t,pointStyle:i,textAlign:r,color:o}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{const s=e.controller.getStyle(t?0:void 0),l=Object(a.l)(s.borderWidth);return{text:n[e.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!e.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:s.borderColor,pointStyle:i||s.pointStyle,rotation:s.rotation,textAlign:r||s.textAlign,borderRadius:0,datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class at extends j{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,n){const t=this.options;if(this.left=0,this.top=0,!t.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=n;const i=Object(a.Db)(t.text)?t.text.length:1;this._padding=Object(a.l)(t.padding);const r=i*Object(a.p)(t.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=r:this.width=r}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:n,left:t,bottom:i,right:r,options:o}=this,s=o.align;let l,d,c,u=0;return this.isHorizontal()?(d=Object(a.t)(s,t,r),c=n+e,l=r-t):("left"===o.position?(d=t+e,c=Object(a.t)(s,i,n),u=-.5*a.q):(d=r-e,c=Object(a.t)(s,n,i),u=.5*a.q),l=i-n),{titleX:d,titleY:c,maxWidth:l,rotation:u}}draw(){const e=this.ctx,n=this.options;if(!n.display)return;const t=Object(a.p)(n.font),i=t.lineHeight/2+this._padding.top,{titleX:r,titleY:o,maxWidth:s,rotation:l}=this._drawArgs(i);Object(a.n)(e,n.text,0,0,t,{color:n.color,maxWidth:s,rotation:l,textAlign:Object(a.s)(n.align),textBaseline:"middle",translation:[r,o]})}}var it={id:"title",_element:at,start(e,n,t){!function(e,n){const t=new at({ctx:e.ctx,options:n,chart:e});xe.configure(e,t,n),xe.addBox(e,t),e.titleBlock=t}(e,t)},stop(e){const n=e.titleBlock;xe.removeBox(e,n),delete e.titleBlock},beforeUpdate(e,n,t){const a=e.titleBlock;xe.configure(e,a,t),a.options=t},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const rt=new WeakMap;var ot={id:"subtitle",start(e,n,t){const a=new at({ctx:e.ctx,options:t,chart:e});xe.configure(e,a,t),xe.addBox(e,a),rt.set(e,a)},stop(e){xe.removeBox(e,rt.get(e)),rt.delete(e)},beforeUpdate(e,n,t){const a=rt.get(e);xe.configure(e,a,t),a.options=t},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const st={average(e){if(!e.length)return!1;let n,t,a=0,i=0,r=0;for(n=0,t=e.length;n-1?e.split("\n"):e}function ct(e,n){const{element:t,datasetIndex:a,index:i}=n,r=e.getDatasetMeta(a).controller,{label:o,value:s}=r.getLabelAndValue(i);return{chart:e,label:o,parsed:r.getParsed(i),raw:e.data.datasets[a].data[i],formattedValue:s,dataset:r.getDataset(),dataIndex:i,datasetIndex:a,element:t}}function ut(e,n){const t=e.chart.ctx,{body:i,footer:r,title:o}=e,{boxWidth:s,boxHeight:l}=n,d=Object(a.p)(n.bodyFont),c=Object(a.p)(n.titleFont),u=Object(a.p)(n.footerFont),h=o.length,p=r.length,f=i.length,m=Object(a.l)(n.padding);let g=m.height,b=0,v=i.reduce((e,n)=>e+n.before.length+n.lines.length+n.after.length,0);if(v+=e.beforeBody.length+e.afterBody.length,h&&(g+=h*c.lineHeight+(h-1)*n.titleSpacing+n.titleMarginBottom),v){g+=f*(n.displayColors?Math.max(l,d.lineHeight):d.lineHeight)+(v-f)*d.lineHeight+(v-1)*n.bodySpacing}p&&(g+=n.footerMarginTop+p*u.lineHeight+(p-1)*n.footerSpacing);let y=0;const x=function(e){b=Math.max(b,t.measureText(e).width+y)};return t.save(),t.font=c.string,Object(a.r)(e.title,x),t.font=d.string,Object(a.r)(e.beforeBody.concat(e.afterBody),x),y=n.displayColors?s+2+n.boxPadding:0,Object(a.r)(i,e=>{Object(a.r)(e.before,x),Object(a.r)(e.lines,x),Object(a.r)(e.after,x)}),y=0,t.font=u.string,Object(a.r)(e.footer,x),t.restore(),b+=m.width,{width:b,height:g}}function ht(e,n,t,a){const{x:i,width:r}=t,{width:o,chartArea:{left:s,right:l}}=e;let d="center";return"center"===a?d=i<=(s+l)/2?"left":"right":i<=r/2?d="left":i>=o-r/2&&(d="right"),function(e,n,t,a){const{x:i,width:r}=a,o=t.caretSize+t.caretPadding;return"left"===e&&i+r+o>n.width||("right"===e&&i-r-o<0||void 0)}(d,e,n,t)&&(d="center"),d}function pt(e,n,t){const a=t.yAlign||n.yAlign||function(e,n){const{y:t,height:a}=n;return t
e.height-a/2?"bottom":"center"}(e,t);return{xAlign:t.xAlign||n.xAlign||ht(e,n,t,a),yAlign:a}}function ft(e,n,t,i){const{caretSize:r,caretPadding:o,cornerRadius:s}=e,{xAlign:l,yAlign:d}=t,c=r+o,{topLeft:u,topRight:h,bottomLeft:p,bottomRight:f}=Object(a.Ab)(s);let m=function(e,n){let{x:t,width:a}=e;return"right"===n?t-=a:"center"===n&&(t-=a/2),t}(n,l);const g=function(e,n,t){let{y:a,height:i}=e;return"top"===n?a+=t:a-="bottom"===n?i+t:i/2,a}(n,d,c);return"center"===d?"left"===l?m+=c:"right"===l&&(m-=c):"left"===l?m-=Math.max(u,p)+r:"right"===l&&(m+=Math.max(h,f)+r),{x:Object(a.f)(m,0,i.width-n.width),y:Object(a.f)(g,0,i.height-n.height)}}function mt(e,n,t){const i=Object(a.l)(t.padding);return"center"===n?e.x+e.width/2:"right"===n?e.x+e.width-i.right:e.x+i.left}function gt(e){return lt([],dt(e))}function bt(e,n){const t=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return t?e.override(t):e}class vt extends j{constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart||e._chart,this._chart=this.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const e=this._cachedAnimations;if(e)return e;const n=this.chart,t=this.options.setContext(this.getContext()),a=t.enabled&&n.options.animation&&t.animations,i=new l(this.chart,a);return a._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(e=this.chart.getContext(),n=this,t=this._tooltipItems,Object(a.Jb)(e,{tooltip:n,tooltipItems:t,type:"tooltip"})));var e,n,t}getTitle(e,n){const{callbacks:t}=n,a=t.beforeTitle.apply(this,[e]),i=t.title.apply(this,[e]),r=t.afterTitle.apply(this,[e]);let o=[];return o=lt(o,dt(a)),o=lt(o,dt(i)),o=lt(o,dt(r)),o}getBeforeBody(e,n){return gt(n.callbacks.beforeBody.apply(this,[e]))}getBody(e,n){const{callbacks:t}=n,i=[];return Object(a.r)(e,e=>{const n={before:[],lines:[],after:[]},a=bt(t,e);lt(n.before,dt(a.beforeLabel.call(this,e))),lt(n.lines,a.label.call(this,e)),lt(n.after,dt(a.afterLabel.call(this,e))),i.push(n)}),i}getAfterBody(e,n){return gt(n.callbacks.afterBody.apply(this,[e]))}getFooter(e,n){const{callbacks:t}=n,a=t.beforeFooter.apply(this,[e]),i=t.footer.apply(this,[e]),r=t.afterFooter.apply(this,[e]);let o=[];return o=lt(o,dt(a)),o=lt(o,dt(i)),o=lt(o,dt(r)),o}_createItems(e){const n=this._active,t=this.chart.data,i=[],r=[],o=[];let s,l,d=[];for(s=0,l=n.length;se.filter(n,a,i,t))),e.itemSort&&(d=d.sort((n,a)=>e.itemSort(n,a,t))),Object(a.r)(d,n=>{const t=bt(e.callbacks,n);i.push(t.labelColor.call(this,n)),r.push(t.labelPointStyle.call(this,n)),o.push(t.labelTextColor.call(this,n))}),this.labelColors=i,this.labelPointStyles=r,this.labelTextColors=o,this.dataPoints=d,d}update(e,n){const t=this.options.setContext(this.getContext()),a=this._active;let i,r=[];if(a.length){const e=st[t.position].call(this,a,this._eventPosition);r=this._createItems(t),this.title=this.getTitle(r,t),this.beforeBody=this.getBeforeBody(r,t),this.body=this.getBody(r,t),this.afterBody=this.getAfterBody(r,t),this.footer=this.getFooter(r,t);const n=this._size=ut(this,t),o=Object.assign({},e,n),s=pt(this.chart,t,o),l=ft(t,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:l.x,y:l.y,width:n.width,height:n.height,caretX:e.x,caretY:e.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=r,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&t.external&&t.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(e,n,t,a){const i=this.getCaretPosition(e,t,a);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(e,n,t){const{xAlign:i,yAlign:r}=this,{caretSize:o,cornerRadius:s}=t,{topLeft:l,topRight:d,bottomLeft:c,bottomRight:u}=Object(a.Ab)(s),{x:h,y:p}=e,{width:f,height:m}=n;let g,b,v,y,x,C;return"center"===r?(x=p+m/2,"left"===i?(g=h,b=g-o,y=x+o,C=x-o):(g=h+f,b=g+o,y=x-o,C=x+o),v=g):(b="left"===i?h+Math.max(l,c)+o:"right"===i?h+f-Math.max(d,u)-o:this.caretX,"top"===r?(y=p,x=y-o,g=b-o,v=b+o):(y=p+m,x=y+o,g=b+o,v=b-o),C=y),{x1:g,x2:b,x3:v,y1:y,y2:x,y3:C}}drawTitle(e,n,t){const i=this.title,r=i.length;let o,s,l;if(r){const d=Object(a.N)(t.rtl,this.x,this.width);for(e.x=mt(this,t.titleAlign,t),n.textAlign=d.textAlign(t.titleAlign),n.textBaseline="middle",o=Object(a.p)(t.titleFont),s=t.titleSpacing,n.fillStyle=t.titleColor,n.font=o.string,l=0;l0!==e)?(e.beginPath(),e.fillStyle=r.multiKeyBackground,Object(a.yb)(e,{x:n,y:m,w:d,h:l,radius:s}),e.fill(),e.stroke(),e.fillStyle=o.backgroundColor,e.beginPath(),Object(a.yb)(e,{x:t,y:m+1,w:d-2,h:l-2,radius:s}),e.fill()):(e.fillStyle=r.multiKeyBackground,e.fillRect(n,m,d,l),e.strokeRect(n,m,d,l),e.fillStyle=o.backgroundColor,e.fillRect(t,m+1,d-2,l-2))}e.fillStyle=this.labelTextColors[t]}drawBody(e,n,t){const{body:i}=this,{bodySpacing:r,bodyAlign:o,displayColors:s,boxHeight:l,boxWidth:d,boxPadding:c}=t,u=Object(a.p)(t.bodyFont);let h=u.lineHeight,p=0;const f=Object(a.N)(t.rtl,this.x,this.width),m=function(t){n.fillText(t,f.x(e.x+p),e.y+h/2),e.y+=h+r},g=f.textAlign(o);let b,v,y,x,C,T,D;for(n.textAlign=o,n.textBaseline="middle",n.font=u.string,e.x=mt(this,g,t),n.fillStyle=t.bodyColor,Object(a.r)(this.beforeBody,m),p=s&&"right"!==g?"center"===o?d/2+c:d+2+c:0,x=0,T=i.length;x0&&n.stroke()}_updateAnimationTarget(e){const n=this.chart,t=this.$animations,a=t&&t.x,i=t&&t.y;if(a||i){const t=st[e.position].call(this,this._active,this._eventPosition);if(!t)return;const r=this._size=ut(this,e),o=Object.assign({},t,this._size),s=pt(n,e,o),l=ft(e,o,s,n);a._to===l.x&&i._to===l.y||(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=r.width,this.height=r.height,this.caretX=t.x,this.caretY=t.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(e){const n=this.options.setContext(this.getContext());let t=this.opacity;if(!t)return;this._updateAnimationTarget(n);const i={width:this.width,height:this.height},r={x:this.x,y:this.y};t=Math.abs(t)<.001?0:t;const o=Object(a.l)(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(e.save(),e.globalAlpha=t,this.drawBackground(r,e,i,n),Object(a.O)(e,n.textDirection),r.y+=o.top,this.drawTitle(r,e,n),this.drawBody(r,e,n),this.drawFooter(r,e,n),Object(a.Q)(e,n.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,n){const t=this._active,i=e.map(({datasetIndex:e,index:n})=>{const t=this.chart.getDatasetMeta(e);if(!t)throw new Error("Cannot find a dataset at index "+e);return{datasetIndex:e,element:t.data[n],index:n}}),r=!Object(a.lb)(t,i),o=this._positionChanged(i,n);(r||o)&&(this._active=i,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,n,t=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,r=this._active||[],o=this._getActiveElements(e,r,n,t),s=this._positionChanged(o,e),l=n||!Object(a.lb)(o,r)||s;return l&&(this._active=o,(i.enabled||i.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,n))),l}_getActiveElements(e,n,t,a){const i=this.options;if("mouseout"===e.type)return[];if(!a)return n;const r=this.chart.getElementsAtEventForMode(e,i.mode,i,t);return i.reverse&&r.reverse(),r}_positionChanged(e,n){const{caretX:t,caretY:a,options:i}=this,r=st[i.position].call(this,e,n);return!1!==r&&(t!==r.x||a!==r.y)}}vt.positioners=st;var yt={id:"tooltip",_element:vt,positioners:st,afterInit(e,n,t){t&&(e.tooltip=new vt({chart:e,options:t}))},beforeUpdate(e,n,t){e.tooltip&&e.tooltip.initialize(t)},reset(e,n,t){e.tooltip&&e.tooltip.initialize(t)},afterDraw(e){const n=e.tooltip;if(n&&n._willRender()){const t={tooltip:n};if(!1===e.notifyPlugins("beforeTooltipDraw",t))return;n.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",t)}},afterEvent(e,n){if(e.tooltip){const t=n.replay;e.tooltip.handleEvent(n.event,t,n.inChartArea)&&(n.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,n)=>n.bodyFont.size,boxWidth:(e,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:a.S,title(e){if(e.length>0){const n=e[0],t=n.chart.data.labels,a=t?t.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(a>0&&n.dataIndex"filter"!==e&&"itemSort"!==e&&"external"!==e,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},xt=Object.freeze({__proto__:null,Decimation:jn,Filler:Qn,Legend:tt,SubTitle:ot,Title:it,Tooltip:yt});function Ct(e,n,t,a){const i=e.indexOf(n);if(-1===i)return((e,n,t,a)=>("string"==typeof n?(t=e.push(n)-1,a.unshift({index:t,label:n})):isNaN(n)&&(t=null),t))(e,n,t,a);return i!==e.lastIndexOf(n)?t:i}class Tt extends G{constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const n=this._addedLabels;if(n.length){const e=this.getLabels();for(const{index:t,label:a}of n)e[t]===a&&e.splice(t,1);this._addedLabels=[]}super.init(e)}parse(e,n){if(Object(a.Mb)(e))return null;const t=this.getLabels();return((e,n)=>null===e?null:Object(a.f)(Math.round(e),0,n))(n=isFinite(n)&&t[n]===e?n:Ct(t,e,Object(a.Xb)(n,e),this._addedLabels),t.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:n}=this.getUserBounds();let{min:t,max:a}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(t=0),n||(a=this.getLabels().length-1)),this.min=t,this.max=a}buildTicks(){const e=this.min,n=this.max,t=this.options.offset,a=[];let i=this.getLabels();i=0===e&&n===i.length-1?i:i.slice(e,n+1),this._valueRange=Math.max(i.length-(t?0:1),1),this._startValue=this.min-(t?.5:0);for(let t=e;t<=n;t++)a.push({value:t});return a}getLabelForValue(e){const n=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}}function Dt(e,n,{horizontal:t,minRotation:i}){const r=Object(a.Vb)(i),o=(t?Math.sin(r):Math.cos(r))||.001,s=.75*n*(""+e).length;return Math.min(n/o,s)}Tt.id="category",Tt.defaults={ticks:{callback:Tt.prototype.getLabelForValue}};class wt extends G{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,n){return Object(a.Mb)(e)||("number"==typeof e||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){const{beginAtZero:e}=this.options,{minDefined:n,maxDefined:t}=this.getUserBounds();let{min:i,max:r}=this;const o=e=>i=n?i:e,s=e=>r=t?r:e;if(e){const e=Object(a.Ub)(i),n=Object(a.Ub)(r);e<0&&n<0?s(0):e>0&&n>0&&o(0)}if(i===r){let n=1;(r>=Number.MAX_SAFE_INTEGER||i<=Number.MIN_SAFE_INTEGER)&&(n=Math.abs(.05*r)),s(r+n),e||o(i-n)}this.min=i,this.max=r}getTickLimit(){const e=this.options.ticks;let n,{maxTicksLimit:t,stepSize:a}=e;return a?(n=Math.ceil(this.max/a)-Math.floor(this.min/a)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${a} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),t=t||11),t&&(n=Math.min(t,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,n=e.ticks;let t=this.getTickLimit();t=Math.max(2,t);const i=function(e,n){const t=[],{bounds:i,step:r,min:o,max:s,precision:l,count:d,maxTicks:c,maxDigits:u,includeBounds:h}=e,p=r||1,f=c-1,{min:m,max:g}=n,b=!Object(a.Mb)(o),v=!Object(a.Mb)(s),y=!Object(a.Mb)(d),x=(g-m)/(u+1);let C,T,D,w,O=Object(a.V)((g-m)/f/p)*p;if(O<1e-14&&!b&&!v)return[{value:m},{value:g}];w=Math.ceil(g/O)-Math.floor(m/O),w>f&&(O=Object(a.V)(w*O/f/p)*p),Object(a.Mb)(l)||(C=Math.pow(10,l),O=Math.ceil(O*C)/C),"ticks"===i?(T=Math.floor(m/O)*O,D=Math.ceil(g/O)*O):(T=m,D=g),b&&v&&r&&Object(a.W)((s-o)/r,O/1e3)?(w=Math.round(Math.min((s-o)/O,c)),O=(s-o)/w,T=o,D=s):y?(T=b?o:T,D=v?s:D,w=d-1,O=(D-T)/w):(w=(D-T)/O,w=Object(a.X)(w,Math.round(w),O/1e3)?Math.round(w):Math.ceil(w));const k=Math.max(Object(a.Y)(O),Object(a.Y)(T));C=Math.pow(10,Object(a.Mb)(l)?k:l),T=Math.round(T*C)/C,D=Math.round(D*C)/C;let S=0;for(b&&(h&&T!==o?(t.push({value:o}),T0?t:null;this._zero=!0}determineDataLimits(){const{min:e,max:n}=this.getMinMax(!0);this.min=Object(a.Ib)(e)?Math.max(0,e):null,this.max=Object(a.Ib)(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:n}=this.getUserBounds();let t=this.min,i=this.max;const r=n=>t=e?t:n,o=e=>i=n?i:e,s=(e,n)=>Math.pow(10,Math.floor(Object(a.bc)(e))+n);t===i&&(t<=0?(r(1),o(10)):(r(s(t,-1)),o(s(i,1)))),t<=0&&r(s(i,-1)),i<=0&&o(s(t,1)),this._zero&&this.min!==this._suggestedMin&&t===s(this.min,0)&&r(s(t,-1)),this.min=t,this.max=i}buildTicks(){const e=this.options,n=function(e,n){const t=Math.floor(Object(a.bc)(n.max)),i=Math.ceil(n.max/Math.pow(10,t)),r=[];let o=Object(a.c)(e.min,Math.pow(10,Math.floor(Object(a.bc)(n.min)))),s=Math.floor(Object(a.bc)(o)),l=Math.floor(o/Math.pow(10,s)),d=s<0?Math.pow(10,Math.abs(s)):1;do{r.push({value:o,major:kt(o)}),++l,10===l&&(l=1,++s,d=s>=0?1:d),o=Math.round(l*Math.pow(10,s)*d)/d}while(si?{start:n-t,end:n}:{start:n,end:n+t}}function Rt(e){const n={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},t=Object.assign({},n),i=[],r=[],o=e._pointLabels.length,s=e.options.pointLabels,l=s.centerPointLabels?a.q/o:0;for(let h=0;hn.r&&(s=(a.end-n.r)/r,e.r=Math.max(e.r,n.r+s)),i.startn.b&&(l=(i.end-n.b)/o,e.b=Math.max(e.b,n.b+l))}function _t(e){return 0===e||180===e?"center":e<180?"left":"right"}function Lt(e,n,t){return"right"===t?e-=n:"center"===t&&(e-=n/2),e}function Et(e,n,t){return 90===t||270===t?e-=n/2:(t>270||t<90)&&(e-=n),e}function Mt(e,n,t,i){const{ctx:r}=e;if(t)r.arc(e.xCenter,e.yCenter,n,0,a.u);else{let t=e.getPointPosition(0,n);r.moveTo(t.x,t.y);for(let a=1;a{const t=Object(a.d)(this.options.pointLabels.callback,[e,n],this);return t||0===t?t:""}).filter((e,n)=>this.chart.getDataVisibility(n))}fit(){const e=this.options;e.display&&e.pointLabels.display?Rt(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,n,t,a){this.xCenter+=Math.floor((e-n)/2),this.yCenter+=Math.floor((t-a)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,n,t,a))}getIndexAngle(e){const n=a.u/(this._pointLabels.length||1),t=this.options.startAngle||0;return Object(a.Cb)(e*n+Object(a.Vb)(t))}getDistanceFromCenterForValue(e){if(Object(a.Mb)(e))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*n:(e-this.min)*n}getValueForDistanceFromCenter(e){if(Object(a.Mb)(e))return NaN;const n=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(e){const n=this._pointLabels||[];if(e>=0&&e=0;r--){const n=i.setContext(e.getPointLabelContext(r)),o=Object(a.p)(n.font),{x:s,y:l,textAlign:d,left:c,top:u,right:h,bottom:p}=e._pointLabelItems[r],{backdropColor:f}=n;if(!Object(a.Mb)(f)){const e=Object(a.Ab)(n.borderRadius),i=Object(a.l)(n.backdropPadding);t.fillStyle=f;const r=c-i.left,o=u-i.top,s=h-c+i.width,l=p-u+i.height;Object.values(e).some(e=>0!==e)?(t.beginPath(),Object(a.yb)(t,{x:r,y:o,w:s,h:l,radius:e}),t.fill()):t.fillRect(r,o,s,l)}Object(a.n)(t,e._pointLabels[r],s,l+o.lineHeight/2,o,{color:n.color,textAlign:d,textBaseline:"middle"})}}(this,r),i.display&&this.ticks.forEach((e,n)=>{if(0!==n){s=this.getDistanceFromCenterForValue(e.value);!function(e,n,t,a){const i=e.ctx,r=n.circular,{color:o,lineWidth:s}=n;!r&&!a||!o||!s||t<0||(i.save(),i.strokeStyle=o,i.lineWidth=s,i.setLineDash(n.borderDash),i.lineDashOffset=n.borderDashOffset,i.beginPath(),Mt(e,t,r,a),i.closePath(),i.stroke(),i.restore())}(this,i.setContext(this.getContext(n-1)),s,r)}}),t.display){for(e.save(),o=r-1;o>=0;o--){const a=t.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:r}=a;r&&i&&(e.lineWidth=r,e.strokeStyle=i,e.setLineDash(a.borderDash),e.lineDashOffset=a.borderDashOffset,s=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),l=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,n=this.options,t=n.ticks;if(!t.display)return;const i=this.getIndexAngle(0);let r,o;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(i),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach((i,s)=>{if(0===s&&!n.reverse)return;const l=t.setContext(this.getContext(s)),d=Object(a.p)(l.font);if(r=this.getDistanceFromCenterForValue(this.ticks[s].value),l.showLabelBackdrop){e.font=d.string,o=e.measureText(i.label).width,e.fillStyle=l.backdropColor;const n=Object(a.l)(l.backdropPadding);e.fillRect(-o/2-n.left,-r-d.size/2-n.top,o+n.width,d.size+n.height)}Object(a.n)(e,i.label,0,-r,d,{color:l.color})}),e.restore()}drawTitle(){}}jt.id="radialLinear",jt.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:N.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:e=>e,padding:5,centerPointLabels:!1}},jt.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},jt.descriptors={angleLines:{_fallback:"grid"}};const Ut={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Nt=Object.keys(Ut);function Bt(e,n){return e-n}function Ft(e,n){if(Object(a.Mb)(n))return null;const t=e._adapter,{parser:i,round:r,isoWeekday:o}=e._parseOpts;let s=n;return"function"==typeof i&&(s=i(s)),Object(a.Ib)(s)||(s="string"==typeof i?t.parse(s,i):t.parse(s)),null===s?null:(r&&(s="week"!==r||!Object(a.Zb)(o)&&!0!==o?t.startOf(s,r):t.startOf(s,"isoWeek",o)),+s)}function zt(e,n,t,a){const i=Nt.length;for(let r=Nt.indexOf(e);r=n?t[i]:t[r]]=!0}}else e[n]=!0}function Vt(e,n,t){const a=[],i={},r=n.length;let o,s;for(o=0;o=0&&(n[l].major=!0);return n}(e,a,i,t):a}class Wt extends G{constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,n){const t=e.time||(e.time={}),i=this._adapter=new ee._date(e.adapters.date);i.init(n),Object(a.fb)(t.displayFormats,i.formats()),this._parseOpts={parser:t.parser,round:t.round,isoWeekday:t.isoWeekday},super.init(e),this._normalized=n.normalized}parse(e,n){return void 0===e?null:Ft(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const e=this.options,n=this._adapter,t=e.time.unit||"day";let{min:i,max:r,minDefined:o,maxDefined:s}=this.getUserBounds();function l(e){o||isNaN(e.min)||(i=Math.min(i,e.min)),s||isNaN(e.max)||(r=Math.max(r,e.max))}o&&s||(l(this._getLabelBounds()),"ticks"===e.bounds&&"labels"===e.ticks.source||l(this.getMinMax(!1))),i=Object(a.Ib)(i)&&!isNaN(i)?i:+n.startOf(Date.now(),t),r=Object(a.Ib)(r)&&!isNaN(r)?r:+n.endOf(Date.now(),t)+1,this.min=Math.min(i,r-1),this.max=Math.max(i+1,r)}_getLabelBounds(){const e=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;return e.length&&(n=e[0],t=e[e.length-1]),{min:n,max:t}}buildTicks(){const e=this.options,n=e.time,t=e.ticks,i="labels"===t.source?this.getLabelTimestamps():this._generate();"ticks"===e.bounds&&i.length&&(this.min=this._userMin||i[0],this.max=this._userMax||i[i.length-1]);const r=this.min,o=this.max,s=Object(a.ab)(i,r,o);return this._unit=n.unit||(t.autoSkip?zt(n.minUnit,this.min,this.max,this._getLabelCapacity(r)):function(e,n,t,a,i){for(let r=Nt.length-1;r>=Nt.indexOf(t);r--){const t=Nt[r];if(Ut[t].common&&e._adapter.diff(i,a,t)>=n-1)return t}return Nt[t?Nt.indexOf(t):0]}(this,s.length,n.minUnit,this.min,this.max)),this._majorUnit=t.major.enabled&&"year"!==this._unit?function(e){for(let n=Nt.indexOf(e)+1,t=Nt.length;n+e.value))}initOffsets(e){let n,t,i=0,r=0;this.options.offset&&e.length&&(n=this.getDecimalForValue(e[0]),i=1===e.length?1-n:(this.getDecimalForValue(e[1])-n)/2,t=this.getDecimalForValue(e[e.length-1]),r=1===e.length?t:(t-this.getDecimalForValue(e[e.length-2]))/2);const o=e.length<3?.5:.25;i=Object(a.f)(i,0,o),r=Object(a.f)(r,0,o),this._offsets={start:i,end:r,factor:1/(i+1+r)}}_generate(){const e=this._adapter,n=this.min,t=this.max,i=this.options,r=i.time,o=r.unit||zt(r.minUnit,n,t,this._getLabelCapacity(n)),s=Object(a.Xb)(r.stepSize,1),l="week"===o&&r.isoWeekday,d=Object(a.Zb)(l)||!0===l,c={};let u,h,p=n;if(d&&(p=+e.startOf(p,"isoWeek",l)),p=+e.startOf(p,d?"day":o),e.diff(t,n,o)>1e5*s)throw new Error(n+" and "+t+" are too far apart with stepSize of "+s+" "+o);const f="data"===i.ticks.source&&this.getDataTimestamps();for(u=p,h=0;ue-n).map(e=>+e)}getLabelForValue(e){const n=this._adapter,t=this.options.time;return t.tooltipFormat?n.format(e,t.tooltipFormat):n.format(e,t.displayFormats.datetime)}_tickFormatFunction(e,n,t,i){const r=this.options,o=r.time.displayFormats,s=this._unit,l=this._majorUnit,d=s&&o[s],c=l&&o[l],u=t[n],h=l&&c&&u&&u.major,p=this._adapter.format(e,i||(h?c:d)),f=r.ticks.callback;return f?Object(a.d)(f,[p,n,t],this):p}generateTickLabels(e){let n,t,a;for(n=0,t=e.length;n0?o:1}getDataTimestamps(){let e,n,t=this._cache.data||[];if(t.length)return t;const a=this.getMatchingVisibleMetas();if(this._normalized&&a.length)return this._cache.data=a[0].controller.getAllParsedValues(this);for(e=0,n=a.length;e=e[l].pos&&n<=e[d].pos&&({lo:l,hi:d}=Object(a.A)(e,"pos",n)),({pos:i,time:o}=e[l]),({pos:r,time:s}=e[d])):(n>=e[l].time&&n<=e[d].time&&({lo:l,hi:d}=Object(a.A)(e,"time",n)),({time:i,pos:o}=e[l]),({time:r,pos:s}=e[d]));const c=r-i;return c?o+(s-o)*(n-i)/c:o}Wt.id="time",Wt.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class $t extends Wt{constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(e);this._minPos=Yt(n,this.min),this._tableRange=Yt(n,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:n,max:t}=this,a=[],i=[];let r,o,s,l,d;for(r=0,o=e.length;r=n&&l<=t&&a.push(l);if(a.length<2)return[{time:n,pos:0},{time:t,pos:1}];for(r=0,o=a.length;re.length)&&(n=e.length);for(var t=0,a=new Array(n);t=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}Object.defineProperty(n,"__esModule",{value:!0});var f=function(e){function n(){return e.apply(this,arguments)||this}return o(n,e),n}(u(Error)),m=function(e){function n(n){return e.call(this,"Invalid DateTime: "+n.toMessage())||this}return o(n,e),n}(f),g=function(e){function n(n){return e.call(this,"Invalid Interval: "+n.toMessage())||this}return o(n,e),n}(f),b=function(e){function n(n){return e.call(this,"Invalid Duration: "+n.toMessage())||this}return o(n,e),n}(f),v=function(e){function n(){return e.apply(this,arguments)||this}return o(n,e),n}(f),y=function(e){function n(n){return e.call(this,"Invalid unit "+n)||this}return o(n,e),n}(f),x=function(e){function n(){return e.apply(this,arguments)||this}return o(n,e),n}(f),C=function(e){function n(){return e.call(this,"Zone is an abstract class")||this}return o(n,e),n}(f),T="numeric",D="short",w="long",O={year:T,month:T,day:T},k={year:T,month:D,day:T},S={year:T,month:D,day:T,weekday:D},P={year:T,month:w,day:T},A={year:T,month:w,day:T,weekday:w},R={hour:T,minute:T},I={hour:T,minute:T,second:T},_={hour:T,minute:T,second:T,timeZoneName:D},L={hour:T,minute:T,second:T,timeZoneName:w},E={hour:T,minute:T,hourCycle:"h23"},M={hour:T,minute:T,second:T,hourCycle:"h23"},j={hour:T,minute:T,second:T,hourCycle:"h23",timeZoneName:D},U={hour:T,minute:T,second:T,hourCycle:"h23",timeZoneName:w},N={year:T,month:T,day:T,hour:T,minute:T},B={year:T,month:T,day:T,hour:T,minute:T,second:T},F={year:T,month:D,day:T,hour:T,minute:T},z={year:T,month:D,day:T,hour:T,minute:T,second:T},H={year:T,month:D,day:T,weekday:D,hour:T,minute:T},V={year:T,month:w,day:T,hour:T,minute:T,timeZoneName:D},W={year:T,month:w,day:T,hour:T,minute:T,second:T,timeZoneName:D},Y={year:T,month:w,day:T,weekday:w,hour:T,minute:T,timeZoneName:w},$={year:T,month:w,day:T,weekday:w,hour:T,minute:T,second:T,timeZoneName:w};function G(e){return void 0===e}function q(e){return"number"==typeof e}function X(e){return"number"==typeof e&&e%1==0}function J(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function Z(e,n,t){if(0!==e.length)return e.reduce((function(e,a){var i=[n(a),a];return e&&t(e[0],i[0])===e[0]?e:i}),null)[1]}function K(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function Q(e,n,t){return X(e)&&e>=n&&e<=t}function ee(e,n){void 0===n&&(n=2);var t=e<0?"-":"",a=t?-1*e:e;return""+t+(a.toString().length=0&&(n=new Date(n)).setUTCFullYear(n.getUTCFullYear()-1900),+n}function de(e){var n=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,t=e-1,a=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7;return 4===n||3===a?53:52}function ce(e){return e>99?e:e>60?1900+e:2e3+e}function ue(e,n,t,a){void 0===a&&(a=null);var i=new Date(e),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};a&&(o.timeZone=a);var s=r({timeZoneName:n},o),l=new Intl.DateTimeFormat(t,s).formatToParts(i).find((function(e){return"timezonename"===e.type.toLowerCase()}));return l?l.value:null}function he(e,n){var t=parseInt(e,10);Number.isNaN(t)&&(t=0);var a=parseInt(n,10)||0;return 60*t+(t<0||Object.is(t,-0)?-a:a)}function pe(e){var n=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(n))throw new x("Invalid unit value "+e);return n}function fe(e,n){var t={};for(var a in e)if(K(e,a)){var i=e[a];if(null==i)continue;t[n(a)]=pe(i)}return t}function me(e,n){var t=Math.trunc(Math.abs(e/60)),a=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(n){case"short":return""+i+ee(t,2)+":"+ee(a,2);case"narrow":return""+i+t+(a>0?":"+a:"");case"techie":return""+i+ee(t,2)+ee(a,2);default:throw new RangeError("Value format "+n+" is out of range for property format")}}function ge(e){return function(e,n){return n.reduce((function(n,t){return n[t]=e[t],n}),{})}(e,["hour","minute","second","millisecond"])}var be=/[A-Za-z_+-]{1,256}(:?\/[A-Za-z0-9_+-]{1,256}(\/[A-Za-z0-9_+-]{1,256})?)?/,ve=["January","February","March","April","May","June","July","August","September","October","November","December"],ye=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],xe=["J","F","M","A","M","J","J","A","S","O","N","D"];function Ce(e){switch(e){case"narrow":return[].concat(xe);case"short":return[].concat(ye);case"long":return[].concat(ve);case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Te=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],De=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],we=["M","T","W","T","F","S","S"];function Oe(e){switch(e){case"narrow":return[].concat(we);case"short":return[].concat(De);case"long":return[].concat(Te);case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var ke=["AM","PM"],Se=["Before Christ","Anno Domini"],Pe=["BC","AD"],Ae=["B","A"];function Re(e){switch(e){case"narrow":return[].concat(Ae);case"short":return[].concat(Pe);case"long":return[].concat(Se);default:return null}}function Ie(e,n){for(var t,a="",i=p(e);!(t=i()).done;){var r=t.value;r.literal?a+=r.val:a+=n(r.val)}return a}var _e={D:O,DD:k,DDD:P,DDDD:A,t:R,tt:I,ttt:_,tttt:L,T:E,TT:M,TTT:j,TTTT:U,f:N,ff:F,fff:V,ffff:Y,F:B,FF:z,FFF:W,FFFF:$},Le=function(){function e(e,n){this.opts=n,this.loc=e,this.systemLoc=null}e.create=function(n,t){return void 0===t&&(t={}),new e(n,t)},e.parseFormat=function(e){for(var n=null,t="",a=!1,i=[],r=0;r0&&i.push({literal:a,val:t}),n=null,t="",a=!a):a||o===n?t+=o:(t.length>0&&i.push({literal:!1,val:t}),t=o,n=o)}return t.length>0&&i.push({literal:a,val:t}),i},e.macroTokenToFormatOpts=function(e){return _e[e]};var n=e.prototype;return n.formatWithSystemDefault=function(e,n){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,r({},this.opts,n)).format()},n.formatDateTime=function(e,n){return void 0===n&&(n={}),this.loc.dtFormatter(e,r({},this.opts,n)).format()},n.formatDateTimeParts=function(e,n){return void 0===n&&(n={}),this.loc.dtFormatter(e,r({},this.opts,n)).formatToParts()},n.resolvedOptions=function(e,n){return void 0===n&&(n={}),this.loc.dtFormatter(e,r({},this.opts,n)).resolvedOptions()},n.num=function(e,n){if(void 0===n&&(n=0),this.opts.forceSimple)return ee(e,n);var t=r({},this.opts);return n>0&&(t.padTo=n),this.loc.numberFormatter(t).format(e)},n.formatDateTimeFromString=function(n,t){var a=this,i="en"===this.loc.listingMode(),r=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,o=function(e,t){return a.loc.extract(n,e,t)},s=function(e){return n.isOffsetFixed&&0===n.offset&&e.allowZ?"Z":n.isValid?n.zone.formatOffset(n.ts,e.format):""},l=function(){return i?function(e){return ke[e.hour<12?0:1]}(n):o({hour:"numeric",hourCycle:"h12"},"dayperiod")},d=function(e,t){return i?function(e,n){return Ce(n)[e.month-1]}(n,e):o(t?{month:e}:{month:e,day:"numeric"},"month")},c=function(e,t){return i?function(e,n){return Oe(n)[e.weekday-1]}(n,e):o(t?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday")},u=function(e){return i?function(e,n){return Re(n)[e.year<0?0:1]}(n,e):o({era:e},"era")};return Ie(e.parseFormat(t),(function(t){switch(t){case"S":return a.num(n.millisecond);case"u":case"SSS":return a.num(n.millisecond,3);case"s":return a.num(n.second);case"ss":return a.num(n.second,2);case"uu":return a.num(Math.floor(n.millisecond/10),2);case"uuu":return a.num(Math.floor(n.millisecond/100));case"m":return a.num(n.minute);case"mm":return a.num(n.minute,2);case"h":return a.num(n.hour%12==0?12:n.hour%12);case"hh":return a.num(n.hour%12==0?12:n.hour%12,2);case"H":return a.num(n.hour);case"HH":return a.num(n.hour,2);case"Z":return s({format:"narrow",allowZ:a.opts.allowZ});case"ZZ":return s({format:"short",allowZ:a.opts.allowZ});case"ZZZ":return s({format:"techie",allowZ:a.opts.allowZ});case"ZZZZ":return n.zone.offsetName(n.ts,{format:"short",locale:a.loc.locale});case"ZZZZZ":return n.zone.offsetName(n.ts,{format:"long",locale:a.loc.locale});case"z":return n.zoneName;case"a":return l();case"d":return r?o({day:"numeric"},"day"):a.num(n.day);case"dd":return r?o({day:"2-digit"},"day"):a.num(n.day,2);case"c":return a.num(n.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return a.num(n.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return r?o({month:"numeric",day:"numeric"},"month"):a.num(n.month);case"LL":return r?o({month:"2-digit",day:"numeric"},"month"):a.num(n.month,2);case"LLL":return d("short",!0);case"LLLL":return d("long",!0);case"LLLLL":return d("narrow",!0);case"M":return r?o({month:"numeric"},"month"):a.num(n.month);case"MM":return r?o({month:"2-digit"},"month"):a.num(n.month,2);case"MMM":return d("short",!1);case"MMMM":return d("long",!1);case"MMMMM":return d("narrow",!1);case"y":return r?o({year:"numeric"},"year"):a.num(n.year);case"yy":return r?o({year:"2-digit"},"year"):a.num(n.year.toString().slice(-2),2);case"yyyy":return r?o({year:"numeric"},"year"):a.num(n.year,4);case"yyyyyy":return r?o({year:"numeric"},"year"):a.num(n.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return a.num(n.weekYear.toString().slice(-2),2);case"kkkk":return a.num(n.weekYear,4);case"W":return a.num(n.weekNumber);case"WW":return a.num(n.weekNumber,2);case"o":return a.num(n.ordinal);case"ooo":return a.num(n.ordinal,3);case"q":return a.num(n.quarter);case"qq":return a.num(n.quarter,2);case"X":return a.num(Math.floor(n.ts/1e3));case"x":return a.num(n.ts);default:return function(t){var i=e.macroTokenToFormatOpts(t);return i?a.formatWithSystemDefault(n,i):t}(t)}}))},n.formatDurationFromString=function(n,t){var a,i=this,r=function(e){switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"M":return"month";case"y":return"year";default:return null}},o=e.parseFormat(t),s=o.reduce((function(e,n){var t=n.literal,a=n.val;return t?e:e.concat(a)}),[]),l=n.shiftTo.apply(n,s.map(r).filter((function(e){return e})));return Ie(o,(a=l,function(e){var n=r(e);return n?i.num(a.get(n),e.length):e}))},e}(),Ee=function(){function e(e,n){this.reason=e,this.explanation=n}return e.prototype.toMessage=function(){return this.explanation?this.reason+": "+this.explanation:this.reason},e}(),Me=function(){function e(){}var n=e.prototype;return n.offsetName=function(e,n){throw new C},n.formatOffset=function(e,n){throw new C},n.offset=function(e){throw new C},n.equals=function(e){throw new C},i(e,[{key:"type",get:function(){throw new C}},{key:"name",get:function(){throw new C}},{key:"isUniversal",get:function(){throw new C}},{key:"isValid",get:function(){throw new C}}]),e}(),je=null,Ue=function(e){function n(){return e.apply(this,arguments)||this}o(n,e);var t=n.prototype;return t.offsetName=function(e,n){return ue(e,n.format,n.locale)},t.formatOffset=function(e,n){return me(this.offset(e),n)},t.offset=function(e){return-new Date(e).getTimezoneOffset()},t.equals=function(e){return"system"===e.type},i(n,[{key:"type",get:function(){return"system"}},{key:"name",get:function(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!0}}],[{key:"instance",get:function(){return null===je&&(je=new n),je}}]),n}(Me),Ne=RegExp("^"+be.source+"$"),Be={};var Fe={year:0,month:1,day:2,hour:3,minute:4,second:5};var ze={},He=function(e){function n(t){var a;return(a=e.call(this)||this).zoneName=t,a.valid=n.isValidZone(t),a}o(n,e),n.create=function(e){return ze[e]||(ze[e]=new n(e)),ze[e]},n.resetCache=function(){ze={},Be={}},n.isValidSpecifier=function(e){return!(!e||!e.match(Ne))},n.isValidZone=function(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}};var t=n.prototype;return t.offsetName=function(e,n){return ue(e,n.format,n.locale,this.name)},t.formatOffset=function(e,n){return me(this.offset(e),n)},t.offset=function(e){var n=new Date(e);if(isNaN(n))return NaN;var t,a=(t=this.name,Be[t]||(Be[t]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),Be[t]),i=a.formatToParts?function(e,n){for(var t=e.formatToParts(n),a=[],i=0;i=0?c:1e3+c))/6e4},t.equals=function(e){return"iana"===e.type&&e.name===this.name},i(n,[{key:"type",get:function(){return"iana"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return this.valid}}]),n}(Me),Ve=null,We=function(e){function n(n){var t;return(t=e.call(this)||this).fixed=n,t}o(n,e),n.instance=function(e){return 0===e?n.utcInstance:new n(e)},n.parseSpecifier=function(e){if(e){var t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new n(he(t[1],t[2]))}return null};var t=n.prototype;return t.offsetName=function(){return this.name},t.formatOffset=function(e,n){return me(this.fixed,n)},t.offset=function(){return this.fixed},t.equals=function(e){return"fixed"===e.type&&e.fixed===this.fixed},i(n,[{key:"type",get:function(){return"fixed"}},{key:"name",get:function(){return 0===this.fixed?"UTC":"UTC"+me(this.fixed,"narrow")}},{key:"isUniversal",get:function(){return!0}},{key:"isValid",get:function(){return!0}}],[{key:"utcInstance",get:function(){return null===Ve&&(Ve=new n(0)),Ve}}]),n}(Me),Ye=function(e){function n(n){var t;return(t=e.call(this)||this).zoneName=n,t}o(n,e);var t=n.prototype;return t.offsetName=function(){return null},t.formatOffset=function(){return""},t.offset=function(){return NaN},t.equals=function(){return!1},i(n,[{key:"type",get:function(){return"invalid"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!1}}]),n}(Me);function $e(e,n){if(G(e)||null===e)return n;if(e instanceof Me)return e;if("string"==typeof e){var t=e.toLowerCase();return"local"===t||"system"===t?n:"utc"===t||"gmt"===t?We.utcInstance:He.isValidSpecifier(t)?He.create(e):We.parseSpecifier(t)||new Ye(e)}return q(e)?We.instance(e):"object"==typeof e&&e.offset&&"number"==typeof e.offset?e:new Ye(e)}var Ge,qe=function(){return Date.now()},Xe="system",Je=null,Ze=null,Ke=null,Qe=function(){function e(){}return e.resetCaches=function(){hn.resetCache(),He.resetCache()},i(e,null,[{key:"now",get:function(){return qe},set:function(e){qe=e}},{key:"defaultZone",get:function(){return $e(Xe,Ue.instance)},set:function(e){Xe=e}},{key:"defaultLocale",get:function(){return Je},set:function(e){Je=e}},{key:"defaultNumberingSystem",get:function(){return Ze},set:function(e){Ze=e}},{key:"defaultOutputCalendar",get:function(){return Ke},set:function(e){Ke=e}},{key:"throwOnInvalid",get:function(){return Ge},set:function(e){Ge=e}}]),e}(),en=["base"],nn={};function tn(e,n){void 0===n&&(n={});var t=JSON.stringify([e,n]),a=nn[t];return a||(a=new Intl.DateTimeFormat(e,n),nn[t]=a),a}var an={};var rn={};function on(e,n){void 0===n&&(n={});var t=n;t.base;var a=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a=0||(i[t]=e[t]);return i}(t,en),i=JSON.stringify([e,a]),r=rn[i];return r||(r=new Intl.RelativeTimeFormat(e,n),rn[i]=r),r}var sn=null;function ln(e,n,t,a,i){var r=e.listingMode(t);return"error"===r?null:"en"===r?a(n):i(n)}var dn=function(){function e(e,n,t){if(this.padTo=t.padTo||0,this.floor=t.floor||!1,!n){var a={useGrouping:!1};t.padTo>0&&(a.minimumIntegerDigits=t.padTo),this.inf=function(e,n){void 0===n&&(n={});var t=JSON.stringify([e,n]),a=an[t];return a||(a=new Intl.NumberFormat(e,n),an[t]=a),a}(e,a)}}return e.prototype.format=function(e){if(this.inf){var n=this.floor?Math.floor(e):e;return this.inf.format(n)}return ee(this.floor?Math.floor(e):ie(e,3),this.padTo)},e}(),cn=function(){function e(e,n,t){var a;if(this.opts=t,e.zone.isUniversal){var i=e.offset/60*-1,o=i>=0?"Etc/GMT+"+i:"Etc/GMT"+i;0!==e.offset&&He.create(o).valid?(a=o,this.dt=e):(a="UTC",t.timeZoneName?this.dt=e:this.dt=0===e.offset?e:ca.fromMillis(e.ts+60*e.offset*1e3))}else"system"===e.zone.type?this.dt=e:(this.dt=e,a=e.zone.name);var s=r({},this.opts);a&&(s.timeZone=a),this.dtf=tn(n,s)}var n=e.prototype;return n.format=function(){return this.dtf.format(this.dt.toJSDate())},n.formatToParts=function(){return this.dtf.formatToParts(this.dt.toJSDate())},n.resolvedOptions=function(){return this.dtf.resolvedOptions()},e}(),un=function(){function e(e,n,t){this.opts=r({style:"long"},t),!n&&J()&&(this.rtf=on(e,t))}var n=e.prototype;return n.format=function(e,n){return this.rtf?this.rtf.format(e,n):function(e,n,t,a){void 0===t&&(t="always"),void 0===a&&(a=!1);var i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},r=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===t&&r){var o="days"===e;switch(n){case 1:return o?"tomorrow":"next "+i[e][0];case-1:return o?"yesterday":"last "+i[e][0];case 0:return o?"today":"this "+i[e][0]}}var s=Object.is(n,-0)||n<0,l=Math.abs(n),d=1===l,c=i[e],u=a?d?c[1]:c[2]||c[1]:d?i[e][0]:e;return s?l+" "+u+" ago":"in "+l+" "+u}(n,e,this.opts.numeric,"long"!==this.opts.style)},n.formatToParts=function(e,n){return this.rtf?this.rtf.formatToParts(e,n):[]},e}(),hn=function(){function e(e,n,t,a){var i=function(e){var n=e.indexOf("-u-");if(-1===n)return[e];var t,a=e.substring(0,n);try{t=tn(e).resolvedOptions()}catch(e){t=tn(a).resolvedOptions()}var i=t;return[a,i.numberingSystem,i.calendar]}(e),r=i[0],o=i[1],s=i[2];this.locale=r,this.numberingSystem=n||o||null,this.outputCalendar=t||s||null,this.intl=function(e,n,t){return t||n?(e+="-u",t&&(e+="-ca-"+t),n&&(e+="-nu-"+n),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=a,this.fastNumbersCached=null}e.fromOpts=function(n){return e.create(n.locale,n.numberingSystem,n.outputCalendar,n.defaultToEN)},e.create=function(n,t,a,i){void 0===i&&(i=!1);var r=n||Qe.defaultLocale;return new e(r||(i?"en-US":sn||(sn=(new Intl.DateTimeFormat).resolvedOptions().locale)),t||Qe.defaultNumberingSystem,a||Qe.defaultOutputCalendar,r)},e.resetCache=function(){sn=null,nn={},an={},rn={}},e.fromObject=function(n){var t=void 0===n?{}:n,a=t.locale,i=t.numberingSystem,r=t.outputCalendar;return e.create(a,i,r)};var n=e.prototype;return n.listingMode=function(e){var n=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return n&&t?"en":"intl"},n.clone=function(n){return n&&0!==Object.getOwnPropertyNames(n).length?e.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,n.defaultToEN||!1):this},n.redefaultToEN=function(e){return void 0===e&&(e={}),this.clone(r({},e,{defaultToEN:!0}))},n.redefaultToSystem=function(e){return void 0===e&&(e={}),this.clone(r({},e,{defaultToEN:!1}))},n.months=function(e,n,t){var a=this;return void 0===n&&(n=!1),void 0===t&&(t=!0),ln(this,e,t,Ce,(function(){var t=n?{month:e,day:"numeric"}:{month:e},i=n?"format":"standalone";return a.monthsCache[i][e]||(a.monthsCache[i][e]=function(e){for(var n=[],t=1;t<=12;t++){var a=ca.utc(2016,t,1);n.push(e(a))}return n}((function(e){return a.extract(e,t,"month")}))),a.monthsCache[i][e]}))},n.weekdays=function(e,n,t){var a=this;return void 0===n&&(n=!1),void 0===t&&(t=!0),ln(this,e,t,Oe,(function(){var t=n?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=n?"format":"standalone";return a.weekdaysCache[i][e]||(a.weekdaysCache[i][e]=function(e){for(var n=[],t=1;t<=7;t++){var a=ca.utc(2016,11,13+t);n.push(e(a))}return n}((function(e){return a.extract(e,t,"weekday")}))),a.weekdaysCache[i][e]}))},n.meridiems=function(e){var n=this;return void 0===e&&(e=!0),ln(this,void 0,e,(function(){return ke}),(function(){if(!n.meridiemCache){var e={hour:"numeric",hourCycle:"h12"};n.meridiemCache=[ca.utc(2016,11,13,9),ca.utc(2016,11,13,19)].map((function(t){return n.extract(t,e,"dayperiod")}))}return n.meridiemCache}))},n.eras=function(e,n){var t=this;return void 0===n&&(n=!0),ln(this,e,n,Re,(function(){var n={era:e};return t.eraCache[e]||(t.eraCache[e]=[ca.utc(-40,1,1),ca.utc(2017,1,1)].map((function(e){return t.extract(e,n,"era")}))),t.eraCache[e]}))},n.extract=function(e,n,t){var a=this.dtFormatter(e,n).formatToParts().find((function(e){return e.type.toLowerCase()===t}));return a?a.value:null},n.numberFormatter=function(e){return void 0===e&&(e={}),new dn(this.intl,e.forceSimple||this.fastNumbers,e)},n.dtFormatter=function(e,n){return void 0===n&&(n={}),new cn(e,this.intl,n)},n.relFormatter=function(e){return void 0===e&&(e={}),new un(this.intl,this.isEnglish(),e)},n.isEnglish=function(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")},n.equals=function(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar},i(e,[{key:"fastNumbers",get:function(){var e;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(e=this).numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}}]),e}();function pn(){for(var e=arguments.length,n=new Array(e),t=0;t1?n-1:0),a=1;a3?Te.indexOf(e)+1:De.indexOf(e)+1),s}var Mn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function jn(e){var n,t=e[1],a=e[2],i=e[3],r=e[4],o=e[5],s=e[6],l=e[7],d=e[8],c=e[9],u=e[10],h=e[11],p=En(t,r,i,a,o,s,l);return n=d?Ln[d]:c?0:he(u,h),[p,new We(n)]}var Un=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Nn=/^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Bn=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Fn(e){var n=e[1],t=e[2],a=e[3];return[En(n,e[4],a,t,e[5],e[6],e[7]),We.utcInstance]}function zn(e){var n=e[1],t=e[2],a=e[3],i=e[4],r=e[5],o=e[6];return[En(n,e[7],t,a,i,r,o),We.utcInstance]}var Hn=pn(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,xn),Vn=pn(/(\d{4})-?W(\d\d)(?:-?(\d))?/,xn),Wn=pn(/(\d{4})-?(\d{3})/,xn),Yn=pn(yn),$n=fn(kn,Sn,Pn),Gn=fn(Cn,Sn,Pn),qn=fn(Tn,Sn,Pn),Xn=fn(Sn,Pn);var Jn=fn(Sn);var Zn=pn(/(\d{4})-(\d\d)-(\d\d)/,wn),Kn=pn(Dn),Qn=fn(kn,Sn,Pn,An),et=fn(Sn,Pn,An);var nt={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},tt=r({years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6}},nt),at=r({years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3}},nt),it=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],rt=it.slice(0).reverse();function ot(e,n,t){void 0===t&&(t=!1);var a={values:t?n.values:r({},e.values,n.values||{}),loc:e.loc.clone(n.loc),conversionAccuracy:n.conversionAccuracy||e.conversionAccuracy};return new lt(a)}function st(e,n,t,a,i){var r=e[i][t],o=n[t]/r,s=!(Math.sign(o)===Math.sign(a[i]))&&0!==a[i]&&Math.abs(o)<=1?function(e){return e<0?Math.floor(e):Math.ceil(e)}(o):Math.trunc(o);a[i]+=s,n[t]-=s*r}var lt=function(){function e(e){var n="longterm"===e.conversionAccuracy||!1;this.values=e.values,this.loc=e.loc||hn.create(),this.conversionAccuracy=n?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n?at:tt,this.isLuxonDuration=!0}e.fromMillis=function(n,t){return e.fromObject({milliseconds:n},t)},e.fromObject=function(n,t){if(void 0===t&&(t={}),null==n||"object"!=typeof n)throw new x("Duration.fromObject: argument expected to be an object, got "+(null===n?"null":typeof n));return new e({values:fe(n,e.normalizeUnit),loc:hn.fromObject(t),conversionAccuracy:t.conversionAccuracy})},e.fromDurationLike=function(n){if(q(n))return e.fromMillis(n);if(e.isDuration(n))return n;if("object"==typeof n)return e.fromObject(n);throw new x("Unknown duration argument "+n+" of type "+typeof n)},e.fromISO=function(n,t){var a=function(e){return mn(e,[In,_n])}(n)[0];return a?e.fromObject(a,t):e.invalid("unparsable",'the input "'+n+"\" can't be parsed as ISO 8601")},e.fromISOTime=function(n,t){var a=function(e){return mn(e,[Rn,Jn])}(n)[0];return a?e.fromObject(a,t):e.invalid("unparsable",'the input "'+n+"\" can't be parsed as ISO 8601")},e.invalid=function(n,t){if(void 0===t&&(t=null),!n)throw new x("need to specify a reason the Duration is invalid");var a=n instanceof Ee?n:new Ee(n,t);if(Qe.throwOnInvalid)throw new b(a);return new e({invalid:a})},e.normalizeUnit=function(e){var n={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!n)throw new y(e);return n},e.isDuration=function(e){return e&&e.isLuxonDuration||!1};var n=e.prototype;return n.toFormat=function(e,n){void 0===n&&(n={});var t=r({},n,{floor:!1!==n.round&&!1!==n.floor});return this.isValid?Le.create(this.loc,t).formatDurationFromString(this,e):"Invalid Duration"},n.toObject=function(){return this.isValid?r({},this.values):{}},n.toISO=function(){if(!this.isValid)return null;var e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=ie(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e},n.toISOTime=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var n=this.toMillis();if(n<0||n>=864e5)return null;e=r({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e);var t=this.shiftTo("hours","minutes","seconds","milliseconds"),a="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===t.seconds&&0===t.milliseconds||(a+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===t.milliseconds||(a+=".SSS"));var i=t.toFormat(a);return e.includePrefix&&(i="T"+i),i},n.toJSON=function(){return this.toISO()},n.toString=function(){return this.toISO()},n.toMillis=function(){return this.as("milliseconds")},n.valueOf=function(){return this.toMillis()},n.plus=function(n){if(!this.isValid)return this;for(var t,a=e.fromDurationLike(n),i={},r=p(it);!(t=r()).done;){var o=t.value;(K(a.values,o)||K(this.values,o))&&(i[o]=a.get(o)+this.get(o))}return ot(this,{values:i},!0)},n.minus=function(n){if(!this.isValid)return this;var t=e.fromDurationLike(n);return this.plus(t.negate())},n.mapUnits=function(e){if(!this.isValid)return this;for(var n={},t=0,a=Object.keys(this.values);t=0){i=c;var u=0;for(var h in s)u+=this.matrix[h][c]*s[h],s[h]=0;q(l[c])&&(u+=l[c]);var f=Math.trunc(u);for(var m in o[c]=f,s[c]=(1e3*u-1e3*f)/1e3,l)it.indexOf(m)>it.indexOf(c)&&st(this.matrix,l,m,o,c)}else q(l[c])&&(s[c]=l[c])}for(var g in s)0!==s[g]&&(o[i]+=g===i?s[g]:s[g]/this.matrix[i][g]);return ot(this,{values:o},!0).normalize()},n.negate=function(){if(!this.isValid)return this;for(var e={},n=0,t=Object.keys(this.values);ne},n.isBefore=function(e){return!!this.isValid&&this.e<=e},n.contains=function(e){return!!this.isValid&&(this.s<=e&&this.e>e)},n.set=function(n){var t=void 0===n?{}:n,a=t.start,i=t.end;return this.isValid?e.fromDateTimes(a||this.s,i||this.e):this},n.splitAt=function(){var n=this;if(!this.isValid)return[];for(var t=arguments.length,a=new Array(t),i=0;i+this.e?this.e:d;o.push(e.fromDateTimes(s,c)),s=c,l+=1}return o},n.splitBy=function(n){var t=lt.fromDurationLike(n);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];for(var a,i=this.s,r=1,o=[];i+this.e?this.e:s,o.push(e.fromDateTimes(i,a)),i=a,r+=1}return o},n.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},n.overlaps=function(e){return this.e>e.s&&this.s=e.e)},n.equals=function(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))},n.intersection=function(n){if(!this.isValid)return this;var t=this.s>n.s?this.s:n.s,a=this.e=a?null:e.fromDateTimes(t,a)},n.union=function(n){if(!this.isValid)return this;var t=this.sn.e?this.e:n.e;return e.fromDateTimes(t,a)},e.merge=function(e){var n=e.sort((function(e,n){return e.s-n.s})).reduce((function(e,n){var t=e[0],a=e[1];return a?a.overlaps(n)||a.abutsStart(n)?[t,a.union(n)]:[t.concat([a]),n]:[t,n]}),[[],null]),t=n[0],a=n[1];return a&&t.push(a),t},e.xor=function(n){for(var t,a,i=null,r=0,o=[],s=n.map((function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]})),l=p((t=Array.prototype).concat.apply(t,s).sort((function(e,n){return e.time-n.time})));!(a=l()).done;){var d=a.value;1===(r+="s"===d.type?1:-1)?i=d.time:(i&&+i!=+d.time&&o.push(e.fromDateTimes(i,d.time)),i=null)}return e.merge(o)},n.difference=function(){for(var n=this,t=arguments.length,a=new Array(t),i=0;i=0){var u;a=d;var h,p=c(e,n);if((i=e.plus(((u={})[d]=p,u)))>n)e=e.plus(((h={})[d]=p-1,h)),p-=1;else e=i;r[d]=p}}return[e,r,i,a]}(e,n,t),r=i[0],o=i[1],s=i[2],l=i[3],d=n-r,c=t.filter((function(e){return["hours","minutes","seconds","milliseconds"].indexOf(e)>=0}));if(0===c.length){var u;if(s0?(h=lt.fromMillis(d,a)).shiftTo.apply(h,c).plus(p):p}var mt={arab:"[Ù -Ù©]",arabext:"[Û°-Û¹]",bali:"[á­-á­™]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[ï¼-ï¼™]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|å››|五|å…­|七|å…«|ä¹]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[à»-à»™]",limb:"[᥆-á¥]",mlym:"[൦-൯]",mong:"[á -á ™]",mymr:"[á€-á‰]",orya:"[à­¦-à­¯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[à¹-๙]",tibt:"[༠-༩]",latn:"\\d"},gt={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},bt=mt.hanidec.replace(/[\[|\]]/g,"").split("");function vt(e,n){var t=e.numberingSystem;return void 0===n&&(n=""),new RegExp(""+mt[t||"latn"]+n)}function yt(e,n){return void 0===n&&(n=function(e){return e}),{regex:e,deser:function(e){var t=e[0];return n(function(e){var n=parseInt(e,10);if(isNaN(n)){n="";for(var t=0;t=o&&a<=s&&(n+=a-o)}}return parseInt(n,10)}return n}(t))}}}var xt="( |"+String.fromCharCode(160)+")",Ct=new RegExp(xt,"g");function Tt(e){return e.replace(/\./g,"\\.?").replace(Ct,xt)}function Dt(e){return e.replace(/\./g,"").replace(Ct," ").toLowerCase()}function wt(e,n){return null===e?null:{regex:RegExp(e.map(Tt).join("|")),deser:function(t){var a=t[0];return e.findIndex((function(e){return Dt(a)===Dt(e)}))+n}}}function Ot(e,n){return{regex:e,deser:function(e){return he(e[1],e[2])},groups:n}}function kt(e){return{regex:e,deser:function(e){return e[0]}}}var St={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};var Pt=null;function At(e,n){if(e.literal)return e;var t=Le.macroTokenToFormatOpts(e.val);if(!t)return e;var a=Le.create(n,t).formatDateTimeParts((Pt||(Pt=ca.fromMillis(1555555555555)),Pt)).map((function(e){return function(e,n,t){var a=e.type,i=e.value;if("literal"===a)return{literal:!0,val:i};var r=t[a],o=St[a];return"object"==typeof o&&(o=o[r]),o?{literal:!1,val:o}:void 0}(e,0,t)}));return a.includes(void 0)?e:a}function Rt(e,n,t){var a=function(e,n){var t;return(t=Array.prototype).concat.apply(t,e.map((function(e){return At(e,n)})))}(Le.parseFormat(t),e),i=a.map((function(n){return t=n,i=vt(a=e),r=vt(a,"{2}"),o=vt(a,"{3}"),s=vt(a,"{4}"),l=vt(a,"{6}"),d=vt(a,"{1,2}"),c=vt(a,"{1,3}"),u=vt(a,"{1,6}"),h=vt(a,"{1,9}"),p=vt(a,"{2,4}"),f=vt(a,"{4,6}"),m=function(e){return{regex:RegExp((n=e.val,n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:function(e){return e[0]},literal:!0};var n},(g=function(e){if(t.literal)return m(e);switch(e.val){case"G":return wt(a.eras("short",!1),0);case"GG":return wt(a.eras("long",!1),0);case"y":return yt(u);case"yy":return yt(p,ce);case"yyyy":return yt(s);case"yyyyy":return yt(f);case"yyyyyy":return yt(l);case"M":return yt(d);case"MM":return yt(r);case"MMM":return wt(a.months("short",!0,!1),1);case"MMMM":return wt(a.months("long",!0,!1),1);case"L":return yt(d);case"LL":return yt(r);case"LLL":return wt(a.months("short",!1,!1),1);case"LLLL":return wt(a.months("long",!1,!1),1);case"d":return yt(d);case"dd":return yt(r);case"o":return yt(c);case"ooo":return yt(o);case"HH":return yt(r);case"H":return yt(d);case"hh":return yt(r);case"h":return yt(d);case"mm":return yt(r);case"m":case"q":return yt(d);case"qq":return yt(r);case"s":return yt(d);case"ss":return yt(r);case"S":return yt(c);case"SSS":return yt(o);case"u":return kt(h);case"uu":return kt(d);case"uuu":return yt(i);case"a":return wt(a.meridiems(),0);case"kkkk":return yt(s);case"kk":return yt(p,ce);case"W":return yt(d);case"WW":return yt(r);case"E":case"c":return yt(i);case"EEE":return wt(a.weekdays("short",!1,!1),1);case"EEEE":return wt(a.weekdays("long",!1,!1),1);case"ccc":return wt(a.weekdays("short",!0,!1),1);case"cccc":return wt(a.weekdays("long",!0,!1),1);case"Z":case"ZZ":return Ot(new RegExp("([+-]"+d.source+")(?::("+r.source+"))?"),2);case"ZZZ":return Ot(new RegExp("([+-]"+d.source+")("+r.source+")?"),2);case"z":return kt(/[a-z_+-/]{1,256}?/i);default:return m(e)}}(t)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"}).token=t,g;var t,a,i,r,o,s,l,d,c,u,h,p,f,m,g})),r=i.find((function(e){return e.invalidReason}));if(r)return{input:n,tokens:a,invalidReason:r.invalidReason};var o=function(e){return["^"+e.map((function(e){return e.regex})).reduce((function(e,n){return e+"("+n.source+")"}),"")+"$",e]}(i),s=o[0],l=o[1],d=RegExp(s,"i"),c=function(e,n,t){var a=e.match(n);if(a){var i={},r=1;for(var o in t)if(K(t,o)){var s=t[o],l=s.groups?s.groups+1:1;!s.literal&&s.token&&(i[s.token.val[0]]=s.deser(a.slice(r,r+l))),r+=l}return[a,i]}return[a,{}]}(n,d,l),u=c[0],h=c[1],p=h?function(e){var n,t=null;return G(e.z)||(t=He.create(e.z)),G(e.Z)||(t||(t=new We(e.Z)),n=e.Z),G(e.q)||(e.M=3*(e.q-1)+1),G(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),G(e.u)||(e.S=ae(e.u)),[Object.keys(e).reduce((function(n,t){var a=function(e){switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}}(t);return a&&(n[a]=e[t]),n}),{}),t,n]}(h):[null,null,void 0],f=p[0],m=p[1],g=p[2];if(K(h,"a")&&K(h,"H"))throw new v("Can't include meridiem when specifying 24-hour format");return{input:n,tokens:a,regex:d,rawMatches:u,matches:h,result:f,zone:m,specificOffset:g}}var It=[0,31,59,90,120,151,181,212,243,273,304,334],_t=[0,31,60,91,121,152,182,213,244,274,305,335];function Lt(e,n){return new Ee("unit out of range","you specified "+n+" (of type "+typeof n+") as a "+e+", which is invalid")}function Et(e,n,t){var a=new Date(Date.UTC(e,n-1,t)).getUTCDay();return 0===a?7:a}function Mt(e,n,t){return t+(re(e)?_t:It)[n-1]}function jt(e,n){var t=re(e)?_t:It,a=t.findIndex((function(e){return ede(t)?(n=t+1,l=1):n=t,r({weekYear:n,weekNumber:l,weekday:s},ge(e))}function Nt(e){var n,t=e.weekYear,a=e.weekNumber,i=e.weekday,o=Et(t,1,4),s=oe(t),l=7*a+i-o-3;l<1?l+=oe(n=t-1):l>s?(n=t+1,l-=oe(t)):n=t;var d=jt(n,l);return r({year:n,month:d.month,day:d.day},ge(e))}function Bt(e){var n=e.year;return r({year:n,ordinal:Mt(n,e.month,e.day)},ge(e))}function Ft(e){var n=e.year,t=jt(n,e.ordinal);return r({year:n,month:t.month,day:t.day},ge(e))}function zt(e){var n=X(e.year),t=Q(e.month,1,12),a=Q(e.day,1,se(e.year,e.month));return n?t?!a&&Lt("day",e.day):Lt("month",e.month):Lt("year",e.year)}function Ht(e){var n=e.hour,t=e.minute,a=e.second,i=e.millisecond,r=Q(n,0,23)||24===n&&0===t&&0===a&&0===i,o=Q(t,0,59),s=Q(a,0,59),l=Q(i,0,999);return r?o?s?!l&&Lt("millisecond",i):Lt("second",a):Lt("minute",t):Lt("hour",n)}var Vt="Invalid DateTime";function Wt(e){return new Ee("unsupported zone",'the zone "'+e.name+'" is not supported')}function Yt(e){return null===e.weekData&&(e.weekData=Ut(e.c)),e.weekData}function $t(e,n){var t={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new ca(r({},t,n,{old:t}))}function Gt(e,n,t){var a=e-60*n*1e3,i=t.offset(a);if(n===i)return[a,n];a-=60*(i-n)*1e3;var r=t.offset(a);return i===r?[a,i]:[e-60*Math.min(i,r)*1e3,Math.max(i,r)]}function qt(e,n){var t=new Date(e+=60*n*1e3);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function Xt(e,n,t){return Gt(le(e),n,t)}function Jt(e,n){var t=e.o,a=e.c.year+Math.trunc(n.years),i=e.c.month+Math.trunc(n.months)+3*Math.trunc(n.quarters),o=r({},e.c,{year:a,month:i,day:Math.min(e.c.day,se(a,i))+Math.trunc(n.days)+7*Math.trunc(n.weeks)}),s=lt.fromObject({years:n.years-Math.trunc(n.years),quarters:n.quarters-Math.trunc(n.quarters),months:n.months-Math.trunc(n.months),weeks:n.weeks-Math.trunc(n.weeks),days:n.days-Math.trunc(n.days),hours:n.hours,minutes:n.minutes,seconds:n.seconds,milliseconds:n.milliseconds}).as("milliseconds"),l=Gt(le(o),t,e.zone),d=l[0],c=l[1];return 0!==s&&(d+=s,c=e.zone.offset(d)),{ts:d,o:c}}function Zt(e,n,t,a,i,o){var s=t.setZone,l=t.zone;if(e&&0!==Object.keys(e).length){var d=n||l,c=ca.fromObject(e,r({},t,{zone:d,specificOffset:o}));return s?c:c.setZone(l)}return ca.invalid(new Ee("unparsable",'the input "'+i+"\" can't be parsed as "+a))}function Kt(e,n,t){return void 0===t&&(t=!0),e.isValid?Le.create(hn.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(e,n):null}function Qt(e,n){var t=n.suppressSeconds,a=void 0!==t&&t,i=n.suppressMilliseconds,r=void 0!==i&&i,o=n.includeOffset,s=n.includePrefix,l=void 0!==s&&s,d=n.includeZone,c=void 0!==d&&d,u=n.spaceZone,h=void 0!==u&&u,p=n.format,f=void 0===p?"extended":p,m="basic"===f?"HHmm":"HH:mm";a&&0===e.second&&0===e.millisecond||(m+="basic"===f?"ss":":ss",r&&0===e.millisecond||(m+=".SSS")),(c||o)&&h&&(m+=" "),c?m+="z":o&&(m+="basic"===f?"ZZZ":"ZZ");var g=Kt(e,m);return l&&(g="T"+g),g}var ea={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},na={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},ta={ordinal:1,hour:0,minute:0,second:0,millisecond:0},aa=["year","month","day","hour","minute","second","millisecond"],ia=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],ra=["year","ordinal","hour","minute","second","millisecond"];function oa(e){var n={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!n)throw new y(e);return n}function sa(e,n){var t,a,i=$e(n.zone,Qe.defaultZone),r=hn.fromObject(n),o=Qe.now();if(G(e.year))t=o;else{for(var s,l=p(aa);!(s=l()).done;){var d=s.value;G(e[d])&&(e[d]=ea[d])}var c=zt(e)||Ht(e);if(c)return ca.invalid(c);var u=Xt(e,i.offset(o),i);t=u[0],a=u[1]}return new ca({ts:t,zone:i,loc:r,o:a})}function la(e,n,t){var a=!!G(t.round)||t.round,i=function(e,i){return e=ie(e,a||t.calendary?0:2,!0),n.loc.clone(t).relFormatter(t).format(e,i)},r=function(a){return t.calendary?n.hasSame(e,a)?0:n.startOf(a).diff(e.startOf(a),a).get(a):n.diff(e,a).get(a)};if(t.unit)return i(r(t.unit),t.unit);for(var o,s=p(t.units);!(o=s()).done;){var l=o.value,d=r(l);if(Math.abs(d)>=1)return i(d,l)}return i(e>n?-0:0,t.units[t.units.length-1])}function da(e){var n,t={};return e.length>0&&"object"==typeof e[e.length-1]?(t=e[e.length-1],n=Array.from(e).slice(0,e.length-1)):n=Array.from(e),[t,n]}var ca=function(){function e(e){var n=e.zone||Qe.defaultZone,t=e.invalid||(Number.isNaN(e.ts)?new Ee("invalid input"):null)||(n.isValid?null:Wt(n));this.ts=G(e.ts)?Qe.now():e.ts;var a=null,i=null;if(!t)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(n)){var r=[e.old.c,e.old.o];a=r[0],i=r[1]}else{var o=n.offset(this.ts);a=qt(this.ts,o),a=(t=Number.isNaN(a.year)?new Ee("invalid input"):null)?null:a,i=t?null:o}this._zone=n,this.loc=e.loc||hn.create(),this.invalid=t,this.weekData=null,this.c=a,this.o=i,this.isLuxonDateTime=!0}e.now=function(){return new e({})},e.local=function(){var e=da(arguments),n=e[0],t=e[1],a=t[0],i=t[1],r=t[2],o=t[3],s=t[4],l=t[5],d=t[6];return sa({year:a,month:i,day:r,hour:o,minute:s,second:l,millisecond:d},n)},e.utc=function(){var e=da(arguments),n=e[0],t=e[1],a=t[0],i=t[1],r=t[2],o=t[3],s=t[4],l=t[5],d=t[6];return n.zone=We.utcInstance,sa({year:a,month:i,day:r,hour:o,minute:s,second:l,millisecond:d},n)},e.fromJSDate=function(n,t){void 0===t&&(t={});var a,i=(a=n,"[object Date]"===Object.prototype.toString.call(a)?n.valueOf():NaN);if(Number.isNaN(i))return e.invalid("invalid input");var r=$e(t.zone,Qe.defaultZone);return r.isValid?new e({ts:i,zone:r,loc:hn.fromObject(t)}):e.invalid(Wt(r))},e.fromMillis=function(n,t){if(void 0===t&&(t={}),q(n))return n<-864e13||n>864e13?e.invalid("Timestamp out of range"):new e({ts:n,zone:$e(t.zone,Qe.defaultZone),loc:hn.fromObject(t)});throw new x("fromMillis requires a numerical input, but received a "+typeof n+" with value "+n)},e.fromSeconds=function(n,t){if(void 0===t&&(t={}),q(n))return new e({ts:1e3*n,zone:$e(t.zone,Qe.defaultZone),loc:hn.fromObject(t)});throw new x("fromSeconds requires a numerical input")},e.fromObject=function(n,t){void 0===t&&(t={}),n=n||{};var a=$e(t.zone,Qe.defaultZone);if(!a.isValid)return e.invalid(Wt(a));var i=Qe.now(),r=G(t.specificOffset)?a.offset(i):t.specificOffset,o=fe(n,oa),s=!G(o.ordinal),l=!G(o.year),d=!G(o.month)||!G(o.day),c=l||d,u=o.weekYear||o.weekNumber,h=hn.fromObject(t);if((c||s)&&u)throw new v("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&s)throw new v("Can't mix ordinal dates with month/day");var f,m,g=u||o.weekday&&!c,b=qt(i,r);g?(f=ia,m=na,b=Ut(b)):s?(f=ra,m=ta,b=Bt(b)):(f=aa,m=ea);for(var y,x=!1,C=p(f);!(y=C()).done;){var T=y.value;G(o[T])?o[T]=x?m[T]:b[T]:x=!0}var D=(g?function(e){var n=X(e.weekYear),t=Q(e.weekNumber,1,de(e.weekYear)),a=Q(e.weekday,1,7);return n?t?!a&&Lt("weekday",e.weekday):Lt("week",e.week):Lt("weekYear",e.weekYear)}(o):s?function(e){var n=X(e.year),t=Q(e.ordinal,1,oe(e.year));return n?!t&&Lt("ordinal",e.ordinal):Lt("year",e.year)}(o):zt(o))||Ht(o);if(D)return e.invalid(D);var w=Xt(g?Nt(o):s?Ft(o):o,r,a),O=new e({ts:w[0],zone:a,o:w[1],loc:h});return o.weekday&&c&&n.weekday!==O.weekday?e.invalid("mismatched weekday","you can't specify both a weekday of "+o.weekday+" and a date of "+O.toISO()):O},e.fromISO=function(e,n){void 0===n&&(n={});var t=function(e){return mn(e,[Hn,$n],[Vn,Gn],[Wn,qn],[Yn,Xn])}(e);return Zt(t[0],t[1],n,"ISO 8601",e)},e.fromRFC2822=function(e,n){void 0===n&&(n={});var t=function(e){return mn(function(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e),[Mn,jn])}(e);return Zt(t[0],t[1],n,"RFC 2822",e)},e.fromHTTP=function(e,n){void 0===n&&(n={});var t=function(e){return mn(e,[Un,Fn],[Nn,Fn],[Bn,zn])}(e);return Zt(t[0],t[1],n,"HTTP",n)},e.fromFormat=function(n,t,a){if(void 0===a&&(a={}),G(n)||G(t))throw new x("fromFormat requires an input string and a format");var i=a,r=i.locale,o=void 0===r?null:r,s=i.numberingSystem,l=void 0===s?null:s,d=function(e,n,t){var a=Rt(e,n,t);return[a.result,a.zone,a.specificOffset,a.invalidReason]}(hn.fromOpts({locale:o,numberingSystem:l,defaultToEN:!0}),n,t),c=d[0],u=d[1],h=d[2],p=d[3];return p?e.invalid(p):Zt(c,u,a,"format "+t,n,h)},e.fromString=function(n,t,a){return void 0===a&&(a={}),e.fromFormat(n,t,a)},e.fromSQL=function(e,n){void 0===n&&(n={});var t=function(e){return mn(e,[Zn,Qn],[Kn,et])}(e);return Zt(t[0],t[1],n,"SQL",e)},e.invalid=function(n,t){if(void 0===t&&(t=null),!n)throw new x("need to specify a reason the DateTime is invalid");var a=n instanceof Ee?n:new Ee(n,t);if(Qe.throwOnInvalid)throw new m(a);return new e({invalid:a})},e.isDateTime=function(e){return e&&e.isLuxonDateTime||!1};var n=e.prototype;return n.get=function(e){return this[e]},n.resolvedLocaleOptions=function(e){void 0===e&&(e={});var n=Le.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:n.locale,numberingSystem:n.numberingSystem,outputCalendar:n.calendar}},n.toUTC=function(e,n){return void 0===e&&(e=0),void 0===n&&(n={}),this.setZone(We.instance(e),n)},n.toLocal=function(){return this.setZone(Qe.defaultZone)},n.setZone=function(n,t){var a=void 0===t?{}:t,i=a.keepLocalTime,r=void 0!==i&&i,o=a.keepCalendarTime,s=void 0!==o&&o;if((n=$e(n,Qe.defaultZone)).equals(this.zone))return this;if(n.isValid){var l=this.ts;if(r||s){var d=n.offset(this.ts);l=Xt(this.toObject(),d,n)[0]}return $t(this,{ts:l,zone:n})}return e.invalid(Wt(n))},n.reconfigure=function(e){var n=void 0===e?{}:e,t=n.locale,a=n.numberingSystem,i=n.outputCalendar;return $t(this,{loc:this.loc.clone({locale:t,numberingSystem:a,outputCalendar:i})})},n.setLocale=function(e){return this.reconfigure({locale:e})},n.set=function(e){if(!this.isValid)return this;var n,t=fe(e,oa),a=!G(t.weekYear)||!G(t.weekNumber)||!G(t.weekday),i=!G(t.ordinal),o=!G(t.year),s=!G(t.month)||!G(t.day),l=o||s,d=t.weekYear||t.weekNumber;if((l||i)&&d)throw new v("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&i)throw new v("Can't mix ordinal dates with month/day");a?n=Nt(r({},Ut(this.c),t)):G(t.ordinal)?(n=r({},this.toObject(),t),G(t.day)&&(n.day=Math.min(se(n.year,n.month),n.day))):n=Ft(r({},Bt(this.c),t));var c=Xt(n,this.o,this.zone);return $t(this,{ts:c[0],o:c[1]})},n.plus=function(e){return this.isValid?$t(this,Jt(this,lt.fromDurationLike(e))):this},n.minus=function(e){return this.isValid?$t(this,Jt(this,lt.fromDurationLike(e).negate())):this},n.startOf=function(e){if(!this.isValid)return this;var n={},t=lt.normalizeUnit(e);switch(t){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0}if("weeks"===t&&(n.weekday=1),"quarters"===t){var a=Math.ceil(this.month/3);n.month=3*(a-1)+1}return this.set(n)},n.endOf=function(e){var n;return this.isValid?this.plus((n={},n[e]=1,n)).startOf(e).minus(1):this},n.toFormat=function(e,n){return void 0===n&&(n={}),this.isValid?Le.create(this.loc.redefaultToEN(n)).formatDateTimeFromString(this,e):Vt},n.toLocaleString=function(e,n){return void 0===e&&(e=O),void 0===n&&(n={}),this.isValid?Le.create(this.loc.clone(n),e).formatDateTime(this):Vt},n.toLocaleParts=function(e){return void 0===e&&(e={}),this.isValid?Le.create(this.loc.clone(e),e).formatDateTimeParts(this):[]},n.toISO=function(e){return void 0===e&&(e={}),this.isValid?this.toISODate(e)+"T"+this.toISOTime(e):null},n.toISODate=function(e){var n=(void 0===e?{}:e).format,t="basic"===(void 0===n?"extended":n)?"yyyyMMdd":"yyyy-MM-dd";return this.year>9999&&(t="+"+t),Kt(this,t)},n.toISOWeekDate=function(){return Kt(this,"kkkk-'W'WW-c")},n.toISOTime=function(e){var n=void 0===e?{}:e,t=n.suppressMilliseconds,a=void 0!==t&&t,i=n.suppressSeconds,r=void 0!==i&&i,o=n.includeOffset,s=void 0===o||o,l=n.includePrefix,d=void 0!==l&&l,c=n.format;return Qt(this,{suppressSeconds:r,suppressMilliseconds:a,includeOffset:s,includePrefix:d,format:void 0===c?"extended":c})},n.toRFC2822=function(){return Kt(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)},n.toHTTP=function(){return Kt(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")},n.toSQLDate=function(){return Kt(this,"yyyy-MM-dd")},n.toSQLTime=function(e){var n=void 0===e?{}:e,t=n.includeOffset,a=void 0===t||t,i=n.includeZone;return Qt(this,{includeOffset:a,includeZone:void 0!==i&&i,spaceZone:!0})},n.toSQL=function(e){return void 0===e&&(e={}),this.isValid?this.toSQLDate()+" "+this.toSQLTime(e):null},n.toString=function(){return this.isValid?this.toISO():Vt},n.valueOf=function(){return this.toMillis()},n.toMillis=function(){return this.isValid?this.ts:NaN},n.toSeconds=function(){return this.isValid?this.ts/1e3:NaN},n.toJSON=function(){return this.toISO()},n.toBSON=function(){return this.toJSDate()},n.toObject=function(e){if(void 0===e&&(e={}),!this.isValid)return{};var n=r({},this.c);return e.includeConfig&&(n.outputCalendar=this.outputCalendar,n.numberingSystem=this.loc.numberingSystem,n.locale=this.loc.locale),n},n.toJSDate=function(){return new Date(this.isValid?this.ts:NaN)},n.diff=function(e,n,t){if(void 0===n&&(n="milliseconds"),void 0===t&&(t={}),!this.isValid||!e.isValid)return lt.invalid("created by diffing an invalid DateTime");var a,i=r({locale:this.locale,numberingSystem:this.numberingSystem},t),o=(a=n,Array.isArray(a)?a:[a]).map(lt.normalizeUnit),s=e.valueOf()>this.valueOf(),l=ft(s?this:e,s?e:this,o,i);return s?l.negate():l},n.diffNow=function(n,t){return void 0===n&&(n="milliseconds"),void 0===t&&(t={}),this.diff(e.now(),n,t)},n.until=function(e){return this.isValid?ut.fromDateTimes(this,e):this},n.hasSame=function(e,n){if(!this.isValid)return!1;var t=e.valueOf(),a=this.setZone(e.zone,{keepLocalTime:!0});return a.startOf(n)<=t&&t<=a.endOf(n)},n.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},n.toRelative=function(n){if(void 0===n&&(n={}),!this.isValid)return null;var t=n.base||e.fromObject({},{zone:this.zone}),a=n.padding?thisthis.set({month:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return re(this.year)}},{key:"daysInMonth",get:function(){return se(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?oe(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?de(this.weekYear):NaN}}],[{key:"DATE_SHORT",get:function(){return O}},{key:"DATE_MED",get:function(){return k}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return S}},{key:"DATE_FULL",get:function(){return P}},{key:"DATE_HUGE",get:function(){return A}},{key:"TIME_SIMPLE",get:function(){return R}},{key:"TIME_WITH_SECONDS",get:function(){return I}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return _}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return L}},{key:"TIME_24_SIMPLE",get:function(){return E}},{key:"TIME_24_WITH_SECONDS",get:function(){return M}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return j}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return U}},{key:"DATETIME_SHORT",get:function(){return N}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return B}},{key:"DATETIME_MED",get:function(){return F}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return z}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return H}},{key:"DATETIME_FULL",get:function(){return V}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return W}},{key:"DATETIME_HUGE",get:function(){return Y}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return $}}]),e}();function ua(e){if(ca.isDateTime(e))return e;if(e&&e.valueOf&&q(e.valueOf()))return ca.fromJSDate(e);if(e&&"object"==typeof e)return ca.fromObject(e);throw new x("Unknown datetime argument: "+e+", of type "+typeof e)}n.DateTime=ca,n.Duration=lt,n.FixedOffsetZone=We,n.IANAZone=He,n.Info=ht,n.Interval=ut,n.InvalidZone=Ye,n.Settings=Qe,n.SystemZone=Ue,n.VERSION="2.2.0",n.Zone=Me},function(e,n,t){var a=t(2),i=t(148),r=t(149),o=t(150),s=t(24),l=t(10),d=l("iterator"),c=l("toStringTag"),u=o.values,h=function(e,n){if(e){if(e[d]!==u)try{s(e,d,u)}catch(n){e[d]=u}if(e[c]||s(e,c,n),i[n])for(var t in o)if(e[t]!==o[t])try{s(e,t,o[t])}catch(n){e[t]=o[t]}}};for(var p in i)h(a[p]&&a[p].prototype,p);h(r,"DOMTokenList")},function(e,n,t){var a=t(2),i=t(45),r=t(13),o=t(79),s=t(75),l=t(74),d=i("wks"),c=a.Symbol,u=c&&c.for,h=l?c:c&&c.withoutSetter||o;e.exports=function(e){if(!r(d,e)||!s&&"string"!=typeof d[e]){var n="Symbol."+e;s&&r(c,e)?d[e]=c[e]:d[e]=l&&u?u(n):h(n)}return d[e]}},function(e,n,t){var a=t(2),i=t(22),r=a.String,o=a.TypeError;e.exports=function(e){if(i(e))return e;throw o(r(e)+" is not an object")}},function(e,n){var t=Array.isArray;e.exports=t},function(e,n,t){var a=t(4),i=t(48),r=a({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return r(i(e),n)}},function(e,n,t){var a=t(89),i="object"==typeof self&&self&&self.Object===Object&&self,r=a||i||Function("return this")();e.exports=r},function(e,n){e.exports={package:"../../package.json",menu:{text:"{{version|title}}",locations:[".navbar > .home-link::after",".sidebar > .nav-links > :first-child::before"],items:[{text:"Documentation",items:[{text:"Development (master)",link:"/docs/master/"},{text:"Latest version",link:"/docs/latest/"},{type:"versions",text:"{{version}}{{tag|suffix}}",link:"/docs/{{version}}/",exclude:/^[01]\.|2\.[0-5]\./,group:"minor"}]},{text:"Release notes (5 latest)",items:[{type:"versions",limit:5,target:"_blank",group:"patch",link:"https://github.com/chartjs/Chart.js/releases/tag/v{{version}}"}]}]},filters:{suffix:e=>e?` (${e})`:"",title:(e,n)=>window.location.href.includes("master")?"Development (master)":"latest"===n.tag?"Latest ("+e+")":e+(n.tag?` (${tag})`:"")+" (outdated)"},base:"/docs/3.9.1/",name:"chart.js",version:"3.9.1",versions:[{tag:null,name:"3.9.0"},{tag:null,name:"3.8.2"},{tag:null,name:"3.8.1"},{tag:null,name:"3.8.0"},{tag:null,name:"3.7.1"},{tag:null,name:"3.7.0"},{tag:null,name:"3.6.2"},{tag:null,name:"3.6.1"},{tag:null,name:"3.6.0"},{tag:null,name:"3.5.1"},{tag:null,name:"3.5.0"},{tag:null,name:"3.4.1"},{tag:null,name:"3.4.0"},{tag:null,name:"3.3.2"},{tag:null,name:"3.3.1"},{tag:null,name:"3.3.0"},{tag:null,name:"3.2.1"},{tag:null,name:"3.2.0"},{tag:null,name:"3.1.1"},{tag:null,name:"3.1.0"},{tag:null,name:"3.0.2"},{tag:null,name:"3.0.1"},{tag:null,name:"3.0.0"},{tag:null,name:"3.0.0-rc.7"},{tag:null,name:"3.0.0-rc.6"},{tag:null,name:"3.0.0-rc.5"},{tag:null,name:"3.0.0-rc.4"},{tag:null,name:"3.0.0-rc.3"},{tag:null,name:"3.0.0-rc.2"},{tag:null,name:"3.0.0-rc"},{tag:null,name:"3.0.0-beta.14"},{tag:null,name:"3.0.0-beta.13"},{tag:null,name:"3.0.0-beta.12"},{tag:null,name:"3.0.0-beta.11"},{tag:null,name:"3.0.0-beta.10"},{tag:null,name:"3.0.0-beta.9"},{tag:null,name:"3.0.0-beta.8"},{tag:null,name:"3.0.0-beta.7"},{tag:null,name:"3.0.0-beta.6"},{tag:null,name:"3.0.0-beta.5"},{tag:null,name:"3.0.0-beta.4"},{tag:null,name:"3.0.0-beta.3"},{tag:null,name:"3.0.0-beta.2"},{tag:null,name:"3.0.0-beta"},{tag:null,name:"3.0.0-alpha.2"},{tag:null,name:"3.0.0-alpha"},{tag:null,name:"2.9.4"},{tag:null,name:"2.9.3"},{tag:null,name:"2.9.2"},{tag:null,name:"2.9.1"},{tag:null,name:"2.9.0"},{tag:null,name:"2.8.0"},{tag:null,name:"2.8.0-rc.1"},{tag:null,name:"2.7.3"},{tag:null,name:"2.7.2"},{tag:null,name:"2.7.1"},{tag:null,name:"2.7.0"},{tag:null,name:"2.6.0"},{tag:null,name:"2.5.0"},{tag:null,name:"2.4.0"},{tag:null,name:"2.3.0"},{tag:null,name:"2.3.0-rc.1"},{tag:null,name:"2.2.2"},{tag:null,name:"2.2.1"},{tag:null,name:"2.2.0"},{tag:null,name:"2.2.0-rc.2"},{tag:null,name:"2.2.0-rc.1"},{tag:null,name:"2.1.6"},{tag:null,name:"2.1.5"},{tag:null,name:"2.1.4"},{tag:null,name:"2.1.3"},{tag:null,name:"2.1.2"},{tag:null,name:"2.1.1"},{tag:null,name:"2.1.0"},{tag:null,name:"2.0.2"},{tag:null,name:"2.0.1"},{tag:null,name:"2.0.0"},{tag:null,name:"1.1.1"},{tag:null,name:"1.1.0"},{tag:null,name:"1.0.2"},{tag:null,name:"1.0.1"},{tag:null,name:"1.0.1-beta.2"}]}},function(e,n,t){var a=t(7);e.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,n){var t=Function.prototype.call;e.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},function(e,n,t){var a=t(189),i=t(192);e.exports=function(e,n){var t=i(e,n);return a(t)?t:void 0}},function(e,n,t){"use strict";var a=t(160),i=t(17),r=t(4),o=t(161),s=t(7),l=t(11),d=t(3),c=t(34),u=t(83),h=t(57),p=t(33),f=t(167),m=t(76),g=t(169),b=t(170),v=t(10)("replace"),y=Math.max,x=Math.min,C=r([].concat),T=r([].push),D=r("".indexOf),w=r("".slice),O="$0"==="a".replace(/./,"$0"),k=!!/./[v]&&""===/./[v]("a","$0");o("replace",(function(e,n,t){var r=k?"$":"$0";return[function(e,t){var a=p(this),r=null==e?void 0:m(e,v);return r?i(r,e,a,t):i(n,h(a),e,t)},function(e,i){var o=l(this),s=h(e);if("string"==typeof i&&-1===D(i,r)&&-1===D(i,"$<")){var p=t(n,o,s,i);if(p.done)return p.value}var m=d(i);m||(i=h(i));var v=o.global;if(v){var O=o.unicode;o.lastIndex=0}for(var k=[];;){var S=b(o,s);if(null===S)break;if(T(k,S),!v)break;""===h(S[0])&&(o.lastIndex=f(s,u(o.lastIndex),O))}for(var P,A="",R=0,I=0;I=R&&(A+=w(s,R,L)+N,R=L+_.length)}return A+w(s,R)}]}),!!s((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}))||!O||k)},function(e,n,t){"use strict";t.d(n,"d",(function(){return a})),t.d(n,"a",(function(){return r})),t.d(n,"i",(function(){return o})),t.d(n,"f",(function(){return l})),t.d(n,"g",(function(){return d})),t.d(n,"h",(function(){return c})),t.d(n,"b",(function(){return u})),t.d(n,"e",(function(){return h})),t.d(n,"k",(function(){return p})),t.d(n,"l",(function(){return f})),t.d(n,"c",(function(){return g})),t.d(n,"j",(function(){return b}));t(19);const a=/#.*$/,i=/\.(md|html)$/,r=/\/$/,o=/^[a-z]+:/i;function s(e){return decodeURI(e).replace(a,"").replace(i,"")}function l(e){return o.test(e)}function d(e){return/^mailto:/.test(e)}function c(e){return/^tel:/.test(e)}function u(e){if(l(e))return e;const n=e.match(a),t=n?n[0]:"",i=s(e);return r.test(i)?e:i+".html"+t}function h(e,n){const t=decodeURIComponent(e.hash),i=function(e){const n=e.match(a);if(n)return n[0]}(n);if(i&&t!==i)return!1;return s(e.path)===s(n)}function p(e,n,t){if(l(n))return{type:"external",path:n};t&&(n=function(e,n,t){const a=e.charAt(0);if("/"===a)return e;if("?"===a||"#"===a)return n+e;const i=n.split("/");t&&i[i.length-1]||i.pop();const r=e.replace(/^\//,"").split("/");for(let e=0;efunction e(n,t,a,i=1){if("string"==typeof n)return p(t,n,a);if(Array.isArray(n))return Object.assign(p(t,n[0],a),{title:n[1]});{const r=n.children||[];return 0===r.length&&n.path?Object.assign(p(t,n.path,a),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:r.map(n=>e(n,t,a,i+1)),collapsable:!1!==n.collapsable}}}(e,i,t)):[]}return[]}function m(e){const n=g(e.headers||[]);return[{type:"group",collapsable:!1,title:e.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:e.path,path:e.path+"#"+n.slug,children:n.children||[]}))}]}function g(e){let n;return(e=e.map(e=>Object.assign({},e))).forEach(e=>{2===e.level?n=e:n&&(n.children||(n.children=[])).push(e)}),e.filter(e=>2===e.level)}function b(e){return Object.assign(e,{type:e.items&&e.items.length?"links":"link"})}},function(e,n){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,n,t){var a=t(3);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},function(e,n,t){var a=t(2),i=t(3),r=function(e){return i(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?r(a[e]):a[e]&&a[e][n]}},function(e,n,t){var a=t(16),i=t(25),r=t(43);e.exports=a?function(e,n,t){return i.f(e,n,r(1,t))}:function(e,n,t){return e[n]=t,e}},function(e,n,t){var a=t(2),i=t(16),r=t(80),o=t(11),s=t(72),l=a.TypeError,d=Object.defineProperty;n.f=i?d:function(e,n,t){if(o(e),n=s(n),o(t),r)try{return d(e,n,t)}catch(e){}if("get"in t||"set"in t)throw l("Accessors not supported");return"value"in t&&(e[n]=t.value),e}},function(e,n,t){var a=t(30),i=t(174),r=t(175),o=a?a.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):r(e)}},function(e,n,t){var a=t(126),i=t(33);e.exports=function(e){return a(i(e))}},function(e,n){e.exports=!1},function(e,n,t){var a=t(2),i=t(3),r=t(13),o=t(24),s=t(47),l=t(50),d=t(51),c=t(81).CONFIGURABLE,u=d.get,h=d.enforce,p=String(String).split("String");(e.exports=function(e,n,t,l){var d,u=!!l&&!!l.unsafe,f=!!l&&!!l.enumerable,m=!!l&&!!l.noTargetGet,g=l&&void 0!==l.name?l.name:n;i(t)&&("Symbol("===String(g).slice(0,7)&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!r(t,"name")||c&&t.name!==g)&&o(t,"name",g),(d=h(t)).source||(d.source=p.join("string"==typeof g?g:""))),e!==a?(u?!m&&e[n]&&(f=!0):delete e[n],f?e[n]=t:o(e,n,t)):f?e[n]=t:s(n,t)})(Function.prototype,"toString",(function(){return i(this)&&u(this).source||l(this)}))},function(e,n,t){var a=t(14).Symbol;e.exports=a},function(e,n,t){t(9),t(19);e.exports={resolveTemplate:function(e,n,t){if(!e)return e;for(const[a,i]of Object.entries(n)){const r=new RegExp(`{{\\s*${a}\\s*(\\|\\s*(?\\w+)\\s*)?}}`,"g");e=e.replace(r,(e,a,r)=>{const o=r&&t[r]?t[r](i,n):i;return null==o?"":o})}return e}}},function(e,n,t){t(9);const a=t(266),i=/^(?0|[1-9]\d*)\.(?0|[1-9]\d*)\.(?0|[1-9]\d*)(?:-(?(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,r={major:/^\d\./,minor:/^\d\.\d\./,patch:/^\d\.\d\.\d/};e.exports={collapseVersions:function({group:e},n){const t=[...n].sort((e,n)=>-a(e.name,n.name)),i=r[e],o={};return i?t.filter(e=>{const n=i.exec(e.name),t=n&&n[0];if(t&&!o[t])return o[t]=e,!0}):t},describeVersion:function({name:e,tag:n}){const t=i.exec(e);if(!t)return{};const a=e,r=t.groups,o=`${r.major}.${r.minor}.${r.patch}`;return{...r,version:a,core:o,tag:n}}}},function(e,n,t){var a=t(2).TypeError;e.exports=function(e){if(null==e)throw a("Can't call method on "+e);return e}},function(e,n){var t=Math.ceil,a=Math.floor;e.exports=function(e){var n=+e;return n!=n||0===n?0:(n>0?a:t)(n)}},function(e,n,t){var a,i=t(11),r=t(152),o=t(54),s=t(53),l=t(154),d=t(49),c=t(52),u=c("IE_PROTO"),h=function(){},p=function(e){return" + + diff --git a/scriptApl/chart.js/dist/docs/axes/_common_ticks.html b/scriptApl/chart.js/dist/docs/axes/_common_ticks.html new file mode 100644 index 00000000..7df17ffc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/_common_ticks.html @@ -0,0 +1,45 @@ + + + + + + Common tick options to all axes | Chart.js + + + + + + + +

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/_common.html b/scriptApl/chart.js/dist/docs/axes/cartesian/_common.html new file mode 100644 index 00000000..582cf275 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/_common.html @@ -0,0 +1,45 @@ + + + + + + Common options to all cartesian axes | Chart.js + + + + + + + +

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/_common_ticks.html b/scriptApl/chart.js/dist/docs/axes/cartesian/_common_ticks.html new file mode 100644 index 00000000..497b6993 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/_common_ticks.html @@ -0,0 +1,45 @@ + + + + + + Common tick options to all cartesian axes | Chart.js + + + + + + + +

# Common tick options to all cartesian axes

Namespace: options.scales[scaleId].ticks

Name Type Default Description
align string 'center' The tick alignment along the axis. Can be 'start', 'center', 'end', or 'inner'. inner alignment means align start for first tick and end for the last tick of horizontal axis
crossAlign string 'near' The tick alignment perpendicular to the axis. Can be 'near', 'center', or 'far'. See Tick Alignment
sampleSize number ticks.length The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
autoSkip boolean true If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what.
autoSkipPadding number 3 Padding between the ticks on the horizontal axis when autoSkip is enabled.
includeBounds boolean true Should the defined min and max values be presented as ticks even if they are not "nice".
labelOffset number 0 Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas
maxRotation number 50 Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales.
minRotation number 0 Minimum rotation for tick labels. Note: Only applicable to horizontal scales.
mirror boolean false Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales.
padding number 0 Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
maxTicksLimit number 11 Maximum number of ticks and gridlines to show.
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/category.html b/scriptApl/chart.js/dist/docs/axes/cartesian/category.html new file mode 100644 index 00000000..7fac6c6d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/category.html @@ -0,0 +1,88 @@ + + + + + + Category Axis | Chart.js + + + + + + + +

# Category Axis

If the global configuration is used, labels are drawn from one of the label arrays included in the chart data. If only data.labels is defined, this will be used. If data.xLabels is defined and the axis is horizontal, this will be used. Similarly, if data.yLabels is defined and the axis is vertical, this property will be used. Using both xLabels and yLabels together can create a chart that uses strings for both the X and Y axes.

Specifying any of the settings above defines the x-axis as type: 'category' if not defined otherwise. For more fine-grained control of category labels, it is also possible to add labels as part of the category axis definition. Doing so does not apply the global defaults.

# Category Axis Definition

Globally:

let chart = new Chart(ctx, {
+    type: ...
+    data: {
+        labels: ['January', 'February', 'March', 'April', 'May', 'June'],
+        datasets: ...
+    }
+});
+

As part of axis definition:

let chart = new Chart(ctx, {
+    type: ...
+    data: ...
+    options: {
+        scales: {
+            x: {
+                type: 'category',
+                labels: ['January', 'February', 'March', 'April', 'May', 'June']
+            }
+        }
+    }
+});
+

# Configuration Options

# Category Axis specific options

Namespace: options.scales[scaleId]

Name Type Description
min string|number The minimum item to display. more...
max string|number The maximum item to display. more...
labels string[]|string[][] An array of labels to display. When an individual label is an array of strings, each item is rendered on a new line.

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Tick Configuration

# Common tick options to all cartesian axes

Namespace: options.scales[scaleId].ticks

Name Type Default Description
align string 'center' The tick alignment along the axis. Can be 'start', 'center', 'end', or 'inner'. inner alignment means align start for first tick and end for the last tick of horizontal axis
crossAlign string 'near' The tick alignment perpendicular to the axis. Can be 'near', 'center', or 'far'. See Tick Alignment
sampleSize number ticks.length The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
autoSkip boolean true If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what.
autoSkipPadding number 3 Padding between the ticks on the horizontal axis when autoSkip is enabled.
includeBounds boolean true Should the defined min and max values be presented as ticks even if they are not "nice".
labelOffset number 0 Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas
maxRotation number 50 Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales.
minRotation number 0 Minimum rotation for tick labels. Note: Only applicable to horizontal scales.
mirror boolean false Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales.
padding number 0 Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
maxTicksLimit number 11 Maximum number of ticks and gridlines to show.

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

# Min Max Configuration

For both the min and max properties, the value must be string in the labels array or numeric value as an index of a label in that array. In the example below, the x axis would only display "March" through "June".

let chart = new Chart(ctx, {
+    type: 'line',
+    data: {
+        datasets: [{
+            data: [10, 20, 30, 40, 50, 60]
+        }],
+        labels: ['January', 'February', 'March', 'April', 'May', 'June']
+    },
+    options: {
+        scales: {
+            x: {
+                min: 'March'
+            }
+        }
+    }
+});
+

# Internal data format

Internally category scale uses label indices

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/index.html b/scriptApl/chart.js/dist/docs/axes/cartesian/index.html new file mode 100644 index 00000000..7a3e3a21 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/index.html @@ -0,0 +1,398 @@ + + + + + + Cartesian Axes | Chart.js + + + + + + + +

# Cartesian Axes

Axes that follow a cartesian grid are known as 'Cartesian Axes'. Cartesian axes are used for line, bar, and bubble charts. Four cartesian axes are included in Chart.js by default.

# Visual Components

A cartesian axis is composed of visual components that can be individually configured. These components are:

# Border

The axis border is drawn at the edge of the axis, beside the chart area. In the image below, it is drawn in red.

const config = {
+  type: 'line',
+  data,
+  options: {
+    scales: {
+      x: {
+        grid: {
+          borderColor: 'red'
+        }
+      }
+    }
+  }
+};

# Grid lines

The grid lines for an axis are drawn on the chart area. In the image below, they are red.

const config = {
+  type: 'line',
+  data,
+  options: {
+    scales: {
+      x: {
+        grid: {
+          color: 'red',
+          borderColor: 'grey',
+          tickColor: 'grey'
+        }
+      }
+    }
+  }
+};

# Ticks and Tick Marks

Ticks represent data values on the axis that appear as labels. The tick mark is the extension of the grid line from the axis border to the label. +In this example, the tick mark is drawn in red while the tick label is drawn in blue.

const config = {
+  type: 'line',
+  data,
+  options: {
+    scales: {
+      x: {
+        grid: {
+          tickColor: 'red'
+        },
+        ticks: {
+          color: 'blue',
+        }
+      }
+    }
+  }
+};

# Title

The title component of the axis is used to label the data. In the example below, it is shown in red.

const config = {
+  type: 'line',
+  data,
+  options: {
+    scales: {
+      x: {
+        title: {
+          color: 'red',
+          display: true,
+          text: 'Month'
+        }
+      }
+    }
+  }
+};

# Common Configuration

Note

These are only the common options supported by all cartesian axes. Please see the specific axis documentation for all the available options for that axis.

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Axis Position

An axis can either be positioned at the edge of the chart, at the center of the chart area, or dynamically with respect to a data value.

To position the axis at the edge of the chart, set the position option to one of: 'top', 'left', 'bottom', 'right'. +To position the axis at the center of the chart area, set the position option to 'center'. In this mode, either the axis option must be specified or the axis ID has to start with the letter 'x' or 'y'. This is so chart.js knows what kind of axis (horizontal or vertical) it is. +To position the axis with respect to a data value, set the position option to an object such as:

{
+    x: -20
+}
+

This will position the axis at a value of -20 on the axis with ID "x". For cartesian axes, only 1 axis may be specified.

# Scale Bounds

The bounds property controls the scale boundary strategy (bypassed by min/max options).

  • 'data': makes sure data are fully visible, labels outside are removed
  • 'ticks': makes sure ticks are fully visible, data outside are truncated

# Tick Configuration

Note

These are only the common tick options supported by all cartesian axes. Please see specific axis documentation for all of the available options for that axis.

# Common tick options to all cartesian axes

Namespace: options.scales[scaleId].ticks

Name Type Default Description
align string 'center' The tick alignment along the axis. Can be 'start', 'center', 'end', or 'inner'. inner alignment means align start for first tick and end for the last tick of horizontal axis
crossAlign string 'near' The tick alignment perpendicular to the axis. Can be 'near', 'center', or 'far'. See Tick Alignment
sampleSize number ticks.length The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
autoSkip boolean true If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what.
autoSkipPadding number 3 Padding between the ticks on the horizontal axis when autoSkip is enabled.
includeBounds boolean true Should the defined min and max values be presented as ticks even if they are not "nice".
labelOffset number 0 Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas
maxRotation number 50 Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales.
minRotation number 0 Minimum rotation for tick labels. Note: Only applicable to horizontal scales.
mirror boolean false Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales.
padding number 0 Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
maxTicksLimit number 11 Maximum number of ticks and gridlines to show.

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

# Tick Alignment

The alignment of ticks is primarily controlled using two settings on the tick configuration object: align and crossAlign. The align setting configures how labels align with the tick mark along the axis direction (i.e. horizontal for a horizontal axis and vertical for a vertical axis). The crossAlign setting configures how labels align with the tick mark in the perpendicular direction (i.e. vertical for a horizontal axis and horizontal for a vertical axis). In the example below, the crossAlign setting is used to left align the labels on the Y axis.

const config = {
+  type: 'bar',
+  data,
+  options: {
+    indexAxis: 'y',
+    scales: {
+      y: {
+        ticks: {
+          crossAlign: 'far',
+        }
+      }
+    }
+  }
+};

Note

The crossAlign setting is only effective when these preconditions are met:

  • tick rotation is 0
  • axis position is 'top', 'left', 'bottom' or 'right'

# Axis ID

The properties dataset.xAxisID or dataset.yAxisID have to match to scales property. This is especially needed if multi-axes charts are used.

const myChart = new Chart(ctx, {
+    type: 'line',
+    data: {
+        datasets: [{
+            // This dataset appears on the first axis
+            yAxisID: 'first-y-axis'
+        }, {
+            // This dataset appears on the second axis
+            yAxisID: 'second-y-axis'
+        }]
+    },
+    options: {
+        scales: {
+            'first-y-axis': {
+                type: 'linear'
+            },
+            'second-y-axis': {
+                type: 'linear'
+            }
+        }
+    }
+});
+

# Creating Multiple Axes

With cartesian axes, it is possible to create multiple X and Y axes. To do so, you can add multiple configuration objects to the xAxes and yAxes properties. When adding new axes, it is important to ensure that you specify the type of the new axes as default types are not used in this case.

In the example below, we are creating two Y axes. We then use the yAxisID property to map the datasets to their correct axes.

const myChart = new Chart(ctx, {
+    type: 'line',
+    data: {
+        datasets: [{
+            data: [20, 50, 100, 75, 25, 0],
+            label: 'Left dataset',
+            // This binds the dataset to the left y axis
+            yAxisID: 'left-y-axis'
+        }, {
+            data: [0.1, 0.5, 1.0, 2.0, 1.5, 0],
+            label: 'Right dataset',
+            // This binds the dataset to the right y axis
+            yAxisID: 'right-y-axis'
+        }],
+        labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
+    },
+    options: {
+        scales: {
+            'left-y-axis': {
+                type: 'linear',
+                position: 'left'
+            },
+            'right-y-axis': {
+                type: 'linear',
+                position: 'right'
+            }
+        }
+    }
+});
+
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/linear.html b/scriptApl/chart.js/dist/docs/axes/cartesian/linear.html new file mode 100644 index 00000000..a0f500ae --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/linear.html @@ -0,0 +1,111 @@ + + + + + + Linear Axis | Chart.js + + + + + + + +

# Linear Axis

The linear scale is used to chart numerical data. It can be placed on either the x or y-axis. The scatter chart type automatically configures a line chart to use one of these scales for the x-axis. As the name suggests, linear interpolation is used to determine where a value lies on the axis.

# Configuration Options

# Linear Axis specific options

Namespace: options.scales[scaleId]

Name Type Description
beginAtZero boolean if true, scale will include 0 if it is not already included.
grace number|string Percentage (string ending with %) or amount (number) for added room in the scale range above and below data. more...

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Tick Configuration

# Linear Axis specific tick options

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
count number Yes undefined The number of ticks to generate. If specified, this overrides the automatic generation.
format object Yes The Intl.NumberFormat (opens new window) options used by the default label formatter
precision number Yes if defined and stepSize is not specified, the step size will be rounded to this many decimal places.
stepSize number Yes User-defined fixed step size for the scale. more...

# Common tick options to all cartesian axes

Namespace: options.scales[scaleId].ticks

Name Type Default Description
align string 'center' The tick alignment along the axis. Can be 'start', 'center', 'end', or 'inner'. inner alignment means align start for first tick and end for the last tick of horizontal axis
crossAlign string 'near' The tick alignment perpendicular to the axis. Can be 'near', 'center', or 'far'. See Tick Alignment
sampleSize number ticks.length The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
autoSkip boolean true If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what.
autoSkipPadding number 3 Padding between the ticks on the horizontal axis when autoSkip is enabled.
includeBounds boolean true Should the defined min and max values be presented as ticks even if they are not "nice".
labelOffset number 0 Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas
maxRotation number 50 Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales.
minRotation number 0 Minimum rotation for tick labels. Note: Only applicable to horizontal scales.
mirror boolean false Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales.
padding number 0 Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
maxTicksLimit number 11 Maximum number of ticks and gridlines to show.

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

# Step Size

If set, the scale ticks will be enumerated by multiple of stepSize, having one tick per increment. If not set, the ticks are labeled automatically using the nice numbers algorithm.

This example sets up a chart with a y axis that creates ticks at 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5.

let options = {
+    scales: {
+        y: {
+            max: 5,
+            min: 0,
+            ticks: {
+                stepSize: 0.5
+            }
+        }
+    }
+};
+

# Grace

If the value is string ending with %, its treat as percentage. If number, its treat as value. +The value is added to the maximum data value and subtracted from the minimum data. This extends the scale range as if the data values were that much greater.

const config = {
+  type: 'bar',
+  data,
+  options: {
+    scales: {
+      y: {
+        type: 'linear',
+        grace: '5%'
+      }
+    },
+    plugins: {
+      legend: false
+    }
+  }
+};

# Internal data format

Internally, the linear scale uses numeric data

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/logarithmic.html b/scriptApl/chart.js/dist/docs/axes/cartesian/logarithmic.html new file mode 100644 index 00000000..7ba629b5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/logarithmic.html @@ -0,0 +1,53 @@ + + + + + + Logarithmic Axis | Chart.js + + + + + + + +

# Logarithmic Axis

The logarithmic scale is used to chart numerical data. It can be placed on either the x or y-axis. As the name suggests, logarithmic interpolation is used to determine where a value lies on the axis.

# Configuration Options

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Tick Configuration

# Logarithmic Axis specific options

Namespace: options.scales[scaleId]

Name Type Default Description
format object The Intl.NumberFormat (opens new window) options used by the default label formatter

# Common tick options to all cartesian axes

Namespace: options.scales[scaleId].ticks

Name Type Default Description
align string 'center' The tick alignment along the axis. Can be 'start', 'center', 'end', or 'inner'. inner alignment means align start for first tick and end for the last tick of horizontal axis
crossAlign string 'near' The tick alignment perpendicular to the axis. Can be 'near', 'center', or 'far'. See Tick Alignment
sampleSize number ticks.length The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
autoSkip boolean true If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what.
autoSkipPadding number 3 Padding between the ticks on the horizontal axis when autoSkip is enabled.
includeBounds boolean true Should the defined min and max values be presented as ticks even if they are not "nice".
labelOffset number 0 Distance in pixels to offset the label from the centre point of the tick (in the x-direction for the x-axis, and the y-direction for the y-axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas
maxRotation number 50 Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales.
minRotation number 0 Minimum rotation for tick labels. Note: Only applicable to horizontal scales.
mirror boolean false Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales.
padding number 0 Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
maxTicksLimit number 11 Maximum number of ticks and gridlines to show.

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

# Internal data format

Internally, the logarithmic scale uses numeric data.

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/time.html b/scriptApl/chart.js/dist/docs/axes/cartesian/time.html new file mode 100644 index 00000000..029f0546 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/time.html @@ -0,0 +1,123 @@ + + + + + + Time Cartesian Axis | Chart.js + + + + + + + +

# Time Cartesian Axis

The time scale is used to display times and dates. Data are spread according to the amount of time between data points. When building its ticks, it will automatically calculate the most comfortable unit base on the size of the scale.

# Date Adapters

The time scale requires both a date library and a corresponding adapter to be present. Please choose from the available adapters (opens new window).

# Data Sets

# Input Data

See data structures.

# Date Formats

When providing data for the time scale, Chart.js uses timestamps defined as milliseconds since the epoch (midnight January 1, 1970, UTC) internally. However, Chart.js also supports all of the formats that your chosen date adapter accepts. You should use timestamps if you'd like to set parsing: false for better performance.

# Configuration Options

# Time Axis specific options

Namespace: options.scales[scaleId]

Name Type Default Description
min number|string The minimum item to display. more...
max number|string The maximum item to display. more...
suggestedMin number|string The minimum item to display if there is no datapoint before it. more...
suggestedMax number|string The maximum item to display if there is no datapoint behind it. more...
adapters.date object {} Options for adapter for external date library if that adapter needs or supports options
bounds string 'data' Determines the scale bounds. more...
offsetAfterAutoskip boolean false If true, bar chart offsets are computed with auto skipped ticks.
ticks.source string 'auto' How ticks are generated. more...
time.displayFormats object Sets how different time units are displayed. more...
time.isoWeekday boolean|number false If boolean and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. If number, the index of the first day of the week (0 - Sunday, 6 - Saturday)
time.parser string|function Custom parser for dates. more...
time.round string false If defined, dates will be rounded to the start of this unit. See Time Units below for the allowed units.
time.tooltipFormat string The format string to use for the tooltip.
time.unit string false If defined, will force the unit to be a certain type. See Time Units section below for details.
time.stepSize number 1 The number of units between grid lines.
time.minUnit string 'millisecond' The minimum display format to be used for a time unit.

# Common options to all cartesian axes

Namespace: options.scales[scaleId]

Name Type Default Description
bounds string 'ticks' Determines the scale bounds. more...
position string | object Position of the axis. more...
stack string Stack group. Axes at the same position with same stack are stacked.
stackWeight number 1 Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group.
axis string Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'.
offset boolean false If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default.
title object Scale title configuration. more...

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Time Units

The following time measurements are supported. The names can be passed as strings to the time.unit config option to force a certain unit.

  • 'millisecond'
  • 'second'
  • 'minute'
  • 'hour'
  • 'day'
  • 'week'
  • 'month'
  • 'quarter'
  • 'year'

For example, to create a chart with a time scale that always displayed units per month, the following config could be used.

const chart = new Chart(ctx, {
+    type: 'line',
+    data: data,
+    options: {
+        scales: {
+            x: {
+                type: 'time',
+                time: {
+                    unit: 'month'
+                }
+            }
+        }
+    }
+});
+

# Display Formats

You may specify a map of display formats with a key for each unit:

  • millisecond
  • second
  • minute
  • hour
  • day
  • week
  • month
  • quarter
  • year

The format string used as a value depends on the date adapter you chose to use.

For example, to set the display format for the quarter unit to show the month and year, the following config might be passed to the chart constructor.

const chart = new Chart(ctx, {
+    type: 'line',
+    data: data,
+    options: {
+        scales: {
+            x: {
+                type: 'time',
+                time: {
+                    displayFormats: {
+                        quarter: 'MMM YYYY'
+                    }
+                }
+            }
+        }
+    }
+});
+

# Ticks Source

The ticks.source property controls the ticks generation.

  • 'auto': generates "optimal" ticks based on scale size and time options
  • 'data': generates ticks from data (including labels from data {x|y} objects)
  • 'labels': generates ticks from user given labels ONLY

# Parser

If this property is defined as a string, it is interpreted as a custom format to be used by the date adapter to parse the date.

If this is a function, it must return a type that can be handled by your date adapter's parse method.

# Min Max Configuration

For both the min and max properties, the value must be string that is parsable by your date adapter or a number with the amount of milliseconds that have elapsed since UNIX epoch. +In the example below the x axis will start at 7 October 2021.

let chart = new Chart(ctx, {
+    type: 'line',
+    data: {
+        datasets: [{
+            data: [{
+                x: '2021-11-06 23:39:30',
+                y: 50
+            }, {
+                x: '2021-11-07 01:00:28',
+                y: 60
+            }, {
+                x: '2021-11-07 09:00:28',
+                y: 20
+            }]
+        }],
+    },
+    options: {
+        scales: {
+            x: {
+                min: '2021-11-07 00:00:00',
+            }
+        }
+    }
+});
+

# Changing the scale type from Time scale to Logarithmic/Linear scale.

When changing the scale type from Time scale to Logarithmic/Linear scale, you need to add bounds: 'ticks' to the scale options. Changing the bounds parameter is necessary because its default value is the 'data' for the Time scale.

Initial config:

const chart = new Chart(ctx, {
+    type: 'line',
+    data: data,
+    options: {
+        scales: {
+            x: {
+                type: 'time',
+            }
+        }
+    }
+});
+

Scale update:

chart.options.scales.x = {
+    type: 'logarithmic',
+    bounds: 'ticks'
+};
+

# Internal data format

Internally time scale uses milliseconds since epoch

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/cartesian/timeseries.html b/scriptApl/chart.js/dist/docs/axes/cartesian/timeseries.html new file mode 100644 index 00000000..17b4e055 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/cartesian/timeseries.html @@ -0,0 +1,64 @@ + + + + + + Time Series Axis | Chart.js + + + + + + + +

# Time Series Axis

The time series scale extends from the time scale and supports all the same options. However, for the time series scale, each data point is spread equidistant.

# Example

const chart = new Chart(ctx, {
+    type: 'line',
+    data: data,
+    options: {
+        scales: {
+            x: {
+                type: 'timeseries',
+            }
+        }
+    }
+});
+

# More details

Please see the time scale documentation for all other details.

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/index.html b/scriptApl/chart.js/dist/docs/axes/index.html new file mode 100644 index 00000000..1084bfd3 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/index.html @@ -0,0 +1,124 @@ + + + + + + Axes | Chart.js + + + + + + + +

# Axes

Axes are an integral part of a chart. They are used to determine how data maps to a pixel value on the chart. In a cartesian chart, there is 1 or more X-axis and 1 or more Y-axis to map points onto the 2-dimensional canvas. These axes are known as 'cartesian axes'.

In a radial chart, such as a radar chart or a polar area chart, there is a single axis that maps points in the angular and radial directions. These are known as 'radial axes'.

Scales in Chart.js >v2.0 are significantly more powerful, but also different than those of v1.0.

  • Multiple X & Y axes are supported.
  • A built-in label auto-skip feature detects would-be overlapping ticks and labels and removes every nth label to keep things displaying normally.
  • Scale titles are supported.
  • New scale types can be extended without writing an entirely new chart type.

# Default scales

The default scaleId's for carterian charts are 'x' and 'y'. For radial charts: 'r'. +Each dataset is mapped to a scale for each axis (x, y or r) it requires. The scaleId's that a dataset is mapped to, is determined by the xAxisID, yAxisID or rAxisID. +If the ID for an axis is not specified, first scale for that axis is used. If no scale for an axis is found, a new scale is created.

Some examples:

The following chart will have 'x' and 'y' scales:

let chart = new Chart(ctx, {
+  type: 'line'
+});
+

The following chart will have scales 'x' and 'myScale':

let chart = new Chart(ctx, {
+  type: 'bar',
+  data: {
+    datasets: [{
+      data: [1, 2, 3]
+    }]
+  },
+  options: {
+    scales: {
+      myScale: {
+        type: 'logarithmic',
+        position: 'right', // `axis` is determined by the position as `'y'`
+      }
+    }
+  }
+});
+

The following chart will have scales 'xAxis' and 'yAxis':

let chart = new Chart(ctx, {
+  type: 'bar',
+  data: {
+    datasets: [{
+      yAxisID: 'yAxis'
+    }]
+  },
+  options: {
+    scales: {
+      xAxis: {
+        // The axis for this scale is determined from the first letter of the id as `'x'`
+        // It is recommended to specify `position` and / or `axis` explicitly.
+        type: 'time',
+      }
+    }
+  }
+});
+

The following chart will have 'r' scale:

let chart = new Chart(ctx, {
+  type: 'radar'
+});
+

The following chart will have 'myScale' scale:

let chart = new Chart(ctx, {
+  type: 'radar',
+  scales: {
+    myScale: {
+      axis: 'r'
+    }
+  }
+});
+

# Common Configuration

Note

These are only the common options supported by all axes. Please see specific axis documentation for all of the available options for that axis.

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Tick Configuration

Note

These are only the common tick options supported by all axes. Please see specific axis documentation for all of the available tick options for that axis.

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

# Axis Range Settings

Given the number of axis range settings, it is important to understand how they all interact with each other.

The suggestedMax and suggestedMin settings only change the data values that are used to scale the axis. These are useful for extending the range of the axis while maintaining the auto fit behaviour.

let minDataValue = Math.min(mostNegativeValue, options.suggestedMin);
+let maxDataValue = Math.max(mostPositiveValue, options.suggestedMax);
+

In this example, the largest positive value is 50, but the data maximum is expanded out to 100. However, because the lowest data value is below the suggestedMin setting, it is ignored.

let chart = new Chart(ctx, {
+    type: 'line',
+    data: {
+        datasets: [{
+            label: 'First dataset',
+            data: [0, 20, 40, 50]
+        }],
+        labels: ['January', 'February', 'March', 'April']
+    },
+    options: {
+        scales: {
+            y: {
+                suggestedMin: 50,
+                suggestedMax: 100
+            }
+        }
+    }
+});
+

In contrast to the suggested* settings, the min and max settings set explicit ends to the axes. When these are set, some data points may not be visible.

# Stacking

By default data is not stacked. If the stacked option of the value scale (y-axis on horizontal chart) is true, positive and negative values are stacked separately. Additionally a stack option can be defined per dataset to further divide into stack groups more.... +For some charts, you might want to stack positive and negative values together. That can be achieved by specifying stacked: 'single'.

# Callbacks

There are a number of config callbacks that can be used to change parameters in the scale at different points in the update process. The options are supplied at the top level of the axis options.

Namespace: options.scales[scaleId]

Name Arguments Description
beforeUpdate axis Callback called before the update process starts.
beforeSetDimensions axis Callback that runs before dimensions are set.
afterSetDimensions axis Callback that runs after dimensions are set.
beforeDataLimits axis Callback that runs before data limits are determined.
afterDataLimits axis Callback that runs after data limits are determined.
beforeBuildTicks axis Callback that runs before ticks are created.
afterBuildTicks axis Callback that runs after ticks are created. Useful for filtering ticks.
beforeTickToLabelConversion axis Callback that runs before ticks are converted into strings.
afterTickToLabelConversion axis Callback that runs after ticks are converted into strings.
beforeCalculateLabelRotation axis Callback that runs before tick rotation is determined.
afterCalculateLabelRotation axis Callback that runs after tick rotation is determined.
beforeFit axis Callback that runs before the scale fits to the canvas.
afterFit axis Callback that runs after the scale fits to the canvas.
afterUpdate axis Callback that runs at the end of the update process.

# Updating Axis Defaults

The default configuration for a scale can be easily changed. All you need to do is set the new options to Chart.defaults.scales[type].

For example, to set the minimum value of 0 for all linear scales, you would do the following. Any linear scales created after this time would now have a minimum of 0.

Chart.defaults.scales.linear.min = 0;
+

# Creating New Axes

To create a new axis, see the developer docs.

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/labelling.html b/scriptApl/chart.js/dist/docs/axes/labelling.html new file mode 100644 index 00000000..bf768b9a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/labelling.html @@ -0,0 +1,72 @@ + + + + + + Labeling Axes | Chart.js + + + + + + + +

# Labeling Axes

When creating a chart, you want to tell the viewer what data they are viewing. To do this, you need to label the axis.

# Scale Title Configuration

Namespace: options.scales[scaleId].title, it defines options for the scale title. Note that this only applies to cartesian axes.

Name Type Default Description
display boolean false If true, display the axis title.
align string 'center' Alignment of the axis title. Possible options are 'start', 'center' and 'end'
text string|string[] '' The text for the title. (i.e. "# of People" or "Response Choices").
color Color Chart.defaults.color Color of label.
font Font Chart.defaults.font See Fonts
padding Padding 4 Padding to apply around scale labels. Only top, bottom and y are implemented.

# Creating Custom Tick Formats

It is also common to want to change the tick marks to include information about the data type. For example, adding a dollar sign ('$'). +To do this, you need to override the ticks.callback method in the axis configuration.

The method receives 3 arguments:

  • value - the tick value in the internal data format of the associated scale.
  • index - the tick index in the ticks array.
  • ticks - the array containing all of the tick objects.

The call to the method is scoped to the scale. this inside the method is the scale object.

If the callback returns null or undefined the associated grid line will be hidden.

TIP

The category axis, which is the default x-axis for line and bar charts, uses the index as internal data format. For accessing the label, use this.getLabelForValue(value). API: getLabelForValue

In the following example, every label of the Y-axis would be displayed with a dollar sign at the front.

const chart = new Chart(ctx, {
+    type: 'line',
+    data: data,
+    options: {
+        scales: {
+            y: {
+                ticks: {
+                    // Include a dollar sign in the ticks
+                    callback: function(value, index, ticks) {
+                        return '$' + value;
+                    }
+                }
+            }
+        }
+    }
+});
+

Keep in mind that overriding ticks.callback means that you are responsible for all formatting of the label. Depending on your use case, you may want to call the default formatter and then modify its output. In the example above, that would look like:

                        // call the default formatter, forwarding `this`
+                        return '$' + Chart.Ticks.formatters.numeric.apply(this, [value, index, ticks]);
+

Related samples:

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/radial/index.html b/scriptApl/chart.js/dist/docs/axes/radial/index.html new file mode 100644 index 00000000..32aa6f6d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/radial/index.html @@ -0,0 +1,245 @@ + + + + + + Radial Axes | Chart.js + + + + + + + +

# Radial Axes

Radial axes are used specifically for the radar and polar area chart types. These axes overlay the chart area, rather than being positioned on one of the edges. One radial axis is included by default in Chart.js.

# Visual Components

A radial axis is composed of visual components that can be individually configured. These components are:

# Angle Lines

The grid lines for an axis are drawn on the chart area. They stretch out from the center towards the edge of the canvas. In the example below, they are red.

const config = {
+  type: 'radar',
+  data,
+  options: {
+    scales: {
+      r: {
+        angleLines: {
+          color: 'red'
+        }
+      }
+    }
+  }
+};

# Grid Lines

The grid lines for an axis are drawn on the chart area. In the example below, they are red.

const config = {
+  type: 'radar',
+  data,
+  options: {
+    scales: {
+      r: {
+        grid: {
+          color: 'red'
+        }
+      }
+    }
+  }
+};

# Point Labels

The point labels indicate the value for each angle line. In the example below, they are red.

const config = {
+  type: 'radar',
+  data,
+  options: {
+    scales: {
+      r: {
+        pointLabels: {
+          color: 'red'
+        }
+      }
+    }
+  }
+};

# Ticks

The ticks are used to label values based on how far they are from the center of the axis. In the example below, they are red.

const config = {
+  type: 'radar',
+  data,
+  options: {
+    scales: {
+      r: {
+        ticks: {
+          color: 'red'
+        }
+      }
+    }
+  }
+};
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/radial/linear.html b/scriptApl/chart.js/dist/docs/axes/radial/linear.html new file mode 100644 index 00000000..152b1543 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/radial/linear.html @@ -0,0 +1,86 @@ + + + + + + Linear Radial Axis | Chart.js + + + + + + + +

# Linear Radial Axis

The linear radial scale is used to chart numerical data. As the name suggests, linear interpolation is used to determine where a value lies in relation to the center of the axis.

The following additional configuration options are provided by the radial linear scale.

# Configuration Options

# Linear Radial Axis specific options

Namespace: options.scales[scaleId]

Name Type Default Description
animate boolean true Whether to animate scaling the chart from the centre
angleLines object Angle line configuration. more...
beginAtZero boolean false If true, scale will include 0 if it is not already included.
pointLabels object Point label configuration. more...
startAngle number 0 Starting angle of the scale. In degrees, 0 is at top.

# Common options to all axes

Namespace: options.scales[scaleId]

Name Type Default Description
type string Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart.
alignToPixels boolean false Align pixel values to device pixels.
backgroundColor Color Background color of the scale area.
display boolean|string true Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible.
grid object Grid line configuration. more...
min number User defined minimum number for the scale, overrides minimum value from data. more...
max number User defined maximum number for the scale, overrides maximum value from data. more...
reverse boolean false Reverse the scale.
stacked boolean|string false Should the data be stacked. more...
suggestedMax number Adjustment used when calculating the maximum data value. more...
suggestedMin number Adjustment used when calculating the minimum data value. more...
ticks object Tick configuration. more...
weight number 0 The weight used to sort the axis. Higher weights are further away from the chart area.

# Tick Configuration

# Linear Radial Axis specific tick options

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
count number Yes undefined The number of ticks to generate. If specified, this overrides the automatic generation.
format object Yes The Intl.NumberFormat (opens new window) options used by the default label formatter
maxTicksLimit number Yes 11 Maximum number of ticks and gridlines to show.
precision number Yes If defined and stepSize is not specified, the step size will be rounded to this many decimal places.
stepSize number Yes User defined fixed step size for the scale. more...

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

The scriptable context is described in Options section.

# Grid Line Configuration

Namespace: options.scales[scaleId].grid, it defines options for the grid lines of the axis.

Name Type Scriptable Indexable Default Description
borderDash number[] [] Length and spacing of dashes on grid lines. See MDN (opens new window).
borderDashOffset number Yes 0.0 Offset for line dashes. See MDN (opens new window).
circular boolean false If true, gridlines are circular (on radar and polar area charts only).
color Color Yes Yes Chart.defaults.borderColor The color of the grid lines. If specified as an array, the first color applies to the first grid line, the second to the second grid line, and so on.
display boolean true If false, do not display grid lines for this axis.
lineWidth number Yes Yes 1 Stroke width of grid lines.

The scriptable context is described in Options section.

# Axis Range Settings

Given the number of axis range settings, it is important to understand how they all interact with each other.

The suggestedMax and suggestedMin settings only change the data values that are used to scale the axis. These are useful for extending the range of the axis while maintaining the auto fit behaviour.

let minDataValue = Math.min(mostNegativeValue, options.ticks.suggestedMin);
+let maxDataValue = Math.max(mostPositiveValue, options.ticks.suggestedMax);
+

In this example, the largest positive value is 50, but the data maximum is expanded out to 100. However, because the lowest data value is below the suggestedMin setting, it is ignored.

let chart = new Chart(ctx, {
+    type: 'radar',
+    data: {
+        datasets: [{
+            label: 'First dataset',
+            data: [0, 20, 40, 50]
+        }],
+        labels: ['January', 'February', 'March', 'April']
+    },
+    options: {
+        scales: {
+            r: {
+                suggestedMin: 50,
+                suggestedMax: 100
+            }
+        }
+    }
+});
+

In contrast to the suggested* settings, the min and max settings set explicit ends to the axes. When these are set, some data points may not be visible.

# Step Size

If set, the scale ticks will be enumerated by multiple of stepSize, having one tick per increment. If not set, the ticks are labeled automatically using the nice numbers algorithm.

This example sets up a chart with a y axis that creates ticks at 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5.

let options = {
+    scales: {
+        r: {
+            max: 5,
+            min: 0,
+            ticks: {
+                stepSize: 0.5
+            }
+        }
+    }
+};
+

# Angle Line Options

The following options are used to configure angled lines that radiate from the center of the chart to the point labels. +Namespace: options.scales[scaleId].angleLines

Name Type Scriptable Default Description
display boolean true If true, angle lines are shown.
color Color Yes Chart.defaults.borderColor Color of angled lines.
lineWidth number Yes 1 Width of angled lines.
borderDash number[] Yes1 [] Length and spacing of dashes on angled lines. See MDN (opens new window).
borderDashOffset number Yes 0.0 Offset for line dashes. See MDN (opens new window).
  1. the borderDash setting only accepts a static value or a function. Passing an array of arrays is not supported.

The scriptable context is described in Options section.

# Point Label Options

The following options are used to configure the point labels that are shown on the perimeter of the scale. +Namespace: options.scales[scaleId].pointLabels

Name Type Scriptable Default Description
backdropColor Color true undefined Background color of the point label.
backdropPadding Padding 2 Padding of label backdrop.
borderRadius number|object true 0 Border radius of the point label
display boolean true If true, point labels are shown.
callback function Callback function to transform data labels to point labels. The default implementation simply returns the current string.
color Color Yes Chart.defaults.color Color of label.
font Font Yes Chart.defaults.font See Fonts
padding number Yes 5 Padding between chart and point labels.
centerPointLabels boolean false If true, point labels are centered.

The scriptable context is described in Options section.

# Internal data format

Internally, the linear radial scale uses numeric data

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/axes/styling.html b/scriptApl/chart.js/dist/docs/axes/styling.html new file mode 100644 index 00000000..a5bded7d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/axes/styling.html @@ -0,0 +1,53 @@ + + + + + + Styling | Chart.js + + + + + + + +

# Styling

There are a number of options to allow styling an axis. There are settings to control grid lines and ticks.

# Grid Line Configuration

Namespace: options.scales[scaleId].grid, it defines options for the grid lines that run perpendicular to the axis.

Name Type Scriptable Indexable Default Description
borderColor Color Chart.defaults.borderColor The color of the border line.
borderWidth number 1 The width of the border line.
borderDash number[] Yes [] Length and spacing of dashes on grid lines. See MDN (opens new window).
borderDashOffset number Yes 0.0 Offset for line dashes. See MDN (opens new window).
circular boolean false If true, gridlines are circular (on radar and polar area charts only).
color Color Yes Yes Chart.defaults.borderColor The color of the grid lines. If specified as an array, the first color applies to the first grid line, the second to the second grid line, and so on.
display boolean true If false, do not display grid lines for this axis.
drawBorder boolean true If true, draw a border at the edge between the axis and the chart area.
drawOnChartArea boolean true If true, draw lines on the chart area inside the axis lines. This is useful when there are multiple axes and you need to control which grid lines are drawn.
drawTicks boolean true If true, draw lines beside the ticks in the axis area beside the chart.
lineWidth number Yes Yes 1 Stroke width of grid lines.
offset boolean false If true, grid lines will be shifted to be between labels. This is set to true for a bar chart by default.
tickBorderDash number[] Length and spacing of the tick mark line. If not set, defaults to the grid line borderDash value.
tickBorderDashOffset number Yes Yes Offset for the line dash of the tick mark. If unset, defaults to the grid line borderDashOffset value
tickColor Color Yes Yes Color of the tick line. If unset, defaults to the grid line color.
tickLength number 8 Length in pixels that the grid lines will draw into the axis area.
tickWidth number Yes Yes Width of the tick mark in pixels. If unset, defaults to the grid line width.
z number 0 z-index of gridline layer. Values <= 0 are drawn under datasets, > 0 on top.

The scriptable context is described in Options section.

# Tick Configuration

# Common tick options to all axes

Namespace: options.scales[scaleId].ticks

Name Type Scriptable Default Description
backdropColor Color Yes 'rgba(255, 255, 255, 0.75)' Color of label backdrops.
backdropPadding Padding 2 Padding of label backdrop.
callback function Returns the string representation of the tick value as it should be displayed on the chart. See callback.
display boolean true If true, show tick labels.
color Color Yes Chart.defaults.color Color of ticks.
font Font Yes Chart.defaults.font See Fonts
major object {} Major ticks configuration.
padding number 3 Sets the offset of the tick labels from the axis
showLabelBackdrop boolean Yes true for radial scale, false otherwise If true, draw a background behind the tick labels.
textStrokeColor Color Yes `` The color of the stroke around the text.
textStrokeWidth number Yes 0 Stroke width around the text.
z number 0 z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top.

The scriptable context is described in Options section.

# Major Tick Configuration

Namespace: options.scales[scaleId].ticks.major, it defines options for the major tick marks that are generated by the axis.

Name Type Default Description
enabled boolean false If true, major ticks are generated. A major tick will affect autoskipping and major will be defined on ticks in the scriptable options context.
Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/charts/area.html b/scriptApl/chart.js/dist/docs/charts/area.html new file mode 100644 index 00000000..17c454fb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/area.html @@ -0,0 +1,99 @@ + + + + + + Area Chart | Chart.js + + + + + + + +

# Area Chart

Both line and radar charts support a fill option on the dataset object which can be used to create space between two datasets or a dataset and a boundary, i.e. the scale origin, start, or end (see filling modes).

Note

This feature is implemented by the filler plugin (opens new window).

# Filling modes

Mode Type Values
Absolute dataset index number 1, 2, 3, ...
Relative dataset index string '-1', '-2', '+1', ...
Boundary string 'start', 'end', 'origin'
Disabled 1 boolean false
Stacked value below string 'stack'
Axis value object { value: number; }
Shape (fill inside line) string 'shape'

1 for backward compatibility, fill: true is equivalent to fill: 'origin'

# Example

new Chart(ctx, {
+    data: {
+        datasets: [
+            {fill: 'origin'},      // 0: fill to 'origin'
+            {fill: '+2'},          // 1: fill to dataset 3
+            {fill: 1},             // 2: fill to dataset 1
+            {fill: false},         // 3: no fill
+            {fill: '-2'},          // 4: fill to dataset 2
+            {fill: {value: 25}}    // 5: fill to axis value 25
+        ]
+    }
+});
+

If you need to support multiple colors when filling from one dataset to another, you may specify an object with the following option :

Param Type Description
target number, string, boolean, object The accepted values are the same as the filling mode values, so you may use absolute and relative dataset indexes and/or boundaries.
above Color If no color is set, the default color will be the background color of the chart.
below Color Same as the above.

# Example with multiple colors

new Chart(ctx, {
+    data: {
+        datasets: [
+            {
+              fill: {
+                target: 'origin',
+                above: 'rgb(255, 0, 0)',   // Area will be red above the origin
+                below: 'rgb(0, 0, 255)'    // And blue below the origin
+              }
+            }
+        ]
+    }
+});
+

# Configuration

Namespace: options.plugins.filler

Option Type Default Description
drawTime string beforeDatasetDraw Filler draw time. Supported values: 'beforeDraw', 'beforeDatasetDraw', 'beforeDatasetsDraw'
propagate boolean true Fill propagation when target is hidden.

# propagate

propagate takes a boolean value (default: true).

If true, the fill area will be recursively extended to the visible target defined by the fill value of hidden dataset targets:

# Example using propagate

new Chart(ctx, {
+    data: {
+        datasets: [
+            {fill: 'origin'},   // 0: fill to 'origin'
+            {fill: '-1'},       // 1: fill to dataset 0
+            {fill: 1},          // 2: fill to dataset 1
+            {fill: false},      // 3: no fill
+            {fill: '-2'}        // 4: fill to dataset 2
+        ]
+    },
+    options: {
+        plugins: {
+            filler: {
+                propagate: true
+            }
+        }
+    }
+});
+

propagate: true: +-if dataset 2 is hidden, dataset 4 will fill to dataset 1 +-if dataset 2 and 1 are hidden, dataset 4 will fill to 'origin'

propagate: false: +-if dataset 2 and/or 4 are hidden, dataset 4 will not be filled

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/charts/bar.html b/scriptApl/chart.js/dist/docs/charts/bar.html new file mode 100644 index 00000000..3010236f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/bar.html @@ -0,0 +1,255 @@ + + + + + + Bar Chart | Chart.js + + + + + + + +

# Bar Chart

A bar chart provides a way of showing data values represented as vertical bars. It is sometimes used to show trend data, and the comparison of multiple data sets side by side.

const config = {
+  type: 'bar',
+  data: data,
+  options: {
+    scales: {
+      y: {
+        beginAtZero: true
+      }
+    }
+  },
+};

# Dataset Properties

Namespaces:

  • data.datasets[index] - options for this dataset only
  • options.datasets.bar - options for all bar datasets
  • options.elements.bar - options for all bar elements
  • options - options for the whole chart

The bar chart allows a number of properties to be specified for each dataset. +These are used to set display properties for a specific dataset. For example, +the color of the bars is generally set this way. +Only the data option needs to be specified in the dataset namespace.

Name Type Scriptable Indexable Default
backgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
base number Yes Yes
barPercentage number - - 0.9
barThickness number|string - -
borderColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
borderSkipped string|boolean Yes Yes 'start'
borderWidth number|object Yes Yes 0
borderRadius number|object Yes Yes 0
categoryPercentage number - - 0.8
clip number|object|false - -
data object|object[]| number[]|string[] - - required
grouped boolean - - true
hoverBackgroundColor Color Yes Yes
hoverBorderColor Color Yes Yes
hoverBorderWidth number Yes Yes 1
hoverBorderRadius number Yes Yes 0
indexAxis string - - 'x'
inflateAmount number|'auto' Yes Yes 'auto'
maxBarThickness number - -
minBarLength number - -
label string - - ''
order number - - 0
pointStyle pointStyle Yes - 'circle'
skipNull boolean - -
stack string - - 'bar'
xAxisID string - - first x axis
yAxisID string - - first y axis

All these values, if undefined, fallback to the scopes described in option resolution

# Example dataset configuration

data: {
+    datasets: [{
+        barPercentage: 0.5,
+        barThickness: 6,
+        maxBarThickness: 8,
+        minBarLength: 2,
+        data: [10, 20, 30, 40, 50, 60, 70]
+    }]
+};
+

# General

Name Description
base Base value for the bar in data units along the value axis. If not set, defaults to the value axis base value.
clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
grouped Should the bars be grouped on index axis. When true, all the datasets at same index value will be placed next to each other centering on that index value. When false, each bar is placed on its actual index-axis value.
indexAxis The base axis of the dataset. 'x' for vertical bars and 'y' for horizontal bars.
label The label for the dataset which appears in the legend and tooltips.
order The drawing order of dataset. Also affects order for stacking, tooltip and legend. more
skipNull If true, null or undefined values will not be used for spacing calculations when determining bar size.
stack The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). more
xAxisID The ID of the x-axis to plot this dataset on.
yAxisID The ID of the y-axis to plot this dataset on.

# Styling

The style of each bar can be controlled with the following properties:

Name Description
backgroundColor The bar background color.
borderColor The bar border color.
borderSkipped The edge to skip when drawing bar.
borderWidth The bar border width (in pixels).
borderRadius The bar border radius (in pixels).
minBarLength Set this to ensure that bars have a minimum length in pixels.
pointStyle Style of the point for legend. more...

All these values, if undefined, fallback to the associated elements.bar.* options.

# borderSkipped

This setting is used to avoid drawing the bar stroke at the base of the fill, or disable the border radius. +In general, this does not need to be changed except when creating chart types +that derive from a bar chart.

Note

For negative bars in a vertical chart, top and bottom are flipped. Same goes for left and right in a horizontal chart.

Options are:

  • 'start'
  • 'end'
  • 'middle' (only valid on stacked bars: the borders between bars are skipped)
  • 'bottom'
  • 'left'
  • 'top'
  • 'right'
  • false (don't skip any borders)
  • true (skip all borders)

# borderWidth

If this value is a number, it is applied to all sides of the rectangle (left, top, right, bottom), except borderSkipped. If this value is an object, the left property defines the left border width. Similarly, the right, top, and bottom properties can also be specified. Omitted borders and borderSkipped are skipped.

# borderRadius

If this value is a number, it is applied to all corners of the rectangle (topLeft, topRight, bottomLeft, bottomRight), except corners touching the borderSkipped. If this value is an object, the topLeft property defines the top-left corners border radius. Similarly, the topRight, bottomLeft, and bottomRight properties can also be specified. Omitted corners and those touching the borderSkipped are skipped. For example if the top border is skipped, the border radius for the corners topLeft and topRight will be skipped as well.

Stacked Charts

When the border radius is supplied as a number and the chart is stacked, the radius will only be applied to the bars that are at the edges of the stack or where the bar is floating. The object syntax can be used to override this behavior.

# inflateAmount

This option can be used to inflate the rects that are used to draw the bars. This can be used to hide artifacts between bars when barPercentage(#barpercentage) * categoryPercentage(#categorypercentage) is 1. The default value 'auto' should work in most cases.

# Interactions

The interaction with each bar can be controlled with the following properties:

Name Description
hoverBackgroundColor The bar background color when hovered.
hoverBorderColor The bar border color when hovered.
hoverBorderWidth The bar border width when hovered (in pixels).
hoverBorderRadius The bar border radius when hovered (in pixels).

All these values, if undefined, fallback to the associated elements.bar.* options.

# barPercentage

Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other. more...

# categoryPercentage

Percent (0-1) of the available width each category should be within the sample width. more...

# barThickness

If this value is a number, it is applied to the width of each bar, in pixels. When this is enforced, barPercentage and categoryPercentage are ignored.

If set to 'flex', the base sample widths are calculated automatically based on the previous and following samples so that they take the full available widths without overlap. Then, bars are sized using barPercentage and categoryPercentage. There is no gap when the percentage options are 1. This mode generates bars with different widths when data are not evenly spaced.

If not set (default), the base sample widths are calculated using the smallest interval that prevents bar overlapping, and bars are sized using barPercentage and categoryPercentage. This mode always generates bars equally sized.

# maxBarThickness

Set this to ensure that bars are not sized thicker than this.

# Scale Configuration

The bar chart sets unique default values for the following configuration from the associated scale options:

Name Type Default Description
offset boolean true If true, extra space is added to both edges and the axis is scaled to fit into the chart area.
grid.offset boolean true If true, the bars for a particular data point fall between the grid lines. The grid line will move to the left by one half of the tick interval. If false, the grid line will go right down the middle of the bars. more...

# Example scale configuration

options = {
+    scales: {
+        x: {
+            grid: {
+              offset: true
+            }
+        }
+    }
+};
+

# Offset Grid Lines

If true, the bars for a particular data point fall between the grid lines. The grid line will move to the left by one half of the tick interval, which is the space between the grid lines. If false, the grid line will go right down the middle of the bars. This is set to true for a category scale in a bar chart while false for other scales or chart types by default.

# Default Options

It is common to want to apply a configuration setting to all created bar charts. The global bar chart settings are stored in Chart.overrides.bar. Changing the global options only affects charts created after the change. Existing charts are not changed.

# barPercentage vs categoryPercentage

The following shows the relationship between the bar percentage option and the category percentage option.

// categoryPercentage: 1.0
+// barPercentage: 1.0
+Bar:        | 1.0 | 1.0 |
+Category:   |    1.0    |
+Sample:     |===========|
+// categoryPercentage: 1.0
+// barPercentage: 0.5
+Bar:          |.5|  |.5|
+Category:  |      1.0     |
+Sample:    |==============|
+// categoryPercentage: 0.5
+// barPercentage: 1.0
+Bar:             |1.0||1.0|
+Category:        |   .5   |
+Sample:     |==================|
+

# Data Structure

All of the supported data structures can be used with bar charts.

# Stacked Bar Chart

Bar charts can be configured into stacked bar charts by changing the settings on the X and Y axes to enable stacking. Stacked bar charts can be used to show how one data series is made up of a number of smaller pieces.

const stackedBar = new Chart(ctx, {
+    type: 'bar',
+    data: data,
+    options: {
+        scales: {
+            x: {
+                stacked: true
+            },
+            y: {
+                stacked: true
+            }
+        }
+    }
+});
+

# Horizontal Bar Chart

A horizontal bar chart is a variation on a vertical bar chart. It is sometimes used to show trend data, and the comparison of multiple data sets side by side. +To achieve this you will have to set the indexAxis property in the options object to 'y'. +The default for this property is 'x' and thus will show vertical bars.

const config = {
+  type: 'bar',
+  data,
+  options: {
+    indexAxis: 'y',
+  }
+};

# Horizontal Bar Chart config Options

The configuration options for the horizontal bar chart are the same as for the bar chart. However, any options specified on the x-axis in a bar chart, are applied to the y-axis in a horizontal bar chart.

# Internal data format

{x, y, _custom} where _custom is an optional object defining stacked bar properties: {start, end, barStart, barEnd, min, max}. start and end are the input values. Those two are repeated in barStart (closer to origin), barEnd (further from origin), min and max.

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/charts/bubble.html b/scriptApl/chart.js/dist/docs/charts/bubble.html new file mode 100644 index 00000000..4107b77d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/bubble.html @@ -0,0 +1,101 @@ + + + + + + Bubble Chart | Chart.js + + + + + + + +

# Bubble Chart

A bubble chart is used to display three dimensions of data at the same time. The location of the bubble is determined by the first two dimensions and the corresponding horizontal and vertical axes. The third dimension is represented by the size of the individual bubbles.

const config = {
+  type: 'bubble',
+  data: data,
+  options: {}
+};

# Dataset Properties

Namespaces:

  • data.datasets[index] - options for this dataset only
  • options.datasets.bubble - options for all bubble datasets
  • options.elements.point - options for all point elements
  • options - options for the whole chart

The bubble chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of the bubbles is generally set this way.

Name Type Scriptable Indexable Default
backgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
borderColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
borderWidth number Yes Yes 3
clip number|object|false - - undefined
data object[] - - required
drawActiveElementsOnTop boolean Yes Yes true
hoverBackgroundColor Color Yes Yes undefined
hoverBorderColor Color Yes Yes undefined
hoverBorderWidth number Yes Yes 1
hoverRadius number Yes Yes 4
hitRadius number Yes Yes 1
label string - - undefined
order number - - 0
pointStyle pointStyle Yes Yes 'circle'
rotation number Yes Yes 0
radius number Yes Yes 3

All these values, if undefined, fallback to the scopes described in option resolution

# General

Name Description
clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
drawActiveElementsOnTop Draw the active bubbles of a dataset over the other bubbles of the dataset
label The label for the dataset which appears in the legend and tooltips.
order The drawing order of dataset. Also affects order for tooltip and legend. more

# Styling

The style of each bubble can be controlled with the following properties:

Name Description
backgroundColor bubble background color.
borderColor bubble border color.
borderWidth bubble border width (in pixels).
pointStyle bubble shape style.
rotation bubble rotation (in degrees).
radius bubble radius (in pixels).

All these values, if undefined, fallback to the associated elements.point.* options.

# Interactions

The interaction with each bubble can be controlled with the following properties:

Name Description
hitRadius bubble additional radius for hit detection (in pixels).
hoverBackgroundColor bubble background color when hovered.
hoverBorderColor bubble border color when hovered.
hoverBorderWidth bubble border width when hovered (in pixels).
hoverRadius bubble additional radius when hovered (in pixels).

All these values, if undefined, fallback to the associated elements.point.* options.

# Default Options

We can also change the default values for the Bubble chart type. Doing so will give all bubble charts created after this point the new defaults. The default configuration for the bubble chart can be accessed at Chart.overrides.bubble.

# Data Structure

Bubble chart datasets need to contain a data array of points, each point represented by an object containing the following properties:

{
+    // X Value
+    x: number,
+    // Y Value
+    y: number,
+    // Bubble radius in pixels (not scaled).
+    r: number
+}
+

Important: the radius property, r is not scaled by the chart, it is the raw radius in pixels of the bubble that is drawn on the canvas.

# Internal data format

{x, y, _custom} where _custom is the radius.

Last Updated: 8/3/2022, 12:46:38 PM
+ + + diff --git a/scriptApl/chart.js/dist/docs/charts/doughnut.html b/scriptApl/chart.js/dist/docs/charts/doughnut.html new file mode 100644 index 00000000..cb916ad9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/doughnut.html @@ -0,0 +1,148 @@ + + + + + + Doughnut and Pie Charts | Chart.js + + + + + + + +

# Doughnut and Pie Charts

Pie and doughnut charts are probably the most commonly used charts. They are divided into segments, the arc of each segment shows the proportional value of each piece of data.

They are excellent at showing the relational proportions between data.

Pie and doughnut charts are effectively the same class in Chart.js, but have one different default value - their cutout. This equates to what portion of the inner should be cut out. This defaults to 0 for pie charts, and '50%' for doughnuts.

They are also registered under two aliases in the Chart core. Other than their different default value, and different alias, they are exactly the same.

    # Dataset Properties

    Namespaces:

    • data.datasets[index] - options for this dataset only
    • options.datasets.doughnut - options for all doughnut datasets
    • options.datasets.pie - options for all pie datasets
    • options.elements.arc - options for all arc elements
    • options - options for the whole chart

    The doughnut/pie chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colours of the dataset's arcs are generally set this way.

    Name Type Scriptable Indexable Default
    backgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    borderAlign 'center'|'inner' Yes Yes 'center'
    borderColor Color Yes Yes '#fff'
    borderJoinStyle 'round'|'bevel'|'miter' Yes Yes undefined
    borderRadius number|object Yes Yes 0
    borderWidth number Yes Yes 2
    circumference number - - undefined
    clip number|object|false - - undefined
    data number[] - - required
    hoverBackgroundColor Color Yes Yes undefined
    hoverBorderColor Color Yes Yes undefined
    hoverBorderJoinStyle 'round'|'bevel'|'miter' Yes Yes undefined
    hoverBorderWidth number Yes Yes undefined
    hoverOffset number Yes Yes 0
    offset number Yes Yes 0
    rotation number - - undefined
    spacing number - - 0
    weight number - - 1

    All these values, if undefined, fallback to the scopes described in option resolution

    # General

    Name Description
    circumference Per-dataset override for the sweep that the arcs cover
    clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
    rotation Per-dataset override for the starting angle to draw arcs from

    # Styling

    The style of each arc can be controlled with the following properties:

    Name Description
    backgroundColor arc background color.
    borderColor arc border color.
    borderJoinStyle arc border join style. See MDN (opens new window).
    borderWidth arc border width (in pixels).
    offset arc offset (in pixels).
    spacing Fixed arc offset (in pixels). Similar to offset but applies to all arcs.
    weight The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values.

    All these values, if undefined, fallback to the associated elements.arc.* options.

    # Border Alignment

    The following values are supported for borderAlign.

    • 'center' (default)
    • 'inner'

    When 'center' is set, the borders of arcs next to each other will overlap. When 'inner' is set, it is guaranteed that all borders will not overlap.

    # Border Radius

    If this value is a number, it is applied to all corners of the arc (outerStart, outerEnd, innerStart, innerRight). If this value is an object, the outerStart property defines the outer-start corner's border radius. Similarly, the outerEnd, innerStart, and innerEnd properties can also be specified.

    # Interactions

    The interaction with each arc can be controlled with the following properties:

    Name Description
    hoverBackgroundColor arc background color when hovered.
    hoverBorderColor arc border color when hovered.
    hoverBorderJoinStyle arc border join style when hovered. See MDN (opens new window).
    hoverBorderWidth arc border width when hovered (in pixels).
    hoverOffset arc offset when hovered (in pixels).

    All these values, if undefined, fallback to the associated elements.arc.* options.

    # Config Options

    These are the customisation options specific to Pie & Doughnut charts. These options are looked up on access, and form together with the global chart configuration the options of the chart.

    Name Type Default Description
    cutout number|string 50% - for doughnut, 0 - for pie The portion of the chart that is cut out of the middle. If string and ending with '%', percentage of the chart radius. number is considered to be pixels.
    radius number|string 100% The outer radius of the chart. If string and ending with '%', percentage of the maximum radius. number is considered to be pixels.
    rotation number 0 Starting angle to draw arcs from.
    circumference number 360 Sweep to allow arcs to cover.
    animation.animateRotate boolean true If true, the chart will animate in with a rotation animation. This property is in the options.animation object.
    animation.animateScale boolean false If true, will animate scaling the chart from the center outwards.

    # Default Options

    We can also change these default values for each Doughnut type that is created, this object is available at Chart.overrides.doughnut. Pie charts also have a clone of these defaults available to change at Chart.overrides.pie, with the only difference being cutout being set to 0.

    # Data Structure

    For a pie chart, datasets need to contain an array of data points. The data points should be a number, Chart.js will total all of the numbers and calculate the relative proportion of each.

    You also need to specify an array of labels so that tooltips appear correctly.

    data = {
    +    datasets: [{
    +        data: [10, 20, 30]
    +    }],
    +    // These labels appear in the legend and in the tooltips when hovering different arcs
    +    labels: [
    +        'Red',
    +        'Yellow',
    +        'Blue'
    +    ]
    +};
    +
    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/charts/index.html b/scriptApl/chart.js/dist/docs/charts/index.html new file mode 100644 index 00000000..fe5f085c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/charts/line.html b/scriptApl/chart.js/dist/docs/charts/line.html new file mode 100644 index 00000000..361ce319 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/line.html @@ -0,0 +1,179 @@ + + + + + + Line Chart | Chart.js + + + + + + + +

    # Line Chart

    A line chart is a way of plotting data points on a line. Often, it is used to show trend data, or the comparison of two data sets.

    const config = {
    +  type: 'line',
    +  data: data,
    +};

    # Dataset Properties

    Namespaces:

    • data.datasets[index] - options for this dataset only
    • options.datasets.line - options for all line datasets
    • options.elements.line - options for all line elements
    • options.elements.point - options for all point elements
    • options - options for the whole chart

    The line chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of a line is generally set this way.

    Name Type Scriptable Indexable Default
    backgroundColor Color Yes - 'rgba(0, 0, 0, 0.1)'
    borderCapStyle string Yes - 'butt'
    borderColor Color Yes - 'rgba(0, 0, 0, 0.1)'
    borderDash number[] Yes - []
    borderDashOffset number Yes - 0.0
    borderJoinStyle 'round'|'bevel'|'miter' Yes - 'miter'
    borderWidth number Yes - 3
    clip number|object|false - - undefined
    cubicInterpolationMode string Yes - 'default'
    data object|object[]| number[]|string[] - - required
    drawActiveElementsOnTop boolean Yes Yes true
    fill boolean|string Yes - false
    hoverBackgroundColor Color Yes - undefined
    hoverBorderCapStyle string Yes - undefined
    hoverBorderColor Color Yes - undefined
    hoverBorderDash number[] Yes - undefined
    hoverBorderDashOffset number Yes - undefined
    hoverBorderJoinStyle 'round'|'bevel'|'miter' Yes - undefined
    hoverBorderWidth number Yes - undefined
    indexAxis string - - 'x'
    label string - - ''
    order number - - 0
    pointBackgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    pointBorderColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    pointBorderWidth number Yes Yes 1
    pointHitRadius number Yes Yes 1
    pointHoverBackgroundColor Color Yes Yes undefined
    pointHoverBorderColor Color Yes Yes undefined
    pointHoverBorderWidth number Yes Yes 1
    pointHoverRadius number Yes Yes 4
    pointRadius number Yes Yes 3
    pointRotation number Yes Yes 0
    pointStyle pointStyle Yes Yes 'circle'
    segment object - - undefined
    showLine boolean - - true
    spanGaps boolean|number - - undefined
    stack string - - 'line'
    stepped boolean|string - - false
    tension number - - 0
    xAxisID string - - first x axis
    yAxisID string - - first y axis

    All these values, if undefined, fallback to the scopes described in option resolution

    # General

    Name Description
    clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
    drawActiveElementsOnTop Draw the active points of a dataset over the other points of the dataset
    indexAxis The base axis of the dataset. 'x' for horizontal lines and 'y' for vertical lines.
    label The label for the dataset which appears in the legend and tooltips.
    order The drawing order of dataset. Also affects order for stacking, tooltip and legend. more
    stack The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). more
    xAxisID The ID of the x-axis to plot this dataset on.
    yAxisID The ID of the y-axis to plot this dataset on.

    # Point Styling

    The style of each point can be controlled with the following properties:

    Name Description
    pointBackgroundColor The fill color for points.
    pointBorderColor The border color for points.
    pointBorderWidth The width of the point border in pixels.
    pointHitRadius The pixel size of the non-displayed point that reacts to mouse events.
    pointRadius The radius of the point shape. If set to 0, the point is not rendered.
    pointRotation The rotation of the point in degrees.
    pointStyle Style of the point. more...

    All these values, if undefined, fallback first to the dataset options then to the associated elements.point.* options.

    # Line Styling

    The style of the line can be controlled with the following properties:

    Name Description
    backgroundColor The line fill color.
    borderCapStyle Cap style of the line. See MDN (opens new window).
    borderColor The line color.
    borderDash Length and spacing of dashes. See MDN (opens new window).
    borderDashOffset Offset for line dashes. See MDN (opens new window).
    borderJoinStyle Line joint style. See MDN (opens new window).
    borderWidth The line width (in pixels).
    fill How to fill the area under the line. See area charts.
    tension Bezier curve tension of the line. Set to 0 to draw straightlines. This option is ignored if monotone cubic interpolation is used.
    showLine If false, the line is not drawn for this dataset.
    spanGaps If true, lines will be drawn between points with no or null data. If false, points with null data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used.

    If the value is undefined, the values fallback to the associated elements.line.* options.

    # Interactions

    The interaction with each point can be controlled with the following properties:

    Name Description
    pointHoverBackgroundColor Point background color when hovered.
    pointHoverBorderColor Point border color when hovered.
    pointHoverBorderWidth Border width of point when hovered.
    pointHoverRadius The radius of the point when hovered.

    # cubicInterpolationMode

    The following interpolation modes are supported.

    • 'default'
    • 'monotone'

    The 'default' algorithm uses a custom weighted cubic interpolation, which produces pleasant curves for all types of datasets.

    The 'monotone' algorithm is more suited to y = f(x) datasets: it preserves monotonicity (or piecewise monotonicity) of the dataset being interpolated, and ensures local extremums (if any) stay at input data points.

    If left untouched (undefined), the global options.elements.line.cubicInterpolationMode property is used.

    # Segment

    Line segment styles can be overridden by scriptable options in the segment object. Currently all of the border* and backgroundColor options are supported. The segment styles are resolved for each section of the line between each point. undefined fallbacks to main line styles.

    TIP

    To be able to style gaps, you need the spanGaps option enabled.

    Context for the scriptable segment contains the following properties:

    • type: 'segment'
    • p0: first point element
    • p1: second point element
    • p0DataIndex: index of first point in the data array
    • p1DataIndex: index of second point in the data array
    • datasetIndex: dataset index

    Example usage

    # Stepped

    The following values are supported for stepped.

    • false: No Step Interpolation (default)
    • true: Step-before Interpolation (eq. 'before')
    • 'before': Step-before Interpolation
    • 'after': Step-after Interpolation
    • 'middle': Step-middle Interpolation

    If the stepped value is set to anything other than false, tension will be ignored.

    # Default Options

    It is common to want to apply a configuration setting to all created line charts. The global line chart settings are stored in Chart.overrides.line. Changing the global options only affects charts created after the change. Existing charts are not changed.

    For example, to configure all line charts with spanGaps = true you would do:

    Chart.overrides.line.spanGaps = true;
    +

    # Data Structure

    All of the supported data structures can be used with line charts.

    # Stacked Area Chart

    Line charts can be configured into stacked area charts by changing the settings on the y-axis to enable stacking. Stacked area charts can be used to show how one data trend is made up of a number of smaller pieces.

    const stackedLine = new Chart(ctx, {
    +    type: 'line',
    +    data: data,
    +    options: {
    +        scales: {
    +            y: {
    +                stacked: true
    +            }
    +        }
    +    }
    +});
    +

    # Vertical Line Chart

    A vertical line chart is a variation on the horizontal line chart. +To achieve this you will have to set the indexAxis property in the options object to 'y'. +The default for this property is 'x' and thus will show horizontal lines.

    const config = {
    +  type: 'line',
    +  data: data,
    +  options: {
    +    indexAxis: 'y',
    +    scales: {
    +      x: {
    +        beginAtZero: true
    +      }
    +    }
    +  }
    +};

    # Config Options

    The configuration options for the vertical line chart are the same as for the line chart. However, any options specified on the x-axis in a line chart, are applied to the y-axis in a vertical line chart.

    # Internal data format

    {x, y}

    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/charts/mixed.html b/scriptApl/chart.js/dist/docs/charts/mixed.html new file mode 100644 index 00000000..859fe86f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/mixed.html @@ -0,0 +1,151 @@ + + + + + + Mixed Chart Types | Chart.js + + + + + + + +

    # Mixed Chart Types

    With Chart.js, it is possible to create mixed charts that are a combination of two or more different chart types. A common example is a bar chart that also includes a line dataset.

    When creating a mixed chart, we specify the chart type on each dataset.

    const mixedChart = new Chart(ctx, {
    +    data: {
    +        datasets: [{
    +            type: 'bar',
    +            label: 'Bar Dataset',
    +            data: [10, 20, 30, 40]
    +        }, {
    +            type: 'line',
    +            label: 'Line Dataset',
    +            data: [50, 50, 50, 50],
    +        }],
    +        labels: ['January', 'February', 'March', 'April']
    +    },
    +    options: options
    +});
    +

    At this point, we have a chart rendering how we'd like. It's important to note that the default options for the charts are only considered at the dataset level and are not merged at the chart level in this case.

    const config = {
    +  type: 'scatter',
    +  data: data,
    +  options: {
    +    scales: {
    +      y: {
    +        beginAtZero: true
    +      }
    +    }
    +  }
    +};

    # Drawing order

    By default, datasets are drawn such that the first one is top-most. This can be altered by specifying order option to datasets. order defaults to 0. Note that this also affects stacking, legend, and tooltip. So it's essentially the same as reordering the datasets.

    The order property behaves like a weight instead of a specific order, so the higher the number, the sooner that dataset is drawn on the canvas and thus other datasets with a lower order number will get drawn over it.

    const mixedChart = new Chart(ctx, {
    +   type: 'bar',
    +   data: {
    +       datasets: [{
    +           label: 'Bar Dataset',
    +           data: [10, 20, 30, 40],
    +           // this dataset is drawn below
    +           order: 2
    +       }, {
    +           label: 'Line Dataset',
    +           data: [10, 10, 10, 10],
    +           type: 'line',
    +           // this dataset is drawn on top
    +           order: 1
    +       }],
    +       labels: ['January', 'February', 'March', 'April']
    +   },
    +   options: options
    +});
    +
    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/charts/polar.html b/scriptApl/chart.js/dist/docs/charts/polar.html new file mode 100644 index 00000000..df1f797b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/polar.html @@ -0,0 +1,115 @@ + + + + + + Polar Area Chart | Chart.js + + + + + + + +

    # Polar Area Chart

    Polar area charts are similar to pie charts, but each segment has the same angle - the radius of the segment differs depending on the value.

    This type of chart is often useful when we want to show a comparison data similar to a pie chart, but also show a scale of values for context.

    const config = {
    +  type: 'polarArea',
    +  data: data,
    +  options: {}
    +};

    # Dataset Properties

    Namespaces:

    • data.datasets[index] - options for this dataset only
    • options.datasets.polarArea - options for all polarArea datasets
    • options.elements.arc - options for all arc elements
    • options - options for the whole chart

    The following options can be included in a polar area chart dataset to configure options for that specific dataset.

    Name Type Scriptable Indexable Default
    backgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    borderAlign 'center'|'inner' Yes Yes 'center'
    borderColor Color Yes Yes '#fff'
    borderJoinStyle 'round'|'bevel'|'miter' Yes Yes undefined
    borderWidth number Yes Yes 2
    clip number|object|false - - undefined
    data number[] - - required
    hoverBackgroundColor Color Yes Yes undefined
    hoverBorderColor Color Yes Yes undefined
    hoverBorderJoinStyle 'round'|'bevel'|'miter' Yes Yes undefined
    hoverBorderWidth number Yes Yes undefined
    circular boolean Yes Yes true

    All these values, if undefined, fallback to the scopes described in option resolution

    # General

    Name Description
    clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}

    # Styling

    The style of each arc can be controlled with the following properties:

    Name Description
    backgroundColor arc background color.
    borderColor arc border color.
    borderJoinStyle arc border join style. See MDN (opens new window).
    borderWidth arc border width (in pixels).
    circular By default the Arc is curved. If circular: false the Arc will be flat.

    All these values, if undefined, fallback to the associated elements.arc.* options.

    # Border Alignment

    The following values are supported for borderAlign.

    • 'center' (default)
    • 'inner'

    When 'center' is set, the borders of arcs next to each other will overlap. When 'inner' is set, it is guaranteed that all the borders do not overlap.

    # Interactions

    The interaction with each arc can be controlled with the following properties:

    Name Description
    hoverBackgroundColor arc background color when hovered.
    hoverBorderColor arc border color when hovered.
    hoverBorderJoinStyle arc border join style when hovered. See MDN (opens new window).
    hoverBorderWidth arc border width when hovered (in pixels).

    All these values, if undefined, fallback to the associated elements.arc.* options.

    # Config Options

    These are the customisation options specific to Polar Area charts. These options are looked up on access, and form together with the global chart default options the options of the chart.

    Name Type Default Description
    animation.animateRotate boolean true If true, the chart will animate in with a rotation animation. This property is in the options.animation object.
    animation.animateScale boolean true If true, will animate scaling the chart from the center outwards.

    The polar area chart uses the radialLinear scale. Additional configuration is provided via the scale.

    # Default Options

    We can also change these default values for each PolarArea type that is created, this object is available at Chart.overrides.polarArea. Changing the global options only affects charts created after the change. Existing charts are not changed.

    For example, to configure all new polar area charts with animateScale = false you would do:

    Chart.overrides.polarArea.animation.animateScale = false;
    +

    # Data Structure

    For a polar area chart, datasets need to contain an array of data points. The data points should be a number, Chart.js will total all of the numbers and calculate the relative proportion of each.

    You also need to specify an array of labels so that tooltips appear correctly for each slice.

    data = {
    +    datasets: [{
    +        data: [10, 20, 30]
    +    }],
    +    // These labels appear in the legend and in the tooltips when hovering different arcs
    +    labels: [
    +        'Red',
    +        'Yellow',
    +        'Blue'
    +    ]
    +};
    +
    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/charts/radar.html b/scriptApl/chart.js/dist/docs/charts/radar.html new file mode 100644 index 00000000..8e09ddf7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/radar.html @@ -0,0 +1,157 @@ + + + + + + Radar Chart | Chart.js + + + + + + + +

    # Radar Chart

    A radar chart is a way of showing multiple data points and the variation between them.

    They are often useful for comparing the points of two or more different data sets.

    const config = {
    +  type: 'radar',
    +  data: data,
    +  options: {
    +    elements: {
    +      line: {
    +        borderWidth: 3
    +      }
    +    }
    +  },
    +};

    # Dataset Properties

    Namespaces:

    • data.datasets[index] - options for this dataset only
    • options.datasets.line - options for all line datasets
    • options.elements.line - options for all line elements
    • options.elements.point - options for all point elements
    • options - options for the whole chart

    The radar chart allows a number of properties to be specified for each dataset. These are used to set display properties for a specific dataset. For example, the colour of a line is generally set this way.

    Name Type Scriptable Indexable Default
    backgroundColor Color Yes - 'rgba(0, 0, 0, 0.1)'
    borderCapStyle string Yes - 'butt'
    borderColor Color Yes - 'rgba(0, 0, 0, 0.1)'
    borderDash number[] Yes - []
    borderDashOffset number Yes - 0.0
    borderJoinStyle 'round'|'bevel'|'miter' Yes - 'miter'
    borderWidth number Yes - 3
    hoverBackgroundColor Color Yes - undefined
    hoverBorderCapStyle string Yes - undefined
    hoverBorderColor Color Yes - undefined
    hoverBorderDash number[] Yes - undefined
    hoverBorderDashOffset number Yes - undefined
    hoverBorderJoinStyle 'round'|'bevel'|'miter' Yes - undefined
    hoverBorderWidth number Yes - undefined
    clip number|object|false - - undefined
    data number[] - - required
    fill boolean|string Yes - false
    label string - - ''
    order number - - 0
    tension number - - 0
    pointBackgroundColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    pointBorderColor Color Yes Yes 'rgba(0, 0, 0, 0.1)'
    pointBorderWidth number Yes Yes 1
    pointHitRadius number Yes Yes 1
    pointHoverBackgroundColor Color Yes Yes undefined
    pointHoverBorderColor Color Yes Yes undefined
    pointHoverBorderWidth number Yes Yes 1
    pointHoverRadius number Yes Yes 4
    pointRadius number Yes Yes 3
    pointRotation number Yes Yes 0
    pointStyle pointStyle Yes Yes 'circle'
    spanGaps boolean - - undefined

    All these values, if undefined, fallback to the scopes described in option resolution

    # General

    Name Description
    clip How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
    label The label for the dataset which appears in the legend and tooltips.
    order The drawing order of dataset. Also affects order for tooltip and legend. more

    # Point Styling

    The style of each point can be controlled with the following properties:

    Name Description
    pointBackgroundColor The fill color for points.
    pointBorderColor The border color for points.
    pointBorderWidth The width of the point border in pixels.
    pointHitRadius The pixel size of the non-displayed point that reacts to mouse events.
    pointRadius The radius of the point shape. If set to 0, the point is not rendered.
    pointRotation The rotation of the point in degrees.
    pointStyle Style of the point. more...

    All these values, if undefined, fallback first to the dataset options then to the associated elements.point.* options.

    # Line Styling

    The style of the line can be controlled with the following properties:

    Name Description
    backgroundColor The line fill color.
    borderCapStyle Cap style of the line. See MDN (opens new window).
    borderColor The line color.
    borderDash Length and spacing of dashes. See MDN (opens new window).
    borderDashOffset Offset for line dashes. See MDN (opens new window).
    borderJoinStyle Line joint style. See MDN (opens new window).
    borderWidth The line width (in pixels).
    fill How to fill the area under the line. See area charts.
    tension Bezier curve tension of the line. Set to 0 to draw straight lines.
    spanGaps If true, lines will be drawn between points with no or null data. If false, points with null data will create a break in the line.

    If the value is undefined, the values fallback to the associated elements.line.* options.

    # Interactions

    The interaction with each point can be controlled with the following properties:

    Name Description
    pointHoverBackgroundColor Point background color when hovered.
    pointHoverBorderColor Point border color when hovered.
    pointHoverBorderWidth Border width of point when hovered.
    pointHoverRadius The radius of the point when hovered.

    # Scale Options

    The radar chart supports only a single scale. The options for this scale are defined in the scales.r property, which can be referenced from the Linear Radial Axis page.

    options = {
    +    scales: {
    +        r: {
    +            angleLines: {
    +                display: false
    +            },
    +            suggestedMin: 50,
    +            suggestedMax: 100
    +        }
    +    }
    +};
    +

    # Default Options

    It is common to want to apply a configuration setting to all created radar charts. The global radar chart settings are stored in Chart.overrides.radar. Changing the global options only affects charts created after the change. Existing charts are not changed.

    # Data Structure

    The data property of a dataset for a radar chart is specified as an array of numbers. Each point in the data array corresponds to the label at the same index.

    data: [20, 10]
    +

    For a radar chart, to provide context of what each point means, we include an array of strings that show around each point in the chart.

    data: {
    +    labels: ['Running', 'Swimming', 'Eating', 'Cycling'],
    +    datasets: [{
    +        data: [20, 10, 4, 2]
    +    }]
    +}
    +

    # Internal data format

    {x, y}

    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/charts/scatter.html b/scriptApl/chart.js/dist/docs/charts/scatter.html new file mode 100644 index 00000000..292bb9cc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/charts/scatter.html @@ -0,0 +1,123 @@ + + + + + + Scatter Chart | Chart.js + + + + + + + +

    # Scatter Chart

    Scatter charts are based on basic line charts with the x axis changed to a linear axis. To use a scatter chart, data must be passed as objects containing X and Y properties. The example below creates a scatter chart with 4 points.

    const config = {
    +  type: 'scatter',
    +  data: data,
    +  options: {
    +    scales: {
    +      x: {
    +        type: 'linear',
    +        position: 'bottom'
    +      }
    +    }
    +  }
    +};

    # Dataset Properties

    Namespaces:

    • data.datasets[index] - options for this dataset only
    • options.datasets.scatter - options for all scatter datasets
    • options.elements.line - options for all line elements
    • options.elements.point - options for all point elements
    • options - options for the whole chart

    The scatter chart supports all of the same properties as the line chart. +By default, the scatter chart will override the showLine property of the line chart to false.

    The index scale is of the type linear. This means if you are using the labels array the values have to be numbers or parsable to numbers, the same applies to the object format for the keys.

    # Data Structure

    Unlike the line chart where data can be supplied in two different formats, the scatter chart only accepts data in a point format.

    data: [{
    +        x: 10,
    +        y: 20
    +    }, {
    +        x: 15,
    +        y: 10
    +    }]
    +

    # Internal data format

    {x, y}

    Last Updated: 8/3/2022, 12:46:38 PM
    + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/animations.html b/scriptApl/chart.js/dist/docs/configuration/animations.html new file mode 100644 index 00000000..89f0242c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/animations.html @@ -0,0 +1,216 @@ + + + + + + Animations | Chart.js + + + + + + + +

    # Animations

    Chart.js animates charts out of the box. A number of options are provided to configure how the animation looks and how long it takes.

      # Animation configuration

      Animation configuration consists of 3 keys.

      Name Type Details
      animation object animation
      animations object animations
      transitions object transitions

      These keys can be configured in following paths:

      • `` - chart options
      • datasets[type] - dataset type options
      • overrides[type] - chart type options

      These paths are valid under defaults for global configuration and options for instance configuration.

      # animation

      The default configuration is defined here: core.animations.js

      Namespace: options.animation

      Name Type Default Description
      duration number 1000 The number of milliseconds an animation takes.
      easing string 'easeOutQuart' Easing function to use. more...
      delay number undefined Delay before starting the animations.
      loop boolean undefined If set to true, the animations loop endlessly.

      These defaults can be overridden in options.animation or dataset.animation and tooltip.animation. These keys are also Scriptable.

      # animations

      Animations options configures which element properties are animated and how. +In addition to the main animation configuration, the following options are available:

      Namespace: options.animations[animation]

      Name Type Default Description
      properties string[] key The property names this configuration applies to. Defaults to the key name of this object.
      type string typeof property Type of property, determines the interpolator used. Possible values: 'number', 'color' and 'boolean'. Only really needed for 'color', because typeof does not get that right.
      from number|Color|boolean undefined Start value for the animation. Current value is used when undefined
      to number|Color|boolean undefined End value for the animation. Updated value is used when undefined
      fn <T>(from: T, to: T, factor: number) => T; undefined Optional custom interpolator, instead of using a predefined interpolator from type

      # Default animations

      Name Option Value
      numbers properties ['x', 'y', 'borderWidth', 'radius', 'tension']
      numbers type 'number'
      colors properties ['color', 'borderColor', 'backgroundColor']
      colors type 'color'

      Note

      These default animations are overridden by most of the dataset controllers.

      # transitions

      The core transitions are 'active', 'hide', 'reset', 'resize', 'show'. +A custom transition can be used by passing a custom mode to update. +Transition extends the main animation configuration and animations configuration.

      # Default transitions

      Namespace: options.transitions[mode]

      Mode Option Value Description
      'active' animation.duration 400 Override default duration to 400ms for hover animations
      'resize' animation.duration 0 Override default duration to 0ms (= no animation) for resize
      'show' animations.colors { type: 'color', properties: ['borderColor', 'backgroundColor'], from: 'transparent' } Colors are faded in from transparent when dataset is shown using legend / api.
      'show' animations.visible { type: 'boolean', duration: 0 } Dataset visibility is immediately changed to true so the color transition from transparent is visible.
      'hide' animations.colors { type: 'color', properties: ['borderColor', 'backgroundColor'], to: 'transparent' } Colors are faded to transparent when dataset id hidden using legend / api.
      'hide' animations.visible { type: 'boolean', easing: 'easeInExpo' } Visibility is changed to false at a very late phase of animation

      # Disabling animation

      To disable an animation configuration, the animation node must be set to false, with the exception for animation modes which can be disabled by setting the duration to 0.

      chart.options.animation = false; // disables all animations
      +chart.options.animations.colors = false; // disables animation defined by the collection of 'colors' properties
      +chart.options.animations.x = false; // disables animation defined by the 'x' property
      +chart.options.transitions.active.animation.duration = 0; // disables the animation for 'active' mode
      +

      # Easing

      Available options are:

      • 'linear'
      • 'easeInQuad'
      • 'easeOutQuad'
      • 'easeInOutQuad'
      • 'easeInCubic'
      • 'easeOutCubic'
      • 'easeInOutCubic'
      • 'easeInQuart'
      • 'easeOutQuart'
      • 'easeInOutQuart'
      • 'easeInQuint'
      • 'easeOutQuint'
      • 'easeInOutQuint'
      • 'easeInSine'
      • 'easeOutSine'
      • 'easeInOutSine'
      • 'easeInExpo'
      • 'easeOutExpo'
      • 'easeInOutExpo'
      • 'easeInCirc'
      • 'easeOutCirc'
      • 'easeInOutCirc'
      • 'easeInElastic'
      • 'easeOutElastic'
      • 'easeInOutElastic'
      • 'easeInBack'
      • 'easeOutBack'
      • 'easeInOutBack'
      • 'easeInBounce'
      • 'easeOutBounce'
      • 'easeInOutBounce'

      See Robert Penner's easing equations (opens new window).

      # Animation Callbacks

      The animation configuration provides callbacks which are useful for synchronizing an external draw to the chart animation. +The callbacks can be set only at main animation configuration.

      Namespace: options.animation

      Name Type Default Description
      onProgress function null Callback called on each step of an animation.
      onComplete function null Callback called when all animations are completed.

      The callback is passed the following object:

      {
      +  // Chart object
      +  chart: Chart,
      +  // Number of animations still in progress
      +  currentStep: number,
      +  // `true` for the initial animation of the chart
      +  initial: boolean,
      +  // Total number of animations at the start of current animation
      +  numSteps: number,
      +}
      +

      The following example fills a progress bar during the chart animation.

      const chart = new Chart(ctx, {
      +    type: 'line',
      +    data: data,
      +    options: {
      +        animation: {
      +            onProgress: function(animation) {
      +                progress.value = animation.currentStep / animation.numSteps;
      +            }
      +        }
      +    }
      +});
      +

      Another example usage of these callbacks can be found in this progress bar sample. which displays a progress bar showing how far along the animation is.

      Last Updated: 8/3/2022, 12:46:38 PM
      + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/canvas-background.html b/scriptApl/chart.js/dist/docs/configuration/canvas-background.html new file mode 100644 index 00000000..d2123675 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/canvas-background.html @@ -0,0 +1,200 @@ + + + + + + Canvas background | Chart.js + + + + + + + +

      # Canvas background

      In some use cases you would want a background image or color over the whole canvas. There is no built-in support for this, the way you can achieve this is by writing a custom plugin.

      In the two example plugins underneath here you can see how you can draw a color or image to the canvas as background. This way of giving the chart a background is only necessary if you want to export the chart with that specific background. +For normal use you can set the background more easily with CSS (opens new window).

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/decimation.html b/scriptApl/chart.js/dist/docs/configuration/decimation.html new file mode 100644 index 00000000..f169d082 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/decimation.html @@ -0,0 +1,53 @@ + + + + + + Data Decimation | Chart.js + + + + + + + +

        # Data Decimation

        The decimation plugin can be used with line charts to automatically decimate data at the start of the chart lifecycle. Before enabling this plugin, review the requirements to ensure that it will work with the chart you want to create.

        # Configuration Options

        Namespace: options.plugins.decimation, the global options for the plugin are defined in Chart.defaults.plugins.decimation.

        Name Type Default Description
        enabled boolean false Is decimation enabled?
        algorithm string 'min-max' Decimation algorithm to use. See the more...
        samples number If the 'lttb' algorithm is used, this is the number of samples in the output dataset. Defaults to the canvas width to pick 1 sample per pixel.
        threshold number If the number of samples in the current axis range is above this value, the decimation will be triggered. Defaults to 4 times the canvas width.
        The number of point after decimation can be higher than the threshold value.

        # Decimation Algorithms

        Decimation algorithm to use for data. Options are:

        • 'lttb'
        • 'min-max'

        # Largest Triangle Three Bucket (LTTB) Decimation

        LTTB (opens new window) decimation reduces the number of data points significantly. This is most useful for showing trends in data using only a few data points.

        # Min/Max Decimation

        Min/max (opens new window) decimation will preserve peaks in your data but could require up to 4 points for each pixel. This type of decimation would work well for a very noisy signal where you need to see data peaks.

        # Requirements

        To use the decimation plugin, the following requirements must be met:

        1. The dataset must have an indexAxis of 'x'
        2. The dataset must be a line
        3. The X axis for the dataset must be either a 'linear' or 'time' type axis
        4. Data must not need parsing, i.e. parsing must be false
        5. The dataset object must be mutable. The plugin stores the original data as dataset._data and then defines a new data property on the dataset.
        6. There must be more points on the chart than the threshold value. Take a look at the Configuration Options for more information.
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/device-pixel-ratio.html b/scriptApl/chart.js/dist/docs/configuration/device-pixel-ratio.html new file mode 100644 index 00000000..b4edfcc2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/device-pixel-ratio.html @@ -0,0 +1,53 @@ + + + + + + Device Pixel Ratio | Chart.js + + + + + + + +

        # Device Pixel Ratio

        By default the chart's canvas will use a 1:1 pixel ratio, unless the physical display has a higher pixel ratio (e.g. Retina displays).

        For applications where a chart will be converted to a bitmap, or printed to a higher DPI medium it can be desirable to render the chart at a higher resolution than the default.

        Setting devicePixelRatio to a value other than 1 will force the canvas size to be scaled by that amount, relative to the container size. There should be no visible difference on screen; the difference will only be visible when the image is zoomed or printed.

        # Configuration Options

        Namespace: options

        Name Type Default Description
        devicePixelRatio number window.devicePixelRatio Override the window's default devicePixelRatio.
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/elements.html b/scriptApl/chart.js/dist/docs/configuration/elements.html new file mode 100644 index 00000000..56e82272 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/elements.html @@ -0,0 +1,54 @@ + + + + + + Elements | Chart.js + + + + + + + +

        # Elements

        While chart types provide settings to configure the styling of each dataset, you sometimes want to style all datasets the same way. A common example would be to stroke all of the bars in a bar chart with the same colour but change the fill per dataset. Options can be configured for four different types of elements: arc, lines, points, and bars. When set, these options apply to all objects of that type unless specifically overridden by the configuration attached to a dataset.

        # Global Configuration

        The element options can be specified per chart or globally. The global options for elements are defined in Chart.defaults.elements. For example, to set the border width of all bar charts globally you would do:

        Chart.defaults.elements.bar.borderWidth = 2;
        +

        # Point Configuration

        Point elements are used to represent the points in a line, radar or bubble chart.

        Namespace: options.elements.point, global point options: Chart.defaults.elements.point.

        Name Type Default Description
        radius number 3 Point radius.
        pointStyle pointStyle 'circle' Point style.
        rotation number 0 Point rotation (in degrees).
        backgroundColor Color Chart.defaults.backgroundColor Point fill color.
        borderWidth number 1 Point stroke width.
        borderColor Color 'Chart.defaults.borderColor Point stroke color.
        hitRadius number 1 Extra radius added to point radius for hit detection.
        hoverRadius number 4 Point radius when hovered.
        hoverBorderWidth number 1 Stroke width when hovered.

        # Point Styles

        # Types

        The pointStyle argument accepts the following type of inputs: string, Image and HTMLCanvasElement

        # Info

        When a string is provided, the following values are supported:

        • 'circle'
        • 'cross'
        • 'crossRot'
        • 'dash'
        • 'line'
        • 'rect'
        • 'rectRounded'
        • 'rectRot'
        • 'star'
        • 'triangle'

        If the value is an image or a canvas element, that image or canvas element is drawn on the canvas using drawImage (opens new window).

        # Line Configuration

        Line elements are used to represent the line in a line chart.

        Namespace: options.elements.line, global line options: Chart.defaults.elements.line.

        Name Type Default Description
        tension number 0 Bézier curve tension (0 for no Bézier curves).
        backgroundColor Color Chart.defaults.backgroundColor Line fill color.
        borderWidth number 3 Line stroke width.
        borderColor Color Chart.defaults.borderColor Line stroke color.
        borderCapStyle string 'butt' Line cap style. See MDN (opens new window).
        borderDash number[] [] Line dash. See MDN (opens new window).
        borderDashOffset number 0.0 Line dash offset. See MDN (opens new window).
        borderJoinStyle 'round'|'bevel'|'miter' 'miter' Line join style. See MDN (opens new window).
        capBezierPoints boolean true true to keep Bézier control inside the chart, false for no restriction.
        cubicInterpolationMode string 'default' Interpolation mode to apply. See more...
        fill boolean|string false How to fill the area under the line. See area charts.
        stepped boolean false true to show the line as a stepped line (tension will be ignored).

        # Bar Configuration

        Bar elements are used to represent the bars in a bar chart.

        Namespace: options.elements.bar, global bar options: Chart.defaults.elements.bar.

        Name Type Default Description
        backgroundColor Color Chart.defaults.backgroundColor Bar fill color.
        borderWidth number 0 Bar stroke width.
        borderColor Color Chart.defaults.borderColor Bar stroke color.
        borderSkipped string 'start' Skipped (excluded) border: 'start', 'end', 'middle', 'bottom', 'left', 'top', 'right' or false.
        borderRadius number|object 0 The bar border radius (in pixels).
        inflateAmount number|'auto' 'auto' The amount of pixels to inflate the bar rectangle(s) when drawing.
        pointStyle string|Image|HTMLCanvasElement 'circle' Style of the point for legend.

        # Arc Configuration

        Arcs are used in the polar area, doughnut and pie charts.

        Namespace: options.elements.arc, global arc options: Chart.defaults.elements.arc.

        Name Type Default Description
        angle - for polar only number circumference / (arc count) Arc angle to cover.
        backgroundColor Color Chart.defaults.backgroundColor Arc fill color.
        borderAlign 'center'|'inner' 'center' Arc stroke alignment.
        borderColor Color '#fff' Arc stroke color.
        borderJoinStyle 'round'|'bevel'|'miter' 'bevel'|'round' Line join style. See MDN (opens new window). The default is 'round' when borderAlign is 'inner'
        borderWidth number 2 Arc stroke width.
        circular boolean true By default the Arc is curved. If circular: false the Arc will be flat
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/index.html b/scriptApl/chart.js/dist/docs/configuration/index.html new file mode 100644 index 00000000..918dfccb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/index.html @@ -0,0 +1,96 @@ + + + + + + Configuration | Chart.js + + + + + + + +

        # Configuration

        The configuration is used to change how the chart behaves. There are properties to control styling, fonts, the legend, etc.

        # Configuration object structure

        The top level structure of Chart.js configuration:

        const config = {
        +  type: 'line'
        +  data: {}
        +  options: {}
        +  plugins: []
        +}
        +

        # type

        Chart type determines the main type of the chart.

        note A dataset can override the type, this is how mixed charts are constructed.

        # data

        See Data Structures for details.

        # options

        Majority of the documentation talks about these options.

        # plugins

        Inline plugins can be included in this array. It is an alternative way of adding plugins for single chart (vs registering the plugin globally). +More about plugins in the developers section.

        # Global Configuration

        This concept was introduced in Chart.js 1.0 to keep configuration DRY (opens new window), and allow for changing options globally across chart types, avoiding the need to specify options for each instance, or the default for a particular chart type.

        Chart.js merges the options object passed to the chart with the global configuration using chart type defaults and scales defaults appropriately. This way you can be as specific as you would like in your individual chart configuration, while still changing the defaults for all chart types where applicable. The global general options are defined in Chart.defaults. The defaults for each chart type are discussed in the documentation for that chart type.

        The following example would set the interaction mode to 'nearest' for all charts where this was not overridden by the chart type defaults or the options passed to the constructor on creation.

        Chart.defaults.interaction.mode = 'nearest';
        +// Interaction mode is set to nearest because it was not overridden here
        +const chartInteractionModeNearest = new Chart(ctx, {
        +    type: 'line',
        +    data: data
        +});
        +// This chart would have the interaction mode that was passed in
        +const chartDifferentInteractionMode = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            // Overrides the global setting
        +            mode: 'index'
        +        }
        +    }
        +});
        +

        # Dataset Configuration

        Options may be configured directly on the dataset. The dataset options can be changed at multiple different levels. See options for details on how the options are resolved.

        The following example would set the showLine option to 'false' for all line datasets except for those overridden by options passed to the dataset on creation.

        // Do not show lines for all datasets by default
        +Chart.defaults.datasets.line.showLine = false;
        +// This chart would show a line only for the third dataset
        +const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: {
        +        datasets: [{
        +            data: [0, 0],
        +        }, {
        +            data: [0, 1]
        +        }, {
        +            data: [1, 0],
        +            showLine: true // overrides the `line` dataset default
        +        }, {
        +            type: 'scatter', // 'line' dataset default does not affect this dataset since it's a 'scatter'
        +            data: [1, 1]
        +        }]
        +    }
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/interactions.html b/scriptApl/chart.js/dist/docs/configuration/interactions.html new file mode 100644 index 00000000..5bd0bf5b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/interactions.html @@ -0,0 +1,206 @@ + + + + + + Interactions | Chart.js + + + + + + + +

        # Interactions

        Namespace: options.interaction, the global interaction configuration is at Chart.defaults.interaction. To configure which events trigger chart interactions, see events.

        Name Type Default Description
        mode string 'nearest' Sets which elements appear in the interaction. See Interaction Modes for details.
        intersect boolean true if true, the interaction mode only applies when the mouse position intersects an item on the chart.
        axis string 'x' Can be set to 'x', 'y', 'xy' or 'r' to define which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes.
        includeInvisible boolean false if true, the invisible points that are outside of the chart area will also be included when evaluating interactions.

        By default, these options apply to both the hover and tooltip interactions. The same options can be set in the options.hover namespace, in which case they will only affect the hover interaction. Similarly, the options can be set in the options.plugins.tooltip namespace to independently configure the tooltip interactions.

        # Events

        The following properties define how the chart interacts with events. +Namespace: options

        Name Type Default Description
        events string[] ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'] The events option defines the browser events that the chart should listen to for. Each of these events trigger hover and are passed to plugins. more...
        onHover function null Called when any of the events fire over chartArea. Passed the event, an array of active elements (bars, points, etc), and the chart.
        onClick function null Called if the event is of type 'mouseup', 'click' or ''contextmenu' over chartArea. Passed the event, an array of active elements, and the chart.

        # Event Option

        For example, to have the chart only respond to click events, you could do:

        const chart = new Chart(ctx, {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    // This chart will not respond to mousemove, etc
        +    events: ['click']
        +  }
        +});
        +

        Events for each plugin can be further limited by defining (allowed) events array in plugin options:

        const chart = new Chart(ctx, {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    // All of these (default) events trigger a hover and are passed to all plugins,
        +    // unless limited at plugin options
        +    events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],
        +    plugins: {
        +      tooltip: {
        +        // Tooltip will only receive click events
        +        events: ['click']
        +      }
        +    }
        +  }
        +});
        +

        Events that do not fire over chartArea, like mouseout, can be captured using a simple plugin:

        const chart = new Chart(ctx, {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    // these are the default events:
        +    // events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],
        +  },
        +  plugins: [{
        +    id: 'myEventCatcher',
        +    beforeEvent(chart, args, pluginOptions) {
        +      const event = args.event;
        +      if (event.type === 'mouseout') {
        +        // process the event
        +      }
        +    }
        +  }]
        +});
        +

        For more information about plugins, see Plugins

        # Converting Events to Data Values

        A common occurrence is taking an event, such as a click, and finding the data coordinates on the chart where the event occurred. Chart.js provides helpers that make this a straightforward process.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        onClick: (e) => {
        +            const canvasPosition = Chart.helpers.getRelativePosition(e, chart);
        +            // Substitute the appropriate scale IDs
        +            const dataX = chart.scales.x.getValueForPixel(canvasPosition.x);
        +            const dataY = chart.scales.y.getValueForPixel(canvasPosition.y);
        +        }
        +    }
        +});
        +

        When using a bundler, the helper functions have to be imported seperatly, for a full explanation of this please head over to the integration page

        # Modes

        When configuring the interaction with the graph via interaction, hover or tooltips, a number of different modes are available.

        options.hover and options.plugins.tooltip extend from options.interaction. So if mode, intersect or any other common settings are configured only in options.interaction, both hover and tooltips obey that.

        The modes are detailed below and how they behave in conjunction with the intersect setting.

        See how different modes work with the tooltip in tooltip interactions sample

        # point

        Finds all of the items that intersect the point.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'point'
        +        }
        +    }
        +});
        +

        # nearest

        Gets the items that are at the nearest distance to the point. The nearest item is determined based on the distance to the center of the chart item (point, bar). You can use the axis setting to define which coordinates are considered in distance calculation. If intersect is true, this is only triggered when the mouse position intersects an item in the graph. This is very useful for combo charts where points are hidden behind bars.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'nearest'
        +        }
        +    }
        +});
        +

        # index

        Finds item at the same index. If the intersect setting is true, the first intersecting item is used to determine the index in the data. If intersect false the nearest item, in the x direction, is used to determine the index.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'index'
        +        }
        +    }
        +});
        +

        To use index mode in a chart like the horizontal bar chart, where we search along the y direction, you can use the axis setting introduced in v2.7.0. By setting this value to 'y' on the y direction is used.

        const chart = new Chart(ctx, {
        +    type: 'bar',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'index',
        +            axis: 'y'
        +        }
        +    }
        +});
        +

        # dataset

        Finds items in the same dataset. If the intersect setting is true, the first intersecting item is used to determine the index in the data. If intersect false the nearest item is used to determine the index.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'dataset'
        +        }
        +    }
        +});
        +

        # x

        Returns all items that would intersect based on the X coordinate of the position only. Would be useful for a vertical cursor implementation. Note that this only applies to cartesian charts.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'x'
        +        }
        +    }
        +});
        +

        # y

        Returns all items that would intersect based on the Y coordinate of the position. This would be useful for a horizontal cursor implementation. Note that this only applies to cartesian charts.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'y'
        +        }
        +    }
        +});
        +

        # Custom Interaction Modes

        New modes can be defined by adding functions to the Chart.Interaction.modes map. You can use the Chart.Interaction.evaluateInteractionItems function to help implement these.

        Example:

        import { Interaction } from 'chart.js';
        +import { getRelativePosition } from 'chart.js/helpers';
        +/**
        + * Custom interaction mode
        + * @function Interaction.modes.myCustomMode
        + * @param {Chart} chart - the chart we are returning items from
        + * @param {Event} e - the event we are find things at
        + * @param {InteractionOptions} options - options to use
        + * @param {boolean} [useFinalPosition] - use final element position (animation target)
        + * @return {InteractionItem[]} - items that are found
        + */
        +Interaction.modes.myCustomMode = function(chart, e, options, useFinalPosition) {
        +  const position = getRelativePosition(e, chart);
        +  const items = [];
        +  Interaction.evaluateInteractionItems(chart, 'x', position, (element, datasetIndex, index) => {
        +    if (element.inXRange(position.x, useFinalPosition) && myCustomLogic(element)) {
        +      items.push({element, datasetIndex, index});
        +    }
        +  });
        +  return items;
        +};
        +// Then, to use it...
        +new Chart.js(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        interaction: {
        +            mode: 'myCustomMode'
        +        }
        +    }
        +})
        +

        If you're using TypeScript, you'll also need to register the new mode:

        declare module 'chart.js' {
        +  interface InteractionModeMap {
        +    myCustomMode: InteractionModeFunction;
        +  }
        +}
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/layout.html b/scriptApl/chart.js/dist/docs/configuration/layout.html new file mode 100644 index 00000000..360cf5bb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/layout.html @@ -0,0 +1,53 @@ + + + + + + Layout | Chart.js + + + + + + + +

        # Layout

        Namespace: options.layout, the global options for the chart layout is defined in Chart.defaults.layout.

        Name Type Default Scriptable Description
        autoPadding boolean true No Apply automatic padding so visible elements are completely drawn.
        padding Padding 0 Yes The padding to add inside the chart.
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/legend.html b/scriptApl/chart.js/dist/docs/configuration/legend.html new file mode 100644 index 00000000..271733f6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/legend.html @@ -0,0 +1,143 @@ + + + + + + Legend | Chart.js + + + + + + + +

        # Legend

        The chart legend displays data about the datasets that are appearing on the chart.

        # Configuration options

        Namespace: options.plugins.legend, the global options for the chart legend is defined in Chart.defaults.plugins.legend.

        WARNING

        The doughnut, pie, and polar area charts override the legend defaults. To change the overrides for those chart types, the options are defined in Chart.overrides[type].plugins.legend.

        Name Type Default Description
        display boolean true Is the legend shown?
        position string 'top' Position of the legend. more...
        align string 'center' Alignment of the legend. more...
        maxHeight number Maximum height of the legend, in pixels
        maxWidth number Maximum width of the legend, in pixels
        fullSize boolean true Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.
        onClick function A callback that is called when a click event is registered on a label item. Arguments: [event, legendItem, legend].
        onHover function A callback that is called when a 'mousemove' event is registered on top of a label item. Arguments: [event, legendItem, legend].
        onLeave function A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item. Arguments: [event, legendItem, legend].
        reverse boolean false Legend will show datasets in reverse order.
        labels object See the Legend Label Configuration section below.
        rtl boolean true for rendering the legends from right to left.
        textDirection string canvas' default This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas
        title object See the Legend Title Configuration section below.

        # Position

        Position of the legend. Options are:

        • 'top'
        • 'left'
        • 'bottom'
        • 'right'
        • 'chartArea'

        When using the 'chartArea' option the legend position is at the moment not configurable, it will always be on the left side of the chart in the middle.

        # Align

        Alignment of the legend. Options are:

        • 'start'
        • 'center'
        • 'end'

        Defaults to 'center' for unrecognized values.

        # Legend Label Configuration

        Namespace: options.plugins.legend.labels

        Name Type Default Description
        boxWidth number 40 Width of coloured box.
        boxHeight number font.size Height of the coloured box.
        color Color Chart.defaults.color Color of label and the strikethrough.
        font Font Chart.defaults.font See Fonts
        padding number 10 Padding between rows of colored boxes.
        generateLabels function Generates legend items for each thing in the legend. Default implementation returns the text + styling for the color box. See Legend Item for details.
        filter function null Filters legend items out of the legend. Receives 2 parameters, a Legend Item and the chart data.
        sort function null Sorts legend items. Type is : sort(a: LegendItem, b: LegendItem, data: ChartData): number;. Receives 3 parameters, two Legend Items and the chart data. The return value of the function is a number that indicates the order of the two legend item parameters. The ordering matches the return value (opens new window) of Array.prototype.sort()
        pointStyle pointStyle 'circle' If specified, this style of point is used for the legend. Only used if usePointStyle is true.
        textAlign string 'center' Horizontal alignment of the label text. Options are: 'left', 'right' or 'center'.
        usePointStyle boolean false Label style will match corresponding point style (size is based on pointStyleWidth or the minimum value between boxWidth and font.size).
        pointStyleWidth number null If usePointStyle is true, the width of the point style used for the legend (only for circle, rect and line point stlye).

        # Legend Title Configuration

        Namespace: options.plugins.legend.title

        Name Type Default Description
        color Color Chart.defaults.color Color of text.
        display boolean false Is the legend title displayed.
        font Font Chart.defaults.font See Fonts
        padding Padding 0 Padding around the title.
        text string The string title.

        # Legend Item Interface

        Items passed to the legend onClick function are the ones returned from labels.generateLabels. These items must implement the following interface.

        {
        +    // Label that will be displayed
        +    text: string,
        +    // Border radius of the legend item.
        +    // Introduced in 3.1.0
        +    borderRadius?: number | BorderRadius,
        +    // Index of the associated dataset
        +    datasetIndex: number,
        +    // Fill style of the legend box
        +    fillStyle: Color,
        +    // Text color
        +    fontColor: Color,
        +    // If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect
        +    hidden: boolean,
        +    // For box border. See https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap
        +    lineCap: string,
        +    // For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash
        +    lineDash: number[],
        +    // For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset
        +    lineDashOffset: number,
        +    // For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin
        +    lineJoin: string,
        +    // Width of box border
        +    lineWidth: number,
        +    // Stroke style of the legend box
        +    strokeStyle: Color,
        +    // Point style of the legend box (only used if usePointStyle is true)
        +    pointStyle: string | Image | HTMLCanvasElement,
        +    // Rotation of the point in degrees (only used if usePointStyle is true)
        +    rotation: number
        +}
        +

        # Example

        The following example will create a chart with the legend enabled and turn all of the text red in color.

        const chart = new Chart(ctx, {
        +    type: 'bar',
        +    data: data,
        +    options: {
        +        plugins: {
        +            legend: {
        +                display: true,
        +                labels: {
        +                    color: 'rgb(255, 99, 132)'
        +                }
        +            }
        +        }
        +    }
        +});
        +

        # Custom On Click Actions

        It can be common to want to trigger different behaviour when clicking an item in the legend. This can be easily achieved using a callback in the config object.

        The default legend click handler is:

        function(e, legendItem, legend) {
        +    const index = legendItem.datasetIndex;
        +    const ci = legend.chart;
        +    if (ci.isDatasetVisible(index)) {
        +        ci.hide(index);
        +        legendItem.hidden = true;
        +    } else {
        +        ci.show(index);
        +        legendItem.hidden = false;
        +    }
        +}
        +

        Lets say we wanted instead to link the display of the first two datasets. We could change the click handler accordingly.

        const defaultLegendClickHandler = Chart.defaults.plugins.legend.onClick;
        +const pieDoughnutLegendClickHandler = Chart.controllers.doughnut.overrides.plugins.legend.onClick;
        +const newLegendClickHandler = function (e, legendItem, legend) {
        +    const index = legendItem.datasetIndex;
        +    const type = legend.chart.config.type;
        +    if (index > 1) {
        +        // Do the original logic
        +        if (type === 'pie' || type === 'doughnut') {
        +            pieDoughnutLegendClickHandler(e, legendItem, legend)
        +        } else {
        +            defaultLegendClickHandler(e, legendItem, legend);
        +        }
        +    } else {
        +        let ci = legend.chart;
        +        [
        +            ci.getDatasetMeta(0),
        +            ci.getDatasetMeta(1)
        +        ].forEach(function(meta) {
        +            meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;
        +        });
        +        ci.update();
        +    }
        +};
        +const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            legend: {
        +                onClick: newLegendClickHandler
        +            }
        +        }
        +    }
        +});
        +

        Now when you click the legend in this chart, the visibility of the first two datasets will be linked together.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/locale.html b/scriptApl/chart.js/dist/docs/configuration/locale.html new file mode 100644 index 00000000..d4c6b02b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/locale.html @@ -0,0 +1,53 @@ + + + + + + Locale | Chart.js + + + + + + + +

        # Locale

        For applications where the numbers of ticks on scales must be formatted accordingly with a language sensitive number formatting, you can enable this kind of formatting by setting the locale option.

        The locale is a string that is a Unicode BCP 47 locale identifier (opens new window).

        A Unicode BCP 47 locale identifier consists of

        1. a language code,
        2. (optionally) a script code,
        3. (optionally) a region (or country) code,
        4. (optionally) one or more variant codes, and
        5. (optionally) one or more extension sequences,

        with all present components separated by hyphens.

        By default the chart is using the default locale of the platform which is running on.

        # Configuration Options

        Namespace: options

        Name Type Default Description
        locale string undefined a string with a BCP 47 language tag, leveraging on INTL NumberFormat (opens new window).
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/responsive.html b/scriptApl/chart.js/dist/docs/configuration/responsive.html new file mode 100644 index 00000000..b8e65bc8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/responsive.html @@ -0,0 +1,69 @@ + + + + + + Responsive Charts | Chart.js + + + + + + + +

        # Responsive Charts

        When it comes to changing the chart size based on the window size, a major limitation is that the canvas render size (canvas.width and .height) can not be expressed with relative values, contrary to the display size (canvas.style.width and .height). Furthermore, these sizes are independent from each other and thus the canvas render size does not adjust automatically based on the display size, making the rendering inaccurate.

        The following examples do not work:

        • <canvas height="40vh" width="80vw">: invalid values, the canvas doesn't resize (example (opens new window))
        • <canvas style="height:40vh; width:80vw">: invalid behavior, the canvas is resized but becomes blurry (example (opens new window))
        • <canvas style="margin: 0 auto;">: invalid behavior, the canvas continually shrinks. Chart.js needs a dedicated container for each canvas and this styling should be applied there.

        Chart.js provides a few options to enable responsiveness and control the resize behavior of charts by detecting when the canvas display size changes and update the render size accordingly.

        # Configuration Options

        Namespace: options

        Name Type Default Description
        responsive boolean true Resizes the chart canvas when its container does (important note...).
        maintainAspectRatio boolean true Maintain the original canvas aspect ratio (width / height) when resizing.
        aspectRatio number 1|2 Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style. The default value varies by chart type; Radial charts (doughnut, pie, polarArea, radar) default to 1 and others default to 2.
        onResize function null Called when a resize occurs. Gets passed two arguments: the chart instance and the new size.
        resizeDelay number 0 Delay the resize update by the given amount of milliseconds. This can ease the resize process by debouncing the update of the elements.

        # Important Note

        Detecting when the canvas size changes can not be done directly from the canvas element. Chart.js uses its parent container to update the canvas render and display sizes. However, this method requires the container to be relatively positioned and dedicated to the chart canvas only. Responsiveness can then be achieved by setting relative values for the container size (example (opens new window)):

        <div class="chart-container" style="position: relative; height:40vh; width:80vw">
        +    <canvas id="chart"></canvas>
        +</div>
        +

        The chart can also be programmatically resized by modifying the container size:

        chart.canvas.parentNode.style.height = '128px';
        +chart.canvas.parentNode.style.width = '128px';
        +

        Note that in order for the above code to correctly resize the chart height, the maintainAspectRatio option must also be set to false.

        # Printing Resizable Charts

        CSS media queries allow changing styles when printing a page. The CSS applied from these media queries may cause charts to need to resize. However, the resize won't happen automatically. To support resizing charts when printing, you need to hook the onbeforeprint (opens new window) event and manually trigger resizing of each chart.

        function beforePrintHandler () {
        +    for (let id in Chart.instances) {
        +        Chart.instances[id].resize();
        +    }
        +}
        +

        You may also find that, due to complexities in when the browser lays out the document for printing and when resize events are fired, Chart.js is unable to properly resize for the print layout. To work around this, you can pass an explicit size to .resize() then use an onafterprint (opens new window) event to restore the automatic size when done.

        window.addEventListener('beforeprint', () => {
        +  myChart.resize(600, 600);
        +});
        +window.addEventListener('afterprint', () => {
        +  myChart.resize();
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/subtitle.html b/scriptApl/chart.js/dist/docs/configuration/subtitle.html new file mode 100644 index 00000000..9781f356 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/subtitle.html @@ -0,0 +1,65 @@ + + + + + + Subtitle | Chart.js + + + + + + + +

        # Subtitle

        Subtitle is a second title placed under the main title, by default. It has exactly the same configuration options with the main title.

        # Subtitle Configuration

        Namespace: options.plugins.subtitle. The global defaults for subtitle are configured in Chart.defaults.plugins.subtitle.

        Exactly the same configuration options with title are available for subtitle, the namespaces only differ.

        # Example Usage

        The example below would enable a title of 'Custom Chart Subtitle' on the chart that is created.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            subtitle: {
        +                display: true,
        +                text: 'Custom Chart Subtitle'
        +            }
        +        }
        +    }
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/title.html b/scriptApl/chart.js/dist/docs/configuration/title.html new file mode 100644 index 00000000..e8cf017c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/title.html @@ -0,0 +1,81 @@ + + + + + + Title | Chart.js + + + + + + + +

        # Title

        The chart title defines text to draw at the top of the chart.

        # Title Configuration

        Namespace: options.plugins.title, the global options for the chart title is defined in Chart.defaults.plugins.title.

        Name Type Default Scriptable Description
        align string 'center' Yes Alignment of the title. more...
        color Color Chart.defaults.color Yes Color of text.
        display boolean false Yes Is the title shown?
        fullSize boolean true Yes Marks that this box should take the full width/height of the canvas. If false, the box is sized and placed above/beside the chart area.
        position string 'top' Yes Position of title. more...
        font Font {weight: 'bold'} Yes See Fonts
        padding Padding 10 Yes Padding to apply around the title. Only top and bottom are implemented.
        text string|string[] '' Yes Title text to display. If specified as an array, text is rendered on multiple lines.

        # Position

        Possible title position values are:

        • 'top'
        • 'left'
        • 'bottom'
        • 'right'

        # Align

        Alignment of the title. Options are:

        • 'start'
        • 'center'
        • 'end'

        # Example Usage

        The example below would enable a title of 'Custom Chart Title' on the chart that is created.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            title: {
        +                display: true,
        +                text: 'Custom Chart Title'
        +            }
        +        }
        +    }
        +});
        +

        This example shows how to specify separate top and bottom title text padding:

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            title: {
        +                display: true,
        +                text: 'Custom Chart Title',
        +                padding: {
        +                    top: 10,
        +                    bottom: 30
        +                }
        +            }
        +        }
        +    }
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/configuration/tooltip.html b/scriptApl/chart.js/dist/docs/configuration/tooltip.html new file mode 100644 index 00000000..c46ede8d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/configuration/tooltip.html @@ -0,0 +1,282 @@ + + + + + + Tooltip | Chart.js + + + + + + + +

        # Tooltip

        # Tooltip Configuration

        Namespace: options.plugins.tooltip, the global options for the chart tooltips is defined in Chart.defaults.plugins.tooltip.

        WARNING

        The bubble, doughnut, pie, polar area, and scatter charts override the tooltip defaults. To change the overrides for those chart types, the options are defined in Chart.overrides[type].plugins.tooltip.

        Name Type Default Description
        enabled boolean true Are on-canvas tooltips enabled?
        external function null See external tooltip section.
        mode string interaction.mode Sets which elements appear in the tooltip. more....
        intersect boolean interaction.intersect If true, the tooltip mode applies only when the mouse position intersects with an element. If false, the mode will be applied at all times.
        position string 'average' The mode for positioning the tooltip. more...
        callbacks object See the callbacks section.
        itemSort function Sort tooltip items. more...
        filter function Filter tooltip items. more...
        backgroundColor Color 'rgba(0, 0, 0, 0.8)' Background color of the tooltip.
        titleColor Color '#fff' Color of title text.
        titleFont Font {weight: 'bold'} See Fonts.
        titleAlign string 'left' Horizontal alignment of the title text lines. more...
        titleSpacing number 2 Spacing to add to top and bottom of each title line.
        titleMarginBottom number 6 Margin to add on bottom of title section.
        bodyColor Color '#fff' Color of body text.
        bodyFont Font {} See Fonts.
        bodyAlign string 'left' Horizontal alignment of the body text lines. more...
        bodySpacing number 2 Spacing to add to top and bottom of each tooltip item.
        footerColor Color '#fff' Color of footer text.
        footerFont Font {weight: 'bold'} See Fonts.
        footerAlign string 'left' Horizontal alignment of the footer text lines. more...
        footerSpacing number 2 Spacing to add to top and bottom of each footer line.
        footerMarginTop number 6 Margin to add before drawing the footer.
        padding Padding 6 Padding inside the tooltip.
        caretPadding number 2 Extra distance to move the end of the tooltip arrow away from the tooltip point.
        caretSize number 5 Size, in px, of the tooltip arrow.
        cornerRadius number|object 6 Radius of tooltip corner curves.
        multiKeyBackground Color '#fff' Color to draw behind the colored boxes when multiple items are in the tooltip.
        displayColors boolean true If true, color boxes are shown in the tooltip.
        boxWidth number bodyFont.size Width of the color box if displayColors is true.
        boxHeight number bodyFont.size Height of the color box if displayColors is true.
        boxPadding number 1 Padding between the color box and the text.
        usePointStyle boolean false Use the corresponding point style (from dataset options) instead of color boxes, ex: star, triangle etc. (size is based on the minimum value between boxWidth and boxHeight).
        borderColor Color 'rgba(0, 0, 0, 0)' Color of the border.
        borderWidth number 0 Size of the border.
        rtl boolean true for rendering the tooltip from right to left.
        textDirection string canvas' default This will force the text direction 'rtl' or 'ltr on the canvas for rendering the tooltips, regardless of the css specified on the canvas
        xAlign string undefined Position of the tooltip caret in the X direction. more
        yAlign string undefined Position of the tooltip caret in the Y direction. more

        # Position Modes

        Possible modes are:

        • 'average'
        • 'nearest'

        'average' mode will place the tooltip at the average position of the items displayed in the tooltip. 'nearest' will place the tooltip at the position of the element closest to the event position.

        You can also define custom position modes.

        # Tooltip Alignment

        The xAlign and yAlign options define the position of the tooltip caret. If these parameters are unset, the optimal caret position is determined.

        The following values for the xAlign setting are supported.

        • 'left'
        • 'center'
        • 'right'

        The following values for the yAlign setting are supported.

        • 'top'
        • 'center'
        • 'bottom'

        # Text Alignment

        The titleAlign, bodyAlign and footerAlign options define the horizontal position of the text lines with respect to the tooltip box. The following values are supported.

        • 'left' (default)
        • 'right'
        • 'center'

        These options are only applied to text lines. Color boxes are always aligned to the left edge.

        # Sort Callback

        Allows sorting of tooltip items. Must implement at minimum a function that can be passed to Array.prototype.sort (opens new window). This function can also accept a third parameter that is the data object passed to the chart.

        # Filter Callback

        Allows filtering of tooltip items. Must implement at minimum a function that can be passed to Array.prototype.filter (opens new window). This function can also accept a fourth parameter that is the data object passed to the chart.

        # Tooltip Callbacks

        Namespace: options.plugins.tooltip.callbacks, the tooltip has the following callbacks for providing text. For all functions, this will be the tooltip object created from the Tooltip constructor.

        Namespace: data.datasets[].tooltip.callbacks, items marked with Yes in the column Dataset override can be overridden per dataset.

        A tooltip item context is generated for each item that appears in the tooltip. This is the primary model that the callback methods interact with. For functions that return text, arrays of strings are treated as multiple lines of text.

        Name Arguments Return Type Dataset override Description
        beforeTitle TooltipItem[] string | string[] Returns the text to render before the title.
        title TooltipItem[] string | string[] Returns text to render as the title of the tooltip.
        afterTitle TooltipItem[] string | string[] Returns text to render after the title.
        beforeBody TooltipItem[] string | string[] Returns text to render before the body section.
        beforeLabel TooltipItem string | string[] Yes Returns text to render before an individual label. This will be called for each item in the tooltip.
        label TooltipItem string | string[] Yes Returns text to render for an individual item in the tooltip. more...
        labelColor TooltipItem object Yes Returns the colors to render for the tooltip item. more...
        labelTextColor TooltipItem Color Yes Returns the colors for the text of the label for the tooltip item.
        labelPointStyle TooltipItem object Yes Returns the point style to use instead of color boxes if usePointStyle is true (object with values pointStyle and rotation). Default implementation uses the point style from the dataset points. more...
        afterLabel TooltipItem string | string[] Yes Returns text to render after an individual label.
        afterBody TooltipItem[] string | string[] Returns text to render after the body section.
        beforeFooter TooltipItem[] string | string[] Returns text to render before the footer section.
        footer TooltipItem[] string | string[] Returns text to render as the footer of the tooltip.
        afterFooter TooltipItem[] string | string[] Text to render after the footer section.

        # Label Callback

        The label callback can change the text that displays for a given data point. A common example to show a unit. The example below puts a '$' before every row.

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            tooltip: {
        +                callbacks: {
        +                    label: function(context) {
        +                        let label = context.dataset.label || '';
        +                        if (label) {
        +                            label += ': ';
        +                        }
        +                        if (context.parsed.y !== null) {
        +                            label += new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(context.parsed.y);
        +                        }
        +                        return label;
        +                    }
        +                }
        +            }
        +        }
        +    }
        +});
        +

        # Label Color Callback

        For example, to return a red box with a blue dashed border that has a border radius for each item in the tooltip you could do:

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            tooltip: {
        +                callbacks: {
        +                    labelColor: function(context) {
        +                        return {
        +                            borderColor: 'rgb(0, 0, 255)',
        +                            backgroundColor: 'rgb(255, 0, 0)',
        +                            borderWidth: 2,
        +                            borderDash: [2, 2],
        +                            borderRadius: 2,
        +                        };
        +                    },
        +                    labelTextColor: function(context) {
        +                        return '#543453';
        +                    }
        +                }
        +            }
        +        }
        +    }
        +});
        +

        # Label Point Style Callback

        For example, to draw triangles instead of the regular color box for each item in the tooltip you could do:

        const chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            tooltip: {
        +                usePointStyle: true,
        +                callbacks: {
        +                    labelPointStyle: function(context) {
        +                        return {
        +                            pointStyle: 'triangle',
        +                            rotation: 0
        +                        };
        +                    }
        +                }
        +            }
        +        }
        +    }
        +});
        +

        # Tooltip Item Context

        The tooltip items passed to the tooltip callbacks implement the following interface.

        {
        +    // The chart the tooltip is being shown on
        +    chart: Chart
        +    // Label for the tooltip
        +    label: string,
        +    // Parsed data values for the given `dataIndex` and `datasetIndex`
        +    parsed: object,
        +    // Raw data values for the given `dataIndex` and `datasetIndex`
        +    raw: object,
        +    // Formatted value for the tooltip
        +    formattedValue: string,
        +    // The dataset the item comes from
        +    dataset: object
        +    // Index of the dataset the item comes from
        +    datasetIndex: number,
        +    // Index of this data item in the dataset
        +    dataIndex: number,
        +    // The chart element (point, arc, bar, etc.) for this tooltip item
        +    element: Element,
        +}
        +

        # External (Custom) Tooltips

        External tooltips allow you to hook into the tooltip rendering process so that you can render the tooltip in your own custom way. Generally this is used to create an HTML tooltip instead of an on-canvas tooltip. The external option takes a function which is passed a context parameter containing the chart and tooltip. You can enable external tooltips in the global or chart configuration like so:

        const myPieChart = new Chart(ctx, {
        +    type: 'pie',
        +    data: data,
        +    options: {
        +        plugins: {
        +            tooltip: {
        +                // Disable the on-canvas tooltip
        +                enabled: false,
        +                external: function(context) {
        +                    // Tooltip Element
        +                    let tooltipEl = document.getElementById('chartjs-tooltip');
        +                    // Create element on first render
        +                    if (!tooltipEl) {
        +                        tooltipEl = document.createElement('div');
        +                        tooltipEl.id = 'chartjs-tooltip';
        +                        tooltipEl.innerHTML = '<table></table>';
        +                        document.body.appendChild(tooltipEl);
        +                    }
        +                    // Hide if no tooltip
        +                    const tooltipModel = context.tooltip;
        +                    if (tooltipModel.opacity === 0) {
        +                        tooltipEl.style.opacity = 0;
        +                        return;
        +                    }
        +                    // Set caret Position
        +                    tooltipEl.classList.remove('above', 'below', 'no-transform');
        +                    if (tooltipModel.yAlign) {
        +                        tooltipEl.classList.add(tooltipModel.yAlign);
        +                    } else {
        +                        tooltipEl.classList.add('no-transform');
        +                    }
        +                    function getBody(bodyItem) {
        +                        return bodyItem.lines;
        +                    }
        +                    // Set Text
        +                    if (tooltipModel.body) {
        +                        const titleLines = tooltipModel.title || [];
        +                        const bodyLines = tooltipModel.body.map(getBody);
        +                        let innerHtml = '<thead>';
        +                        titleLines.forEach(function(title) {
        +                            innerHtml += '<tr><th>' + title + '</th></tr>';
        +                        });
        +                        innerHtml += '</thead><tbody>';
        +                        bodyLines.forEach(function(body, i) {
        +                            const colors = tooltipModel.labelColors[i];
        +                            let style = 'background:' + colors.backgroundColor;
        +                            style += '; border-color:' + colors.borderColor;
        +                            style += '; border-width: 2px';
        +                            const span = '<span style="' + style + '"></span>';
        +                            innerHtml += '<tr><td>' + span + body + '</td></tr>';
        +                        });
        +                        innerHtml += '</tbody>';
        +                        let tableRoot = tooltipEl.querySelector('table');
        +                        tableRoot.innerHTML = innerHtml;
        +                    }
        +                    const position = context.chart.canvas.getBoundingClientRect();
        +                    const bodyFont = Chart.helpers.toFont(tooltipModel.options.bodyFont);
        +                    // Display, position, and set styles for font
        +                    tooltipEl.style.opacity = 1;
        +                    tooltipEl.style.position = 'absolute';
        +                    tooltipEl.style.left = position.left + window.pageXOffset + tooltipModel.caretX + 'px';
        +                    tooltipEl.style.top = position.top + window.pageYOffset + tooltipModel.caretY + 'px';
        +                    tooltipEl.style.font = bodyFont.string;
        +                    tooltipEl.style.padding = tooltipModel.padding + 'px ' + tooltipModel.padding + 'px';
        +                    tooltipEl.style.pointerEvents = 'none';
        +                }
        +            }
        +        }
        +    }
        +});
        +

        See samples for examples on how to get started with external tooltips.

        # Tooltip Model

        The tooltip model contains parameters that can be used to render the tooltip.

        {
        +    chart: Chart,
        +    // The items that we are rendering in the tooltip. See Tooltip Item Interface section
        +    dataPoints: TooltipItem[],
        +    // Positioning
        +    xAlign: string,
        +    yAlign: string,
        +    // X and Y properties are the top left of the tooltip
        +    x: number,
        +    y: number,
        +    width: number,
        +    height: number,
        +    // Where the tooltip points to
        +    caretX: number,
        +    caretY: number,
        +    // Body
        +    // The body lines that need to be rendered
        +    // Each object contains 3 parameters
        +    // before: string[] // lines of text before the line with the color square
        +    // lines: string[], // lines of text to render as the main item with color square
        +    // after: string[], // lines of text to render after the main lines
        +    body: object[],
        +    // lines of text that appear after the title but before the body
        +    beforeBody: string[],
        +    // line of text that appear after the body and before the footer
        +    afterBody: string[],
        +    // Title
        +    // lines of text that form the title
        +    title: string[],
        +    // Footer
        +    // lines of text that form the footer
        +    footer: string[],
        +    // colors to render for each item in body[]. This is the color of the squares in the tooltip
        +    labelColors: Color[],
        +    labelTextColors: Color[],
        +    // 0 opacity is a hidden tooltip
        +    opacity: number,
        +    // tooltip options
        +    options: Object
        +}
        +

        # Custom Position Modes

        New modes can be defined by adding functions to the Chart.Tooltip.positioners map.

        Example:

        import { Tooltip } from 'chart.js';
        +/**
        + * Custom positioner
        + * @function Tooltip.positioners.myCustomPositioner
        + * @param elements {Chart.Element[]} the tooltip elements
        + * @param eventPosition {Point} the position of the event in canvas coordinates
        + * @returns {TooltipPosition} the tooltip position
        + */
        +Tooltip.positioners.myCustomPositioner = function(elements, eventPosition) {
        +    // A reference to the tooltip model
        +    const tooltip = this;
        +    /* ... */
        +    return {
        +        x: 0,
        +        y: 0
        +        // You may also include xAlign and yAlign to override those tooltip options.
        +    };
        +};
        +// Then, to use it...
        +new Chart.js(ctx, {
        +    data,
        +    options: {
        +        plugins: {
        +            tooltip: {
        +                position: 'myCustomPositioner'
        +            }
        +        }
        +    }
        +})
        +

        See samples for a more detailed example.

        If you're using TypeScript, you'll also need to register the new mode:

        declare module 'chart.js' {
        +  interface TooltipPositionerMap {
        +    myCustomPositioner: TooltipPositionerFunction<ChartType>;
        +  }
        +}
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/api.html b/scriptApl/chart.js/dist/docs/developers/api.html new file mode 100644 index 00000000..5091b76d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/api.html @@ -0,0 +1,104 @@ + + + + + + API | Chart.js + + + + + + + +

        # API

        For each chart, there are a set of global prototype methods on the shared chart type which you may find useful. These are available on all charts created with Chart.js, but for the examples, let's use a line chart we've made.

        // For example:
        +const myLineChart = new Chart(ctx, config);
        +

        # .destroy()

        Use this to destroy any chart instances that are created. This will clean up any references stored to the chart object within Chart.js, along with any associated event listeners attached by Chart.js. +This must be called before the canvas is reused for a new chart.

        // Destroys a specific chart instance
        +myLineChart.destroy();
        +

        # .update(mode?)

        Triggers an update of the chart. This can be safely called after updating the data object. This will update all scales, legends, and then re-render the chart.

        myLineChart.data.datasets[0].data[2] = 50; // Would update the first dataset's value of 'March' to be 50
        +myLineChart.update(); // Calling update now animates the position of March from 90 to 50.
        +

        A mode string can be provided to indicate transition configuration should be used. Core calls this method using any of 'active', 'hide', 'reset', 'resize', 'show' or undefined. 'none' is also a supported mode for skipping animations for single update. Please see animations docs for more details.

        Example:

        myChart.update('active');
        +

        See Updating Charts for more details.

        # .reset()

        Reset the chart to its state before the initial animation. A new animation can then be triggered using update.

        myLineChart.reset();
        +

        # .render()

        Triggers a redraw of all chart elements. Note, this does not update elements for new data. Use .update() in that case.

        # .stop()

        Use this to stop any current animation. This will pause the chart during any current animation frame. Call .render() to re-animate.

        // Stops the charts animation loop at its current frame
        +myLineChart.stop();
        +// => returns 'this' for chainability
        +

        # .resize(width?, height?)

        Use this to manually resize the canvas element. This is run each time the canvas container is resized, but you can call this method manually if you change the size of the canvas nodes container element.

        You can call .resize() with no parameters to have the chart take the size of its container element, or you can pass explicit dimensions (e.g., for printing).

        // Resizes & redraws to fill its container element
        +myLineChart.resize();
        +// => returns 'this' for chainability
        +// With an explicit size:
        +myLineChart.resize(width, height);
        +

        # .clear()

        Will clear the chart canvas. Used extensively internally between animation frames, but you might find it useful.

        // Will clear the canvas that myLineChart is drawn on
        +myLineChart.clear();
        +// => returns 'this' for chainability
        +

        # .toBase64Image(type?, quality?)

        This returns a base 64 encoded string of the chart in its current state.

        myLineChart.toBase64Image();
        +// => returns png data url of the image on the canvas
        +myLineChart.toBase64Image('image/jpeg', 1)
        +// => returns a jpeg data url in the highest quality of the canvas
        +

        # .getElementsAtEventForMode(e, mode, options, useFinalPosition)

        Calling getElementsAtEventForMode(e, mode, options, useFinalPosition) on your Chart instance passing an event and a mode will return the elements that are found. The options and useFinalPosition arguments are passed through to the handlers.

        To get an item that was clicked on, getElementsAtEventForMode can be used.

        function clickHandler(evt) {
        +    const points = myChart.getElementsAtEventForMode(evt, 'nearest', { intersect: true }, true);
        +    if (points.length) {
        +        const firstPoint = points[0];
        +        const label = myChart.data.labels[firstPoint.index];
        +        const value = myChart.data.datasets[firstPoint.datasetIndex].data[firstPoint.index];
        +    }
        +}
        +

        # .getSortedVisibleDatasetMetas()

        Returns an array of all the dataset meta's in the order that they are drawn on the canvas that are not hidden.

        const visibleMetas = chart.getSortedVisibleDatasetMetas();
        +

        # .getDatasetMeta(index)

        Looks for the dataset that matches the current index and returns that metadata. This returned data has all of the metadata that is used to construct the chart.

        The data property of the metadata will contain information about each point, bar, etc. depending on the chart type.

        Extensive examples of usage are available in the Chart.js tests (opens new window).

        const meta = myChart.getDatasetMeta(0);
        +const x = meta.data[0].x;
        +

        # getVisibleDatasetCount

        Returns the amount of datasets that are currently not hidden.

        const numberOfVisibleDatasets = chart.getVisibleDatasetCount();
        +

        # setDatasetVisibility(datasetIndex, visibility)

        Sets the visibility for a given dataset. This can be used to build a chart legend in HTML. During click on one of the HTML items, you can call setDatasetVisibility to change the appropriate dataset.

        chart.setDatasetVisibility(1, false); // hides dataset at index 1
        +chart.update(); // chart now renders with dataset hidden
        +

        # toggleDataVisibility(index)

        Toggles the visibility of an item in all datasets. A dataset needs to explicitly support this feature for it to have an effect. From internal chart types, doughnut / pie, polar area, and bar use this.

        chart.toggleDataVisibility(2); // toggles the item in all datasets, at index 2
        +chart.update(); // chart now renders with item hidden
        +

        # getDataVisibility(index)

        Returns the stored visibility state of an data index for all datasets. Set by toggleDataVisibility. A dataset controller should use this method to determine if an item should not be visible.

        const visible = chart.getDataVisibility(2);
        +

        # hide(datasetIndex, dataIndex?)

        If dataIndex is not specified, sets the visibility for the given dataset to false. Updates the chart and animates the dataset with 'hide' mode. This animation can be configured under the hide key in animation options. Please see animations docs for more details.

        If dataIndex is specified, sets the hidden flag of that element to true and updates the chart.

        chart.hide(1); // hides dataset at index 1 and does 'hide' animation.
        +chart.hide(0, 2); // hides the data element at index 2 of the first dataset.
        +

        # show(datasetIndex, dataIndex?)

        If dataIndex is not specified, sets the visibility for the given dataset to true. Updates the chart and animates the dataset with 'show' mode. This animation can be configured under the show key in animation options. Please see animations docs for more details.

        If dataIndex is specified, sets the hidden flag of that element to false and updates the chart.

        chart.show(1); // shows dataset at index 1 and does 'show' animation.
        +chart.show(0, 2); // shows the data element at index 2 of the first dataset.
        +

        # setActiveElements(activeElements)

        Sets the active (hovered) elements for the chart. See the "Programmatic Events" sample file to see this in action.

        chart.setActiveElements([
        +    {datasetIndex: 0, index: 1},
        +]);
        +

        # Static: getChart(key)

        Finds the chart instance from the given key. If the key is a string, it is interpreted as the ID of the Canvas node for the Chart. The key can also be a CanvasRenderingContext2D or an HTMLDOMElement. This will return undefined if no Chart is found. To be found, the chart must have previously been created.

        const chart = Chart.getChart("canvas-id");
        +

        # Static: register(chartComponentLike)

        Used to register plugins, axis types or chart types globally to all your charts.

        import { Chart, Tooltip, LinearScale, PointElement, BubbleController } from 'chart.js';
        +Chart.register(Tooltip, LinearScale, PointElement, BubbleController);
        +

        # Static: unregister(chartComponentLike)

        Used to unregister plugins, axis types or chart types globally from all your charts.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/axes.html b/scriptApl/chart.js/dist/docs/developers/axes.html new file mode 100644 index 00000000..ed5cfdf2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/axes.html @@ -0,0 +1,134 @@ + + + + + + New Axes | Chart.js + + + + + + + +

        # New Axes

        Axes in Chart.js can be individually extended. Axes should always derive from Chart.Scale but this is not a mandatory requirement.

        class MyScale extends Chart.Scale {
        +    /* extensions ... */
        +}
        +MyScale.id = 'myScale';
        +MyScale.defaults = defaultConfigObject;
        +// MyScale is now derived from Chart.Scale
        +

        Once you have created your scale class, you need to register it with the global chart object so that it can be used.

        Chart.register(MyScale);
        +// If the new scale is not extending Chart.Scale, the prototype can not be used to detect what
        +// you are trying to register - so you need to be explicit:
        +// Chart.registry.addScales(MyScale);
        +

        To use the new scale, simply pass in the string key to the config when creating a chart.

        const lineChart = new Chart(ctx, {
        +    data: data,
        +    type: 'line',
        +    options: {
        +        scales: {
        +            y: {
        +                type: 'myScale' // this is the same id that was set on the scale
        +            }
        +        }
        +    }
        +});
        +

        # Scale Properties

        Scale instances are given the following properties during the fitting process.

        {
        +    left: number, // left edge of the scale bounding box
        +    right: number, // right edge of the bounding box
        +    top: number,
        +    bottom: number,
        +    width: number, // the same as right - left
        +    height: number, // the same as bottom - top
        +    // Margin on each side. Like css, this is outside the bounding box.
        +    margins: {
        +        left: number,
        +        right: number,
        +        top: number,
        +        bottom: number
        +    },
        +    // Amount of padding on the inside of the bounding box (like CSS)
        +    paddingLeft: number,
        +    paddingRight: number,
        +    paddingTop: number,
        +    paddingBottom: number
        +}
        +

        # Scale Interface

        To work with Chart.js, custom scale types must implement the following interface.

        {
        +    // Determines the data limits. Should set this.min and this.max to be the data max/min
        +    determineDataLimits: function() {},
        +    // Generate tick marks. this.chart is the chart instance. The data object can be accessed as this.chart.data
        +    // buildTicks() should create a ticks array on the axis instance, if you intend to use any of the implementations from the base class
        +    buildTicks: function() {},
        +    // Get the label to show for the given value
        +    getLabelForValue: function(value) {},
        +    // Get the pixel (x coordinate for horizontal axis, y coordinate for vertical axis) for a given value
        +    // @param index: index into the ticks array
        +    getPixelForTick: function(index) {},
        +    // Get the pixel (x coordinate for horizontal axis, y coordinate for vertical axis) for a given value
        +    // @param value : the value to get the pixel for
        +    // @param [index] : index into the data array of the value
        +    getPixelForValue: function(value, index) {},
        +    // Get the value for a given pixel (x coordinate for horizontal axis, y coordinate for vertical axis)
        +    // @param pixel : pixel value
        +    getValueForPixel: function(pixel) {}
        +}
        +

        Optionally, the following methods may also be overwritten, but an implementation is already provided by the Chart.Scale base class.

        {
        +    // Adds labels to objects in the ticks array. The default implementation simply calls this.options.ticks.callback(numericalTick, index, ticks);
        +    generateTickLabels: function() {},
        +    // Determine how much the labels will rotate by. The default implementation will only rotate labels if the scale is horizontal.
        +    calculateLabelRotation: function() {},
        +    // Fits the scale into the canvas.
        +    // this.maxWidth and this.maxHeight will tell you the maximum dimensions the scale instance can be. Scales should endeavour to be as efficient as possible with canvas space.
        +    // this.margins is the amount of space you have on either side of your scale that you may expand in to. This is used already for calculating the best label rotation
        +    // You must set this.minSize to be the size of your scale. It must be an object containing 2 properties: width and height.
        +    // You must set this.width to be the width and this.height to be the height of the scale
        +    fit: function() {},
        +    // Draws the scale onto the canvas. this.(left|right|top|bottom) will have been populated to tell you the area on the canvas to draw in
        +    // @param chartArea : an object containing four properties: left, right, top, bottom. This is the rectangle that lines, bars, etc will be drawn in. It may be used, for example, to draw grid lines.
        +    draw: function(chartArea) {}
        +}
        +

        The Core.Scale base class also has some utility functions that you may find useful.

        {
        +    // Returns true if the scale instance is horizontal
        +    isHorizontal: function() {},
        +    // Returns the scale tick objects ({label, major})
        +    getTicks: function() {}
        +}
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/charts.html b/scriptApl/chart.js/dist/docs/developers/charts.html new file mode 100644 index 00000000..539e9c4a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/charts.html @@ -0,0 +1,128 @@ + + + + + + New Charts | Chart.js + + + + + + + +

        # New Charts

        Chart.js 2.0 introduced the concept of controllers for each dataset. Like scales, new controllers can be written as needed.

        class MyType extends Chart.DatasetController {
        +}
        +Chart.register(MyType);
        +// Now we can create a new instance of our chart, using the Chart.js API
        +new Chart(ctx, {
        +    // this is the string the constructor was registered at, ie Chart.controllers.MyType
        +    type: 'MyType',
        +    data: data,
        +    options: options
        +});
        +

        # Dataset Controller Interface

        Dataset controllers must implement the following interface.

        {
        +    // Defaults for charts of this type
        +    defaults: {
        +        // If set to `false` or `null`, no dataset level element is created.
        +        // If set to a string, this is the type of element to create for the dataset.
        +        // For example, a line create needs to create a line element so this is the string 'line'
        +        datasetElementType: string | null | false,
        +        // If set to `false` or `null`, no elements are created for each data value.
        +        // If set to a string, this is the type of element to create for each data value.
        +        // For example, a line create needs to create a point element so this is the string 'point'
        +        dataElementType: string | null | false,
        +    }
        +    // ID of the controller
        +    id: string;
        +    // Update the elements in response to new data
        +    // @param mode : update mode, core calls this method using any of `'active'`, `'hide'`, `'reset'`, `'resize'`, `'show'` or `undefined`
        +    update: function(mode) {}
        +}
        +

        The following methods may optionally be overridden by derived dataset controllers.

        {
        +    // Draw the representation of the dataset. The base implementation works in most cases, and an example of a derived version
        +    // can be found in the line controller
        +    draw: function() {},
        +    // Initializes the controller
        +    initialize: function() {},
        +    // Ensures that the dataset represented by this controller is linked to a scale. Overridden to helpers.noop in the polar area and doughnut controllers as these
        +    // chart types using a single scale
        +    linkScales: function() {},
        +    // Parse the data into the controller meta data. The default implementation will work for cartesian parsing, but an example of an overridden
        +    // version can be found in the doughnut controller
        +    parse: function(start, count) {},
        +}
        +

        # Extending Existing Chart Types

        Extending or replacing an existing controller type is easy. Simply replace the constructor for one of the built in types with your own.

        The built in controller types are:

        • BarController
        • BubbleController
        • DoughnutController
        • LineController
        • PieController
        • PolarAreaController
        • RadarController
        • ScatterController

        These controllers are also available in the UMD package, directly under Chart. Eg: Chart.BarController.

        For example, to derive a new chart type that extends from a bubble chart, you would do the following.

        import {BubbleController} from 'chart.js';
        +class Custom extends BubbleController {
        +    draw() {
        +        // Call bubble controller method to draw all the points
        +        super.draw(arguments);
        +        // Now we can do some custom drawing for this dataset. Here we'll draw a red box around the first point in each dataset
        +        const meta = this.getMeta();
        +        const pt0 = meta.data[0];
        +        const {x, y} = pt0.getProps(['x', 'y']);
        +        const {radius} = pt0.options;
        +        const ctx = this.chart.ctx;
        +        ctx.save();
        +        ctx.strokeStyle = 'red';
        +        ctx.lineWidth = 1;
        +        ctx.strokeRect(x - radius, y - radius, 2 * radius, 2 * radius);
        +        ctx.restore();
        +    }
        +};
        +Custom.id = 'derivedBubble';
        +Custom.defaults = BubbleController.defaults;
        +// Stores the controller so that the chart initialization routine can look it up
        +Chart.register(Custom);
        +// Now we can create and use our new chart type
        +new Chart(ctx, {
        +    type: 'derivedBubble',
        +    data: data,
        +    options: options
        +});
        +

        # TypeScript Typings

        If you want your new chart type to be statically typed, you must provide a .d.ts TypeScript declaration file. Chart.js provides a way to augment built-in types with user-defined ones, by using the concept of "declaration merging".

        When adding a new chart type, ChartTypeRegistry must contains the declarations for the new type, either by extending an existing entry in ChartTypeRegistry or by creating a new one.

        For example, to provide typings for a new chart type that extends from a bubble chart, you would add a .d.ts containing:

        import { ChartTypeRegistry } from 'chart.js'
        +declare module 'chart.js' {
        +    interface ChartTypeRegistry {
        +        derivedBubble: ChartTypeRegistry['bubble']
        +    }
        +}
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/contributing.html b/scriptApl/chart.js/dist/docs/developers/contributing.html new file mode 100644 index 00000000..cb6be9ad --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/contributing.html @@ -0,0 +1,60 @@ + + + + + + Contributing | Chart.js + + + + + + + +

        # Contributing

        New contributions to the library are welcome, but we ask that you please follow these guidelines:

        • Before opening a PR for major additions or changes, please discuss the expected API and/or implementation by filing an issue (opens new window) or asking about it in the Chart.js Slack (opens new window) #dev channel. This will save you development time by getting feedback upfront and make review faster by giving the maintainers more context and details.
        • Consider whether your changes are useful for all users, or if creating a Chart.js plugin would be more appropriate.
        • Check that your code will pass tests and eslint code standards. npm test will run both the linter and tests for you.
        • Add unit tests and document new functionality (in the test/ and docs/ directories respectively).
        • Avoid breaking changes unless there is an upcoming major release, which is infrequent. We encourage people to write plugins for most new advanced features, and care a lot about backwards compatibility.
        • We strongly prefer new methods to be added as private whenever possible. A method can be made private either by making a top-level function outside of a class or by prefixing it with _ and adding @private JSDoc if inside a class. Public APIs take considerable time to review and become locked once implemented as we have limited ability to change them without breaking backwards compatibility. Private APIs allow the flexibility to address unforeseen cases.

        # Joining the project

        Active committers and contributors are invited to introduce yourself and request commit access to this project. We have a very active Slack community that you can join here (opens new window). If you think you can help, we'd love to have you!

        # Building and Testing

        Firstly, we need to ensure development dependencies are installed. With node and npm installed, after cloning the Chart.js repo to a local directory, and navigating to that directory in the command line, we can run the following:

        > npm install
        +

        This will install the local development dependencies for Chart.js.

        The following commands are now available from the repository root:

        > npm run build             // build dist files in ./dist
        +> npm run autobuild         // build and watch for source changes
        +> npm run dev               // run tests and watch for source and test changes
        +> npm run lint              // perform code linting (ESLint, tsc)
        +> npm test                  // perform code linting and run unit tests with coverage
        +

        npm run dev and npm test can be appended with a string that is used to match the spec filenames. For example: npm run dev plugins will start karma in watch mode for test/specs/**/*plugin*.js.

        # Documentation

        We use Vuepress (opens new window) to manage the docs which are contained as Markdown files in the docs directory. You can run the doc server locally using these commands:

        > npm run docs:dev
        +

        # Image-Based Tests

        Some display-related functionality is difficult to test via typical Jasmine units. For this reason, we introduced image-based tests (#3988 (opens new window) and #5777 (opens new window)) to assert that a chart is drawn pixel-for-pixel matching an expected image.

        Generated charts in image-based tests should be as minimal as possible and focus only on the tested feature to prevent failure if another feature breaks (e.g. disable the title and legend when testing scales).

        You can create a new image-based test by following the steps below:

        • Create a JS file (example (opens new window)) or JSON file (example (opens new window)) that defines chart config and generation options.
        • Add this file in test/fixtures/{spec.name}/{feature-name}.json.
        • Add a describe line (opens new window) to the beginning of test/specs/{spec.name}.tests.js if it doesn't exist yet.
        • Run npm run dev.
        • Click the "Debug" button (top/right): a test should fail with the associated canvas visible.
        • Right click on the chart and "Save image as..." test/fixtures/{spec.name}/{feature-name}.png making sure not to activate the tooltip or any hover functionality
        • Refresh the browser page (CTRL+R): test should now pass
        • Verify test relevancy by changing the feature values slightly in the JSON file.

        Tests should pass in both browsers. In general, we've hidden all text in image tests since it's quite difficult to get them passing between different browsers. As a result, it is recommended to hide all scales in image-based tests. It is also recommended to disable animations. If tests still do not pass, adjust tolerance and/or threshold (opens new window) at the beginning of the JSON file keeping them as low as possible.

        When a test fails, the expected and actual images are shown. If you'd like to see the images even when the tests pass, set "debug": true in the JSON file.

        # Bugs and Issues

        Please report these on the GitHub page - at github.com/chartjs/Chart.js. Please do not use issues for support requests. For help using Chart.js, please take a look at the chart.js (opens new window) tag on Stack Overflow.

        Well structured, detailed bug reports are hugely valuable for the project.

        Guidelines for reporting bugs:

        Please provide any additional details associated with the bug, if it's browser or screen density specific, or only happens with a certain configuration or data.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/index.html b/scriptApl/chart.js/dist/docs/developers/index.html new file mode 100644 index 00000000..1ea6cc33 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/index.html @@ -0,0 +1,56 @@ + + + + + + Developers | Chart.js + + + + + + + +

        # Developers

        Developer features allow extending and enhancing Chart.js in many different ways.

        # Latest resources

        Latest documentation and samples, including unreleased features, are available at:

        # Development releases

        Latest builds are available for testing at:

        WARNING: Development builds MUST not be used for production purposes or as replacement for CDN.

        # Browser support

        All modern and up-to-date browsers are supported, including, but not limited to:

        Chrome +Edge +Firefox +Safari

        As of version 3, we have dropped Internet Explorer 11 support.

        Browser support for the canvas element is available in all modern & major mobile browsers. CanIUse (opens new window)

        Run npx browserslist at the root of the codebase (opens new window) to get a list of supported browsers.

        Thanks to BrowserStack (opens new window) for allowing our team to test on thousands of browsers.

        # Previous versions

        To migrate from version 2 to version 3, please see the v3 migration guide.

        Version 3 has a largely different API than earlier versions.

        Most earlier version options have current equivalents or are the same.

        Please note - documentation for previous versions is available online or in the GitHub repo.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/plugins.html b/scriptApl/chart.js/dist/docs/developers/plugins.html new file mode 100644 index 00000000..8c49e614 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/plugins.html @@ -0,0 +1,119 @@ + + + + + + Plugins | Chart.js + + + + + + + +

        # Plugins

        Plugins are the most efficient way to customize or change the default behavior of a chart. They have been introduced at version 2.1.0 (opens new window) (global plugins only) and extended at version 2.5.0 (opens new window) (per chart plugins and options).

        # Using plugins

        Plugins can be shared between chart instances:

        const plugin = { /* plugin implementation */ };
        +// chart1 and chart2 use "plugin"
        +const chart1 = new Chart(ctx, {
        +    plugins: [plugin]
        +});
        +const chart2 = new Chart(ctx, {
        +    plugins: [plugin]
        +});
        +// chart3 doesn't use "plugin"
        +const chart3 = new Chart(ctx, {});
        +

        Plugins can also be defined directly in the chart plugins config (a.k.a. inline plugins):

        WARNING

        inline plugins are not registered. Some plugins require registering, i.e. can't be used inline.

        const chart = new Chart(ctx, {
        +    plugins: [{
        +        beforeInit: function(chart, args, options) {
        +            //..
        +        }
        +    }]
        +});
        +

        However, this approach is not ideal when the customization needs to apply to many charts.

        # Global plugins

        Plugins can be registered globally to be applied on all charts (a.k.a. global plugins):

        Chart.register({
        +    // plugin implementation
        +});
        +

        WARNING

        inline plugins can't be registered globally.

        # Configuration

        # Plugin ID

        Plugins must define a unique id in order to be configurable.

        This id should follow the npm package name convention (opens new window):

        • can't start with a dot or an underscore
        • can't contain any non-URL-safe characters
        • can't contain uppercase letters
        • should be something short, but also reasonably descriptive

        If a plugin is intended to be released publicly, you may want to check the registry (opens new window) to see if there's something by that name already. Note that in this case, the package name should be prefixed by chartjs-plugin- to appear in Chart.js plugin registry.

        # Plugin options

        Plugin options are located under the options.plugins config and are scoped by the plugin ID: options.plugins.{plugin-id}.

        const chart = new Chart(ctx, {
        +    options: {
        +        foo: { ... },           // chart 'foo' option
        +        plugins: {
        +            p1: {
        +                foo: { ... },   // p1 plugin 'foo' option
        +                bar: { ... }
        +            },
        +            p2: {
        +                foo: { ... },   // p2 plugin 'foo' option
        +                bla: { ... }
        +            }
        +        }
        +    }
        +});
        +

        # Disable plugins

        To disable a global plugin for a specific chart instance, the plugin options must be set to false:

        Chart.register({
        +    id: 'p1',
        +    // ...
        +});
        +const chart = new Chart(ctx, {
        +    options: {
        +        plugins: {
        +            p1: false   // disable plugin 'p1' for this instance
        +        }
        +    }
        +});
        +

        To disable all plugins for a specific chart instance, set options.plugins to false:

        const chart = new Chart(ctx, {
        +    options: {
        +        plugins: false // all plugins are disabled for this instance
        +    }
        +});
        +

        # Plugin defaults

        You can set default values for your plugin options in the defaults entry of your plugin object. In the example below the canvas will always have a lightgreen backgroundColor unless the user overrides this option in options.plugins.custom_canvas_background_color.color.

        const plugin = {
        +    id: 'custom_canvas_background_color',
        +    beforeDraw: (chart, args, options) => {
        +        const {ctx} = chart;
        +        ctx.save();
        +        ctx.globalCompositeOperation = 'destination-over';
        +        ctx.fillStyle = options.color;
        +        ctx.fillRect(0, 0, chart.width, chart.height);
        +        ctx.restore();
        +    },
        +    defaults: {
        +        color: 'lightGreen'
        +    }
        +}
        +

        # Plugin Core API

        Read more about the existing plugin extension hooks.

        # Chart Initialization

        Plugins are notified during the initialization process. These hooks can be used to setup data needed for the plugin to operate.

        Chart.js init flowchart

        # Chart Update

        Plugins are notified throughout the update process.

        Chart.js update flowchart

        # Scale Update

        Plugins are notified throughout the scale update process.

        Chart.js scale update flowchart

        # Rendering

        Plugins can interact with the chart throughout the render process. The rendering process is documented in the flowchart below. Each of the green processes is a plugin notification. The red lines indicate how cancelling part of the render process can occur when a plugin returns false from a hook. Not all hooks are cancelable, however, in general most before* hooks can be cancelled.

        Chart.js render pipeline flowchart

        # Event Handling

        Plugins can interact with the chart during the event handling process. The event handling flow is documented in the flowchart below. Each of the green processes is a plugin notification. If a plugin makes changes that require a re-render, the plugin can set args.changed to true to indicate that a render is needed. The built-in tooltip plugin uses this method to indicate when the tooltip has changed.

        Chart.js event handling flowchart

        # Chart destroy

        Plugins are notified during the destroy process. These hooks can be used to destroy things that the plugin made and used during its life. +The destroy hook has been deprecated since Chart.js version 3.7.0, use the afterDestroy hook instead.

        Chart.js destroy flowchart

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/publishing.html b/scriptApl/chart.js/dist/docs/developers/publishing.html new file mode 100644 index 00000000..657d97f6 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/publishing.html @@ -0,0 +1,64 @@ + + + + + + Publishing an extension | Chart.js + + + + + + + +

        # Publishing an extension

        If you are planning on publishing an extension for Chart.js, here are a some pointers.

        # Awesome

        You'd probably want your extension to be listed in the awesome (opens new window).

        Note the minimum extension age requirement of 30 days.

        # ESM

        If you are utilizing ESM, you probably still want to publish an UMD bundle of your extension. Because Chart.js v3 is tree shakeable, the interface is a bit different. +UMD package's global Chart includes everything, while ESM package exports all the things separately. +Fortunately, most of the exports can be mapped automatically by the bundlers.

        But not the helpers.

        In UMD, helpers are available through Chart.helpers. In ESM, they are imported from chart.js/helpers.

        For example import {isNullOrUndef} from 'chart.js/helpers' is available at Chart.helpers.isNullOrUndef for UMD.

        # Rollup

        output.globals can be used to convert the helpers.

        module.exports = {
        +  // ...
        +  output: {
        +    globals: {
        +      'chart.js': 'Chart',
        +      'chart.js/helpers': 'Chart.helpers'
        +    }
        +  }
        +};
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/developers/updates.html b/scriptApl/chart.js/dist/docs/developers/updates.html new file mode 100644 index 00000000..c1ca58ac --- /dev/null +++ b/scriptApl/chart.js/dist/docs/developers/updates.html @@ -0,0 +1,112 @@ + + + + + + Updating Charts | Chart.js + + + + + + + +

        # Updating Charts

        It's pretty common to want to update charts after they've been created. When the chart data or options are changed, Chart.js will animate to the new data values and options.

        # Adding or Removing Data

        Adding and removing data is supported by changing the data array. To add data, just add data into the data array as seen in this example.

        function addData(chart, label, data) {
        +    chart.data.labels.push(label);
        +    chart.data.datasets.forEach((dataset) => {
        +        dataset.data.push(data);
        +    });
        +    chart.update();
        +}
        +function removeData(chart) {
        +    chart.data.labels.pop();
        +    chart.data.datasets.forEach((dataset) => {
        +        dataset.data.pop();
        +    });
        +    chart.update();
        +}
        +

        # Updating Options

        To update the options, mutating the options property in place or passing in a new options object are supported.

        • If the options are mutated in place, other option properties would be preserved, including those calculated by Chart.js.
        • If created as a new object, it would be like creating a new chart with the options - old options would be discarded.
        function updateConfigByMutating(chart) {
        +    chart.options.plugins.title.text = 'new title';
        +    chart.update();
        +}
        +function updateConfigAsNewObject(chart) {
        +    chart.options = {
        +        responsive: true,
        +        plugins: {
        +            title: {
        +                display: true,
        +                text: 'Chart.js'
        +            }
        +        },
        +        scales: {
        +            x: {
        +                display: true
        +            },
        +            y: {
        +                display: true
        +            }
        +        }
        +    };
        +    chart.update();
        +}
        +

        Scales can be updated separately without changing other options. +To update the scales, pass in an object containing all the customization including those unchanged ones.

        Variables referencing any one from chart.scales would be lost after updating scales with a new id or the changed type.

        function updateScales(chart) {
        +    let xScale = chart.scales.x;
        +    let yScale = chart.scales.y;
        +    chart.options.scales = {
        +        newId: {
        +            display: true
        +        },
        +        y: {
        +            display: true,
        +            type: 'logarithmic'
        +        }
        +    };
        +    chart.update();
        +    // need to update the reference
        +    xScale = chart.scales.newId;
        +    yScale = chart.scales.y;
        +}
        +

        You can also update a specific scale either by its id.

        function updateScale(chart) {
        +    chart.options.scales.y = {
        +        type: 'logarithmic'
        +    };
        +    chart.update();
        +}
        +

        Code sample for updating options can be found in toggle-scale-type.html (opens new window).

        # Preventing Animations

        Sometimes when a chart updates, you may not want an animation. To achieve this you can call update with 'none' as mode.

        myChart.update('none');
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/favicon.ico b/scriptApl/chart.js/dist/docs/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5192a328567426378d1e748ca8674ec3ecb654b1 GIT binary patch literal 32988 zcmeHPX^=tS2X zy3l3N0oFNUMh606jRfcz5!Of}$wER%APs2HfQC7{tGcSX`o52P`@Qb2nVweP)7=_J zR7GTGRaWLZzC2!L*2^}T{>gNm>CQV%h{u?2M*M4&$uwq6^7#gnX)4lgyfOLwWs_;c zeJ0ZlNRQ{g&SX0Fu*q~Y${?F*Ap)lx*XTn)6vc0H7=4meR-(4Hw(C@@FijQ&CkMXg zw90ZF9n@8e<=3*+{HZF5lp5k`csDwvEWZ?z)OV9j5Z+GJInzDo;k@OS;M!2MTHC)O zTZLsds}RhjZ>BWP%VoIiwUN3!Top+eFIfe1W*tR3-s+48n{{|!(DQRyrcoYgsz*f; zgrA}vzo+Yw9)EJdM(bV*(SkWzJn%iIrRUS1nHJNmo(83HVp|3|8)U&8(`8SMd%Gms z+2kA4Ti0KY`5os;Eu-HvO{P5>?Pb!QO^@5Mv~iu~mn~~ZBf>>7FbqqKU=jAfG z?x}IoUQQn^_A;A2(`7#Uo}E@L3+L5a*I$ph442jEq{r9VUdHX2D87>}m;U_ur!sBX z5GY!2U4K1h8ca*4n;zRBLpAMXK6@tgTWRl`9;%s}zpd*!=8KsY(`4G|`tx(O>}4VL zZ0W-2i0eEX9!#5UX0`2QvGy#R{N+lomc1OQJu8>K+2~Z#Uh3KZ{ymq=W6!e5U#|3Q_Hv~9H!hCR^7)DR zdbwn+6dksg>Fsx<`oFqJqfPbY*MHsujpkJV*GlNm7?i6G%!kgC_Gt9rd7=kCBARee zquDQ%58q1ZUye2~f38LoS`vD*?t|gHMw7QvS>{ib(x2PFDzw>=^xda-XhS-u>Yu!y zx?$uPR8s$jg&HkH9hQQ@?4?6(ez4xtFyKBhYk6t(b(t!uKevJPb*0HS@txdtuVeCP zE80Mb7&8Wy)}Jw0S!6$$wX87Rbqq!_7F0uj?g#Zn)Y0R6i_`z1_lf3~*v_hMTW%|?U?!obK(qBs(3#+9+WANt! z`oUAXhS&YFwxiVf#=WHM_}NuK*!c_Ec(fT9pv;FvGglTr)>Kpft*F}m18 z>;2*LVLG^f;Z-`P;ng# zX`YlC^4Oe3oQJb}TaJ;n8da_hf)jYh0zuD}>9ORFcI>pk*!qUTP3L6_gS zFTd{S51w;tNWTUGL=PtC2T#6{8Q)Cpq1^hPgFVird+NKjwHhr-+J#vgG}_hcBlBx_ z6{Nee^S>$Twd(4}<5zly=E#$pVG}?9dMIU%_|RFRXSQM8SaUTFyq28OKxLo*upEcLQ`fDK_$bzQ`W1Ec5!Y?{ zI5+Hh*DopRlk_6P;`O~lZ9uo5Y#SbJ)o9{=q9^uZ4cUTm7TECna@Ri#(~q&J5WP9i zHmqgc_F*cJ=YyAW>d#|-wo3^S{o!H;3{u*Kj>`^nW%Os+4m1|l1}!AD7pqM_%wj-U_fI%bPsxIz>~v#Uh?vuLUnb&EAzu6FS5P9kln=?~K=>Jfm! zxM3LB4~(an56TsA{WUo!$fW<;ZlX{uL8MapGxh$@h#Hq<#^7L+Mxj6!<&*kp(GUf? z4wCny^%VHxFln(!@=amU1s4(5^HZN-97I^rMReXdylf@)XHMJ>j_lTGC+4Qy7I=Qp zehO``I8}xVUB;(M>z^uWB%Jy*I_|5f|LD+oxD-5|XJ4Hv!AfEy_%fzzja;C>cxBsMnaylLT+2?U%j+2~h zq{vb2Tb6-k(d9~yb^q#O_2>Ng{2%O!M8SZ++A0t7W8N%7y3YJuPJco8zx*VZKc~xX zqe!@VlK|$$JTvLdX-R+4pOjMPxyt17e`3B~my=?#%Jm7R%{;Q{T@8O>_J0GuFJ$xQ zw#!xu_`Db!a<2gf8*u?QOp9qU?M%9}EG$zs{l)Y7^OwtBX0vBH4$%9Wo)^gH|5~cO z%xBN8wf}4CIKjTix%|brt_ro6h1xUbnJU9*xF4y#td>2iG*-ph%WGxNDvkrruE0Or zqK{SSG260S_KeH^Bc6Xr#WkP5cseHhTrGd@R5>espU+AjmmDh1$Dp4b0sfzWF$i}eRO){MIyyT3l>=B*{cgwwHmR*)sxE->G$VcLU zLe0CqwC4>k&QI|-HXpvr%3kc7tnBXY{6Fd$ZzK;3H>r|=jh?ABtiO`Ix z6c2pQY5b1!cvRcx4pn|^q`XD5`7W1gYo$2OPHO*9rSjFsO5l*7S}~-=5q7JSEn|9JSD-g^oDWNm1t@XxA2 zA4sjMQuwp}O^Y>J4PT^G3>f=AzD;z`r$o!!TItl@XX(=JvGndc^XSQs`e|Yl#oJ`b z{82|cmL>3S#P@d&?2pZDk=y%}rSKIw8>Hrz73A6WL-I9!pIlA1P{pjZR9*136g}i7B+&>pgC0a5+fBRFcf*J`q=)#E@ZJ0aclf*J?0S2$F z!HDXOQsm@R@cj2UZ)MwUq-?*P!U`HAE`Jn#0e#}04-&ppQ#Znw;uWMd$4F8g%7f;RRYvW`EjKl9hWe~Iu-J9m`m3S=qeVxJw|Z-;gA zI1A&S)yb$7AqLB6n4e_l&-TYAi2=?N^q2qJ7t{2@wt+`R`_t3Y^UsQ8IiZDv&;`oD*i zfq^?*s&XXgbyL9O1WlE~q3pf_{EqVk+)m;$PE~1jh~gcYur4OeVUzv<96K3Dk3%I7 z`e-zYfi8LRJ*V-zDA${6`^+KB6N=%HFYlErSH9_#9{#Ih4A9NA_{>IF#Cv z>aX*0Dau1(pNv^u5bG6xJn(%8X--vsP|sIvY_o~C2i#H%X>RKKB0!th2jlA^UK{a! ze>V<7;9bCNJtT_#w--vkr$@fg>#(j1`=zkg8Nxn*Kfd;4y87Ic?|D7gyxWiQKZNm6 z3VB`f+MbRcuJVi*hLkVaWpQ%IFIouxtS658Xi0rEzRqV_I&D4XG~Nf`JSUG~j7FJ| z-)hFV`z*$cFQqe4WpNu6rpuT7v=;x5#bwjimo=ETrmv?s59j6o2Ga*s zzSC-dlonylGXv{!T~0lYuMIGt;`6F}pT1V$H9W5wExl3lIr>jsMc-{cCSHlq%UGW= z&D6CCum5;$^!Qs?4`J^01kMG<(^7EL_X)Z`i;&-CY0X4m=!#H7Eyd5DrLF;aKKLs!Y4aE$4;)1m_F}^^n9M1{+1ddKF6^LXPbC^!OCeY_KTrKdPk9EMrHCQ8_y+oJZ983Pj|D<5U zcj?^aL-fQkv{TUMI%oQGfPYUGe4KXkF_#>nCai-R>a_S8jd?7dgE{t*UNZ0gMSM-9 zG~P<~=DRWNbkl3t0vWd_app3y~pzjAf`!hb1F-ysw2z**>Z z(EGJj8u2q<5l1&U4nH10QvnC^L?V9KH~eYvcpAHK?|I`naRw&~{iNTy6MA1hPw<}` zB$M+df+Yrr_yrmn>5F}*vEax_r=XXh!FxgJ?Oztf?cBE`n8%bd|K&1VHawf{;Vjg^Z zeDt!t#~kMoyG`l@xDY z@&i>AZz)D%o+sh2nB(76N}VU+#M@YkisOpm%Xx_gZq=g7TS9*Xd;Jm8BGTJP`%ykR zE?39bV=-~1D%%6cF(%D_J`viE;GBo-48&rVRfIh0bUHfd`ar-k(d$-vJFxa&wG89- zpD;#aJmfHaN+RtN-g!JyUpQcSyrpHx*89D}w4fXNH=7eSJHA&B8^Gf`?+>z_d7kY# zXl~tvJspf~ey@3kE=MF{UUC_Go3ow)PuK&tvs~`ES8y)wF!ufzCHFd!KKUt(hbJ)1 z$IMIh@}bZ`{S};-TMd2VwhcCUP7Tq0*b^EH+w|~Z*cptwZ1Z?dafZ)y#Re9pmS_H( zum{EaUUQIV;+6n49B-uF9lxZ*XI`br7^P~bU=R3dqW7`im0CXF8>pAQ!2Tu5H{eX? zn#IiHUGi@E2D!G30r+QWtBC!|%^E!hJKuH@}dq} zdsyGcAAe2HpDnib_x}*<(!IoX5dru6tOEnLX3L)~T@{4;vCh0d+j}G3K)^u2K)^u2 zK)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2K)^u2 OK)^u2K;Rz}f&T}6s)TU> literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/general/accessibility.html b/scriptApl/chart.js/dist/docs/general/accessibility.html new file mode 100644 index 00000000..51e52b18 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/accessibility.html @@ -0,0 +1,59 @@ + + + + + + Accessibility | Chart.js + + + + + + + +

        # Accessibility

        Chart.js charts are rendered on user provided canvas elements. Thus, it is up to the user to create the canvas element in a way that is accessible. The canvas element has support in all browsers and will render on screen but the canvas content will not be accessible to screen readers.

        With canvas, the accessibility has to be added with ARIA attributes on the canvas element or added using internal fallback content placed within the opening and closing canvas tags.

        This website (opens new window) has a more detailed explanation of canvas accessibility as well as in depth examples.

        # Examples

        These are some examples of accessible canvas elements.

        By setting the role and aria-label, this canvas now has an accessible name.

        <canvas id="goodCanvas1" width="400" height="100" aria-label="Hello ARIA World" role="img"></canvas>
        +

        This canvas element has a text alternative via fallback content.

        <canvas id="okCanvas2" width="400" height="100">
        +    <p>Hello Fallback World</p>
        +</canvas>
        +

        These are some bad examples of inaccessible canvas elements.

        This canvas element does not have an accessible name or role.

        <canvas id="badCanvas1" width="400" height="100"></canvas>
        +

        This canvas element has inaccessible fallback content.

        <canvas id="badCanvas2" width="400" height="100">Your browser does not support the canvas element.</canvas>
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/colors.html b/scriptApl/chart.js/dist/docs/general/colors.html new file mode 100644 index 00000000..03ba7535 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/colors.html @@ -0,0 +1,80 @@ + + + + + + Colors | Chart.js + + + + + + + +

        # Colors

        When supplying colors to Chart options, you can use a number of formats. You can specify the color as a string in hexadecimal, RGB, or HSL notations. If a color is needed, but not specified, Chart.js will use the global default color. There are 3 color options, stored at Chart.defaults, to set:

        Name Type Default Description
        backgroundColor Color rgba(0, 0, 0, 0.1) Background color.
        borderColor Color rgba(0, 0, 0, 0.1) Border color.
        color Color #666 Font color.

        You can also pass a CanvasGradient (opens new window) object. You will need to create this before passing to the chart, but using it you can achieve some interesting effects.

        # Patterns and Gradients

        An alternative option is to pass a CanvasPattern (opens new window) or CanvasGradient (opens new window) object instead of a string colour.

        For example, if you wanted to fill a dataset with a pattern from an image you could do the following.

        const img = new Image();
        +img.src = 'https://example.com/my_image.png';
        +img.onload = function() {
        +    const ctx = document.getElementById('canvas').getContext('2d');
        +    const fillPattern = ctx.createPattern(img, 'repeat');
        +    const chart = new Chart(ctx, {
        +        data: {
        +            labels: ['Item 1', 'Item 2', 'Item 3'],
        +            datasets: [{
        +                data: [10, 20, 30],
        +                backgroundColor: fillPattern
        +            }]
        +        }
        +    });
        +};
        +

        Using pattern fills for data graphics can help viewers with vision deficiencies (e.g. color-blindness or partial sight) to more easily understand your data (opens new window).

        Using the Patternomaly (opens new window) library you can generate patterns to fill datasets.

        const chartData = {
        +    datasets: [{
        +        data: [45, 25, 20, 10],
        +        backgroundColor: [
        +            pattern.draw('square', '#ff6384'),
        +            pattern.draw('circle', '#36a2eb'),
        +            pattern.draw('diamond', '#cc65fe'),
        +            pattern.draw('triangle', '#ffce56')
        +        ]
        +    }],
        +    labels: ['Red', 'Blue', 'Purple', 'Yellow']
        +};
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/data-structures.html b/scriptApl/chart.js/dist/docs/general/data-structures.html new file mode 100644 index 00000000..e91b01a7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/data-structures.html @@ -0,0 +1,149 @@ + + + + + + Data structures | Chart.js + + + + + + + +

        # Data structures

        The data property of a dataset can be passed in various formats. By default, that data is parsed using the associated chart type and scales.

        If the labels property of the main data property is used, it has to contain the same amount of elements as the dataset with the most values. These labels are used to label the index axis (default x axes). The values for the labels have to be provided in an array. +The provided labels can be of the type string or number to be rendered correctly. In case you want multiline labels you can provide an array with each line as one entry in the array.

        # Primitive[]

        type: 'bar',
        +data: {
        +    datasets: [{
        +      data: [20, 10],
        +    }],
        +    labels: ['a', 'b']
        +}
        +

        When the data is an array of numbers, values from labels array at the same index are used for the index axis (x for vertical, y for horizontal charts).

        # Object[]

        type: 'line',
        +data: {
        +  datasets: [{
        +    data: [{x: 10, y: 20}, {x: 15, y: null}, {x: 20, y: 10}]
        +  }]
        +}
        +
        type: 'line',
        +data: {
        +  datasets: [{
        +    data: [{x:'2016-12-25', y:20}, {x:'2016-12-26', y:10}]
        +  }]
        +}
        +
        type: 'bar',
        +data: {
        +  datasets: [{
        +    data: [{x:'Sales', y:20}, {x:'Revenue', y:10}]
        +  }]
        +}
        +

        This is also the internal format used for parsed data. In this mode, parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.

        The values provided must be parsable by the associated scales or in the internal format of the associated scales. A common mistake would be to provide integers for the category scale, which uses integers as an internal format, where each integer represents an index in the labels array. null can be used for skipped values.

        # Object[] using custom properties

        type: 'bar',
        +data: {
        +    datasets: [{
        +        data: [{id: 'Sales', nested: {value: 1500}}, {id: 'Purchases', nested: {value: 500}}]
        +    }]
        +},
        +options: {
        +    parsing: {
        +        xAxisKey: 'id',
        +        yAxisKey: 'nested.value'
        +    }
        +}
        +

        When using the pie/doughnut, radar or polarArea chart type, the parsing object should have a key item that points to the value to look at. In this example, the doughnut chart will show two items with values 1500 and 500.

        type: 'doughnut',
        +data: {
        +    datasets: [{
        +        data: [{id: 'Sales', nested: {value: 1500}}, {id: 'Purchases', nested: {value: 500}}]
        +    }]
        +},
        +options: {
        +    parsing: {
        +        key: 'nested.value'
        +    }
        +}
        +

        If the key contains a dot, it needs to be escaped with a double slash:

        type: 'line',
        +data: {
        +    datasets: [{
        +        data: [{ 'data.key': 'one', 'data.value': 20 }, { 'data.key': 'two', 'data.value': 30 }]
        +    }]
        +},
        +options: {
        +    parsing: {
        +      xAxisKey: 'data\\.key',
        +      yAxisKey: 'data\\.value'
        +    }
        +}
        +

        WARNING

        When using object notation in a radar chart you still need a labels array with labels for the chart to show correctly.

        # Object

        type: 'pie',
        +data: {
        +    datasets: [{
        +      data: {
        +          January: 10,
        +          February: 20
        +      }
        +    }]
        +}
        +

        In this mode, property name is used for index scale and value for value scale. For vertical charts, index scale is x and value scale is y.

        # Dataset Configuration

        Name Type Description
        label string The label for the dataset which appears in the legend and tooltips.
        clip number|object How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0}
        order number The drawing order of dataset. Also affects order for stacking, tooltip and legend.
        stack string The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). Defaults to dataset type.
        parsing boolean|object How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally.
        hidden boolean Configure the visibility of the dataset. Using hidden: true will hide the dataset from being rendered in the Chart.

        # parsing

        const data = [{x: 'Jan', net: 100, cogs: 50, gm: 50}, {x: 'Feb', net: 120, cogs: 55, gm: 75}];
        +const cfg = {
        +    type: 'bar',
        +    data: {
        +        labels: ['Jan', 'Feb'],
        +        datasets: [{
        +            label: 'Net sales',
        +            data: data,
        +            parsing: {
        +                yAxisKey: 'net'
        +            }
        +        }, {
        +            label: 'Cost of goods sold',
        +            data: data,
        +            parsing: {
        +                yAxisKey: 'cogs'
        +            }
        +        }, {
        +            label: 'Gross margin',
        +            data: data,
        +            parsing: {
        +                yAxisKey: 'gm'
        +            }
        +        }]
        +    },
        +};
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/fonts.html b/scriptApl/chart.js/dist/docs/general/fonts.html new file mode 100644 index 00000000..48b6c6d9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/fonts.html @@ -0,0 +1,70 @@ + + + + + + Fonts | Chart.js + + + + + + + +

        # Fonts

        There are special global settings that can change all of the fonts on the chart. These options are in Chart.defaults.font. The global font settings only apply when more specific options are not included in the config.

        For example, in this chart the text will have a font size of 16px except for the labels in the legend.

        Chart.defaults.font.size = 16;
        +let chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        plugins: {
        +            legend: {
        +                labels: {
        +                    // This more specific font property overrides the global property
        +                    font: {
        +                        size: 14
        +                    }
        +                }
        +            }
        +        }
        +    }
        +});
        +
        Name Type Default Description
        family string "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif" Default font family for all text, follows CSS font-family options.
        size number 12 Default font size (in px) for text. Does not apply to radialLinear scale point labels.
        style string 'normal' Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit).
        weight string undefined Default font weight (boldness). (see MDN (opens new window)).
        lineHeight number|string 1.2 Height of an individual line of text (see MDN (opens new window)).

        # Missing Fonts

        If a font is specified for a chart that does exist on the system, the browser will not apply the font when it is set. If you notice odd fonts appearing in your charts, check that the font you are applying exists on your system. See issue 3318 (opens new window) for more details.

        # Loading Fonts

        If a font is not cached and needs to be loaded, charts that use the font will need to be updated once the font is loaded. This can be accomplished using the Font Loading APIs (opens new window). See issue 8020 (opens new window) for more details.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/index.html b/scriptApl/chart.js/dist/docs/general/index.html new file mode 100644 index 00000000..acd350b9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/general/options.html b/scriptApl/chart.js/dist/docs/general/options.html new file mode 100644 index 00000000..1e2b811d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/options.html @@ -0,0 +1,73 @@ + + + + + + Options | Chart.js + + + + + + + +

        # Options

        # Option resolution

        Options are resolved from top to bottom, using a context dependent route.

        # Chart level options

        • options
        • overrides[config.type]
        • defaults

        # Dataset level options

        dataset.type defaults to config.type, if not specified.

        • dataset
        • options.datasets[dataset.type]
        • options
        • overrides[config.type].datasets[dataset.type]
        • defaults.datasets[dataset.type]
        • defaults

        # Dataset animation options

        • dataset.animation
        • options.datasets[dataset.type].animation
        • options.animation
        • overrides[config.type].datasets[dataset.type].animation
        • defaults.datasets[dataset.type].animation
        • defaults.animation

        # Dataset element level options

        Each scope is looked up with elementType prefix in the option name first, then without the prefix. For example, radius for point element is looked up using pointRadius and if that does not hit, then radius.

        • dataset
        • options.datasets[dataset.type]
        • options.datasets[dataset.type].elements[elementType]
        • options.elements[elementType]
        • options
        • overrides[config.type].datasets[dataset.type]
        • overrides[config.type].datasets[dataset.type].elements[elementType]
        • defaults.datasets[dataset.type]
        • defaults.datasets[dataset.type].elements[elementType]
        • defaults.elements[elementType]
        • defaults

        # Scale options

        • options.scales
        • overrides[config.type].scales
        • defaults.scales
        • defaults.scale

        # Plugin options

        A plugin can provide additionalOptionScopes array of paths to additionally look for its options in. For root scope, use empty string: ''. Most core plugins also take options from root scope.

        • options.plugins[plugin.id]
        • (options.[...plugin.additionalOptionScopes])
        • overrides[config.type].plugins[plugin.id]
        • defaults.plugins[plugin.id]
        • (defaults.[...plugin.additionalOptionScopes])

        # Scriptable Options

        Scriptable options also accept a function which is called for each of the underlying data values and that takes the unique argument context representing contextual information (see option context). +A resolver is passed as second parameter, that can be used to access other options in the same context.

        Note

        The context argument should be validated in the scriptable function, because the function can be invoked in different contexts. The type field is a good candidate for this validation.

        Example:

        color: function(context) {
        +    const index = context.dataIndex;
        +    const value = context.dataset.data[index];
        +    return value < 0 ? 'red' :  // draw negative values in red
        +        index % 2 ? 'blue' :    // else, alternate values in blue and green
        +        'green';
        +},
        +borderColor: function(context, options) {
        +    const color = options.color; // resolve the value of another scriptable option: 'red', 'blue' or 'green'
        +    return Chart.helpers.color(color).lighten(0.2);
        +}
        +

        # Indexable Options

        Indexable options also accept an array in which each item corresponds to the element at the same index. Note that if there are less items than data, the items are looped over. In many cases, using a function is more appropriate if supported.

        Example:

        color: [
        +    'red',    // color for data at index 0
        +    'blue',   // color for data at index 1
        +    'green',  // color for data at index 2
        +    'black',  // color for data at index 3
        +    //...
        +]
        +

        # Option Context

        The option context is used to give contextual information when resolving options and currently only applies to scriptable options. +The object is preserved, so it can be used to store and pass information between calls.

        There are multiple levels of context objects:

        • chart
          • dataset
            • data
          • scale
            • tick
            • pointLabel (only used in the radial linear scale)
          • tooltip

        Each level inherits its parent(s) and any contextual information stored in the parent is available through the child.

        The context object contains the following properties:

        # chart

        • chart: the associated chart
        • type: 'chart'

        # dataset

        In addition to chart

        • active: true if element is active (hovered)
        • dataset: dataset at index datasetIndex
        • datasetIndex: index of the current dataset
        • index: same as datasetIndex
        • mode: the update mode
        • type: 'dataset'

        # data

        In addition to dataset

        • active: true if element is active (hovered)
        • dataIndex: index of the current data
        • parsed: the parsed data values for the given dataIndex and datasetIndex
        • raw: the raw data values for the given dataIndex and datasetIndex
        • element: the element (point, arc, bar, etc.) for this data
        • index: same as dataIndex
        • type: 'data'

        # scale

        In addition to chart

        • scale: the associated scale
        • type: 'scale'

        # tick

        In addition to scale

        • tick: the associated tick object
        • index: tick index
        • type: 'tick'

        # tooltip

        In addition to chart

        • tooltip: the tooltip object
        • tooltipItems: the items the tooltip is displaying
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/padding.html b/scriptApl/chart.js/dist/docs/general/padding.html new file mode 100644 index 00000000..d78b2023 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/padding.html @@ -0,0 +1,89 @@ + + + + + + Padding | Chart.js + + + + + + + +

        # Padding

        Padding values in Chart options can be supplied in couple of different formats.

        # Number

        If this value is a number, it is applied to all sides (left, top, right, bottom).

        For example, defining a 20px padding to all sides of chart:

        let chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        layout: {
        +            padding: 20
        +        }
        +    }
        +});
        +

        # {top, left, bottom, right} object

        If this value is an object, the left property defines the left padding. Similarly the right, top and bottom properties can also be specified. +Omitted properties default to 0.

        Lets say you wanted to add 50px of padding to the left side of the chart canvas, you would do:

        let chart = new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        layout: {
        +            padding: {
        +                left: 50
        +            }
        +        }
        +    }
        +});
        +

        # {x, y} object

        This is a shorthand for defining left/right and top/bottom to the same values.

        For example, 10px left / right and 4px top / bottom padding on a Radial Linear Axis tick backdropPadding:

        let chart = new Chart(ctx, {
        +    type: 'radar',
        +    data: data,
        +    options: {
        +        scales: {
        +          r: {
        +            ticks: {
        +              backdropPadding: {
        +                  x: 10,
        +                  y: 4
        +              }
        +            }
        +        }
        +    }
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/general/performance.html b/scriptApl/chart.js/dist/docs/general/performance.html new file mode 100644 index 00000000..aef4b9f1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/general/performance.html @@ -0,0 +1,135 @@ + + + + + + Performance | Chart.js + + + + + + + +

        # Performance

        Chart.js charts are rendered on canvas elements, which makes rendering quite fast. For large datasets or performance sensitive applications, you may wish to consider the tips below.

        # Data structure and format

        # Parsing

        Provide prepared data in the internal format accepted by the dataset and scales, and set parsing: false. See Data structures for more information.

        # Data normalization

        Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so. Even without this option, it can sometimes still be faster to provide sorted data.

        # Decimation

        Decimating your data will achieve the best results. When there is a lot of data to display on the graph, it doesn't make sense to show tens of thousands of data points on a graph that is only a few hundred pixels wide.

        The decimation plugin can be used with line charts to decimate data before the chart is rendered. This will provide the best performance since it will reduce the memory needed to render the chart.

        Line charts are able to do automatic data decimation during draw, when certain conditions are met. You should still consider decimating data yourself before passing it in for maximum performance since the automatic decimation occurs late in the chart life cycle.

        # Tick Calculation

        # Rotation

        Specify a rotation value by setting minRotation and maxRotation to the same value, which avoids the chart from having to automatically determine a value to use.

        # Sampling

        Set the ticks.sampleSize option. This will determine how large your labels are by looking at only a subset of them in order to render axes more quickly. This works best if there is not a large variance in the size of your labels.

        # Disable Animations

        If your charts have long render times, it is a good idea to disable animations. Doing so will mean that the chart needs to only be rendered once during an update instead of multiple times. This will have the effect of reducing CPU usage and improving general page performance. +Line charts use Path2D caching when animations are disabled and Path2D is available.

        To disable animations

        new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        animation: false
        +    }
        +});
        +

        # Specify min and max for scales

        If you specify the min and max, the scale does not have to compute the range from the data.

        new Chart(ctx, {
        +    type: 'line',
        +    data: data,
        +    options: {
        +        scales: {
        +            x: {
        +                type: 'time',
        +                min: new Date('2019-01-01').valueOf(),
        +                max: new Date('2019-12-31').valueOf()
        +            },
        +            y: {
        +                type: 'linear',
        +                min: 0,
        +                max: 100
        +            }
        +        }
        +    }
        +});
        +

        # Parallel rendering with web workers (Chromium only)

        Chromium (Chrome: version 69, Edge: 79, Opera: 56) added the ability to transfer rendering control of a canvas (opens new window) to a web worker. Web workers can use the OffscreenCanvas API (opens new window) to render from a web worker onto canvases in the DOM. Chart.js is a canvas-based library and supports rendering in a web worker - just pass an OffscreenCanvas into the Chart constructor instead of a Canvas element. Note that as of today, this API is only supported in Chromium based browsers.

        By moving all Chart.js calculations onto a separate thread, the main thread can be freed up for other uses. Some tips and tricks when using Chart.js in a web worker:

        • Transferring data between threads can be expensive, so ensure that your config and data objects are as small as possible. Try generating them on the worker side if you can (workers can make HTTP requests!) or passing them to your worker as ArrayBuffers, which can be transferred quickly from one thread to another.
        • You can't transfer functions between threads, so if your config object includes functions you'll have to strip them out before transferring and then add them back later.
        • You can't access the DOM from worker threads, so Chart.js plugins that use the DOM (including any mouse interactions) will likely not work.
        • Ensure that you have a fallback if you support browsers other than the most modern Chromium browsers.
        • Resizing the chart must be done manually. See an example in the worker code below.

        Example main thread code:

        const config = {};
        +const canvas = new HTMLCanvasElement();
        +const offscreenCanvas = canvas.transferControlToOffscreen();
        +const worker = new Worker('worker.js');
        +worker.postMessage({canvas: offscreenCanvas, config}, [offscreenCanvas]);
        +

        Example worker code, in worker.js:

        onmessage = function(event) {
        +    const {canvas, config} = event.data;
        +    const chart = new Chart(canvas, config);
        +    // Resizing the chart must be done manually, since OffscreenCanvas does not include event listeners.
        +    canvas.width = 100;
        +    canvas.height = 100;
        +    chart.resize();
        +};
        +

        # Line Charts

        # Leave Bézier curves disabled

        If you are drawing lines on your chart, disabling Bézier curves will improve render times since drawing a straight line is more performant than a Bézier curve. Bézier curves are disabled by default.

        # Automatic data decimation during draw

        Line element will automatically decimate data, when tension, stepped, and borderDash are left set to their default values (false, 0, and [] respectively). This improves rendering speed by skipping drawing of invisible line segments.

        # Enable spanGaps

        If you have a lot of data points, it can be more performant to enable spanGaps. This disables segmentation of the line, which can be an unneeded step.

        To enable spanGaps:

        new Chart(ctx, {
        +    type: 'line',
        +    data: {
        +        datasets: [{
        +            spanGaps: true // enable for a single dataset
        +        }]
        +    },
        +    options: {
        +        spanGaps: true // enable for all datasets
        +    }
        +});
        +

        # Disable Line Drawing

        If you have a lot of data points, it can be more performant to disable rendering of the line for a dataset and only draw points. Doing this means that there is less to draw on the canvas which will improve render performance.

        To disable lines:

        new Chart(ctx, {
        +    type: 'line',
        +    data: {
        +        datasets: [{
        +            showLine: false // disable for a single dataset
        +        }]
        +    },
        +    options: {
        +        showLine: false // disable for all datasets
        +    }
        +});
        +

        # Disable Point Drawing

        If you have a lot of data points, it can be more performant to disable rendering of the points for a dataset and only draw line. Doing this means that there is less to draw on the canvas which will improve render performance.

        To disable point drawing:

        new Chart(ctx, {
        +    type: 'line',
        +    data: {
        +        datasets: [{
        +            pointRadius: 0 // disable for a single dataset
        +        }]
        +    },
        +    options: {
        +        datasets: {
        +            line: {
        +                pointRadius: 0 // disable for all `'line'` datasets
        +            }
        +        },
        +        elements: {
        +            point: {
        +                radius: 0 // default to disabled in all datasets
        +            }
        +        }
        +    }
        +});
        +

        # When transpiling with Babel, consider using loose mode

        Babel 7.9 changed the way classes are constructed. It is slow, unless used with loose mode. +More information (opens new window)

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/getting-started/index.html b/scriptApl/chart.js/dist/docs/getting-started/index.html new file mode 100644 index 00000000..d4857b28 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/getting-started/index.html @@ -0,0 +1,131 @@ + + + + + + Getting Started | Chart.js + + + + + + + +

        # Getting Started

        Let's get started using Chart.js!

        First, we need to have a canvas in our page. It's recommended to give the chart its own container for responsiveness.

        <div>
        +  <canvas id="myChart"></canvas>
        +</div>
        +

        Now that we have a canvas we can use, we need to include Chart.js in our page.

        <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
        +

        Now, we can create a chart. We add a script to our page:

        <script>
        +  const labels = [
        +    'January',
        +    'February',
        +    'March',
        +    'April',
        +    'May',
        +    'June',
        +  ];
        +  const data = {
        +    labels: labels,
        +    datasets: [{
        +      label: 'My First dataset',
        +      backgroundColor: 'rgb(255, 99, 132)',
        +      borderColor: 'rgb(255, 99, 132)',
        +      data: [0, 10, 5, 2, 20, 30, 45],
        +    }]
        +  };
        +  const config = {
        +    type: 'line',
        +    data: data,
        +    options: {}
        +  };
        +</script>
        +

        Finally, render the chart using our configuration:

        <script>
        +  const myChart = new Chart(
        +    document.getElementById('myChart'),
        +    config
        +  );
        +</script>
        +

        It's that easy to get started using Chart.js! From here you can explore the many options that can help you customise your charts with scales, tooltips, labels, colors, custom actions, and much more.

        Here the sample above is presented with our sample block:

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {}
        +};

        Note

        As you can see, some of the boilerplate needed is not visible in our sample blocks, as the samples focus on the configuration options.

        All our examples are available online.

        To run the samples locally you first have to install all the necessary packages using the npm ci command, after this you can run npm run docs:dev to build the documentation. As soon as the build is done, you can go to http://localhost:8080/samples/ (opens new window) to see the samples.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/getting-started/installation.html b/scriptApl/chart.js/dist/docs/getting-started/installation.html new file mode 100644 index 00000000..6a05f50a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/getting-started/installation.html @@ -0,0 +1,54 @@ + + + + + + Installation | Chart.js + + + + + + + +

        # npm

        npm (opens new window) npm (opens new window)

        npm install chart.js
        +

        # CDN

        # CDNJS

        cdnjs (opens new window)

        Chart.js built files are available on CDNJS (opens new window):

        https://cdnjs.com/libraries/Chart.js (opens new window)

        # jsDelivr

        jsdelivr (opens new window) jsdelivr hits (opens new window)

        Chart.js built files are also available through jsDelivr (opens new window):

        https://www.jsdelivr.com/package/npm/chart.js?path=dist (opens new window)

        # Github

        github (opens new window)

        You can download the latest version of Chart.js on GitHub (opens new window).

        If you download or clone the repository, you must build Chart.js to generate the dist files. Chart.js no longer comes with prebuilt release versions, so an alternative option to downloading the repo is strongly advised.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/getting-started/integration.html b/scriptApl/chart.js/dist/docs/getting-started/integration.html new file mode 100644 index 00000000..59a0183c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/getting-started/integration.html @@ -0,0 +1,140 @@ + + + + + + Integration | Chart.js + + + + + + + +

        # Integration

        Chart.js can be integrated with plain JavaScript or with different module loaders. The examples below show how to load Chart.js in different systems.

        # Script Tag

        <script src="path/to/chartjs/dist/chart.js"></script>
        +<script>
        +    const myChart = new Chart(ctx, {...});
        +</script>
        +

        # Common JS

        const Chart = require('chart.js');
        +const myChart = new Chart(ctx, {...});
        +

        # Bundlers (Webpack, Rollup, etc.)

        Chart.js 3 is tree-shakeable, so it is necessary to import and register the controllers, elements, scales and plugins you are going to use.

        For all available imports see the example below.

        import {
        +  Chart,
        +  ArcElement,
        +  LineElement,
        +  BarElement,
        +  PointElement,
        +  BarController,
        +  BubbleController,
        +  DoughnutController,
        +  LineController,
        +  PieController,
        +  PolarAreaController,
        +  RadarController,
        +  ScatterController,
        +  CategoryScale,
        +  LinearScale,
        +  LogarithmicScale,
        +  RadialLinearScale,
        +  TimeScale,
        +  TimeSeriesScale,
        +  Decimation,
        +  Filler,
        +  Legend,
        +  Title,
        +  Tooltip,
        +  SubTitle
        +} from 'chart.js';
        +Chart.register(
        +  ArcElement,
        +  LineElement,
        +  BarElement,
        +  PointElement,
        +  BarController,
        +  BubbleController,
        +  DoughnutController,
        +  LineController,
        +  PieController,
        +  PolarAreaController,
        +  RadarController,
        +  ScatterController,
        +  CategoryScale,
        +  LinearScale,
        +  LogarithmicScale,
        +  RadialLinearScale,
        +  TimeScale,
        +  TimeSeriesScale,
        +  Decimation,
        +  Filler,
        +  Legend,
        +  Title,
        +  Tooltip,
        +  SubTitle
        +);
        +const myChart = new Chart(ctx, {...});
        +

        A short registration format is also available to quickly register everything.

        import { Chart, registerables } from 'chart.js';
        +Chart.register(...registerables);
        +

        And finally there is a separate path to do just the above for you, in one line:

        import Chart from 'chart.js/auto';
        +

        # Helper functions

        If you want to use the helper functions, you will need to import these separately from the helpers package and use them as stand-alone functions.

        Example of Converting Events to Data Values using bundlers.

        import Chart from 'chart.js/auto';
        +import { getRelativePosition } from 'chart.js/helpers';
        +const chart = new Chart(ctx, {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    onClick: (e) => {
        +      const canvasPosition = getRelativePosition(e, chart);
        +      // Substitute the appropriate scale IDs
        +      const dataX = chart.scales.x.getValueForPixel(canvasPosition.x);
        +      const dataY = chart.scales.y.getValueForPixel(canvasPosition.y);
        +    }
        +  }
        +});
        +

        # Require JS

        Important: RequireJS can not load CommonJS module as is (opens new window), so be sure to require one of the UMD builds instead (i.e. dist/chart.js, dist/chart.min.js, etc.).

        require(['path/to/chartjs/dist/chart.min.js'], function(Chart){
        +    const myChart = new Chart(ctx, {...});
        +});
        +

        Note: in order to use the time scale, you need to make sure one of the available date adapters (opens new window) and corresponding date library are fully loaded after requiring Chart.js. For this you can use nested requires:

        require(['chartjs'], function(Chart) {
        +    require(['moment'], function() {
        +        require(['chartjs-adapter-moment'], function() {
        +            new Chart(ctx, {...});
        +        });
        +    });
        +});
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/getting-started/usage.html b/scriptApl/chart.js/dist/docs/getting-started/usage.html new file mode 100644 index 00000000..93de83aa --- /dev/null +++ b/scriptApl/chart.js/dist/docs/getting-started/usage.html @@ -0,0 +1,97 @@ + + + + + + Usage | Chart.js + + + + + + + +

        # Usage

        Chart.js can be used with ES6 modules, plain JavaScript, and module loaders.

        # Creating a Chart

        To create a chart, we need to instantiate the Chart class. To do this, we need to pass in the node, jQuery instance, or 2d context of the canvas of where we want to draw the chart. Here's an example.

        <canvas id="myChart" width="400" height="400"></canvas>
        +
        // Any of the following formats may be used
        +const ctx = document.getElementById('myChart');
        +const ctx = document.getElementById('myChart').getContext('2d');
        +const ctx = $('#myChart');
        +const ctx = 'myChart';
        +

        Once you have the element or context, you're ready to instantiate a pre-defined chart-type or create your own!

        The following example instantiates a bar chart showing the number of votes for different colors and the y-axis starting at 0.

        <canvas id="myChart" width="400" height="400"></canvas>
        +<script>
        +const ctx = document.getElementById('myChart');
        +const myChart = new Chart(ctx, {
        +    type: 'bar',
        +    data: {
        +        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        +        datasets: [{
        +            label: '# of Votes',
        +            data: [12, 19, 3, 5, 2, 3],
        +            backgroundColor: [
        +                'rgba(255, 99, 132, 0.2)',
        +                'rgba(54, 162, 235, 0.2)',
        +                'rgba(255, 206, 86, 0.2)',
        +                'rgba(75, 192, 192, 0.2)',
        +                'rgba(153, 102, 255, 0.2)',
        +                'rgba(255, 159, 64, 0.2)'
        +            ],
        +            borderColor: [
        +                'rgba(255, 99, 132, 1)',
        +                'rgba(54, 162, 235, 1)',
        +                'rgba(255, 206, 86, 1)',
        +                'rgba(75, 192, 192, 1)',
        +                'rgba(153, 102, 255, 1)',
        +                'rgba(255, 159, 64, 1)'
        +            ],
        +            borderWidth: 1
        +        }]
        +    },
        +    options: {
        +        scales: {
        +            y: {
        +                beginAtZero: true
        +            }
        +        }
        +    }
        +});
        +</script>
        +
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/getting-started/v3-migration.html b/scriptApl/chart.js/dist/docs/getting-started/v3-migration.html new file mode 100644 index 00000000..c40a5705 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/getting-started/v3-migration.html @@ -0,0 +1,144 @@ + + + + + + 3.x Migration Guide | Chart.js + + + + + + + +

        # 3.x Migration Guide

        Chart.js 3.0 introduces a number of breaking changes. Chart.js 2.0 was released in April 2016. In the years since then, as Chart.js has grown in popularity and feature set, we've learned some lessons about how to better create a charting library. In order to improve performance, offer new features, and improve maintainability, it was necessary to break backwards compatibility, but we aimed to do so only when worth the benefit. Some major highlights of v3 include:

        • Large performance improvements including the ability to skip data parsing and render charts in parallel via webworkers
        • Additional configurability and scriptable options with better defaults
        • Completely rewritten animation system
        • Rewritten filler plugin with numerous bug fixes
        • Documentation migrated from GitBook to Vuepress
        • API documentation generated and verified by TypeDoc
        • No more CSS injection
        • Tons of bug fixes
        • Tree shaking

        # End user migration

        # Setup and installation

        • Distributed files are now in lower case. For example: dist/chart.js.
        • Chart.js is no longer providing the Chart.bundle.js and Chart.bundle.min.js. Please see the installation and integration docs for details on the recommended way to setup Chart.js if you were using these builds.
        • moment is no longer specified as an npm dependency. If you are using the time or timeseries scales, you must include one of the available adapters (opens new window) and corresponding date library. You no longer need to exclude moment from your build.
        • The Chart constructor will throw an error if the canvas/context provided is already in use
        • Chart.js 3 is tree-shakeable. So if you are using it as an npm module in a project and want to make use of this feature, you need to import and register the controllers, elements, scales and plugins you want to use, for a list of all the available items to import see integration. You will not have to call register if importing Chart.js via a script tag or from the auto register path as an npm module, in this case you will not get the tree shaking benefits. Here is an example of registering components:
        import { Chart, LineController, LineElement, PointElement, LinearScale, Title } from `chart.js`
        +Chart.register(LineController, LineElement, PointElement, LinearScale, Title);
        +const chart = new Chart(ctx, {
        +    type: 'line',
        +    // data: ...
        +    options: {
        +        plugins: {
        +            title: {
        +                display: true,
        +                text: 'Chart Title'
        +            }
        +        },
        +        scales: {
        +            x: {
        +                type: 'linear'
        +            },
        +            y: {
        +                type: 'linear'
        +            }
        +        }
        +    }
        +})
        +

        # Chart types

        • horizontalBar chart type was removed. Horizontal bar charts can be configured using the new indexAxis option

        # Options

        A number of changes were made to the configuration options passed to the Chart constructor. Those changes are documented below.

        # Generic changes

        • Indexable options are now looping. backgroundColor: ['red', 'green'] will result in alternating 'red' / 'green' if there are more than 2 data points.
        • The input properties of object data can now be freely specified, see data structures for details.
        • Most options are resolved utilizing proxies, instead of merging with defaults. In addition to easily enabling different resolution routes for different contexts, it allows using other resolved options in scriptable options. +
          • Options are by default scriptable and indexable, unless disabled for some reason.
          • Scriptable options receive a option resolver as second parameter for accessing other options in same context.
          • Resolution falls to upper scopes, if no match is found earlier. See options for details.

        # Specific changes

        • elements.rectangle is now elements.bar
        • hover.animationDuration is now configured in animation.active.duration
        • responsiveAnimationDuration is now configured in animation.resize.duration
        • Polar area elements.arc.angle is now configured in degrees instead of radians.
        • Polar area startAngle option is now consistent with Radar, 0 is at top and value is in degrees. Default is changed from -½π to 0.
        • Doughnut rotation option is now in degrees and 0 is at top. Default is changed from -½π to 0.
        • Doughnut circumference option is now in degrees. Default is changed from 2Ï€ to 360.
        • Doughnut cutoutPercentage was renamed to cutoutand accepts pixels as number and percent as string ending with %.
        • scale option was removed in favor of options.scales.r (or any other scale id, with axis: 'r')
        • scales.[x/y]Axes arrays were removed. Scales are now configured directly to options.scales object with the object key being the scale Id.
        • scales.[x/y]Axes.barPercentage was moved to dataset option barPercentage
        • scales.[x/y]Axes.barThickness was moved to dataset option barThickness
        • scales.[x/y]Axes.categoryPercentage was moved to dataset option categoryPercentage
        • scales.[x/y]Axes.maxBarThickness was moved to dataset option maxBarThickness
        • scales.[x/y]Axes.minBarLength was moved to dataset option minBarLength
        • scales.[x/y]Axes.scaleLabel was renamed to scales[id].title
        • scales.[x/y]Axes.scaleLabel.labelString was renamed to scales[id].title.text
        • scales.[x/y]Axes.ticks.beginAtZero was renamed to scales[id].beginAtZero
        • scales.[x/y]Axes.ticks.max was renamed to scales[id].max
        • scales.[x/y]Axes.ticks.min was renamed to scales[id].min
        • scales.[x/y]Axes.ticks.reverse was renamed to scales[id].reverse
        • scales.[x/y]Axes.ticks.suggestedMax was renamed to scales[id].suggestedMax
        • scales.[x/y]Axes.ticks.suggestedMin was renamed to scales[id].suggestedMin
        • scales.[x/y]Axes.ticks.unitStepSize was removed. Use scales[id].ticks.stepSize
        • scales.[x/y]Axes.ticks.userCallback was renamed to scales[id].ticks.callback
        • scales.[x/y]Axes.time.format was renamed to scales[id].time.parser
        • scales.[x/y]Axes.time.max was renamed to scales[id].max
        • scales.[x/y]Axes.time.min was renamed to scales[id].min
        • scales.[x/y]Axes.zeroLine* options of axes were removed. Use scriptable scale options instead.
        • The dataset option steppedLine was removed. Use stepped
        • The chart option showLines was renamed to showLine to match the dataset option.
        • The chart option startAngle was moved to radial scale options.
        • To override the platform class used in a chart instance, pass platform: PlatformClass in the config object. Note that the class should be passed, not an instance of the class.
        • aspectRatio defaults to 1 for doughnut, pie, polarArea, and radar charts
        • TimeScale does not read t from object data by default anymore. The default property is x or y, depending on the orientation. See data structures for details on how to change the default.
        • tooltips namespace was renamed to tooltip to match the plugin name
        • legend, title and tooltip namespaces were moved from options to options.plugins.
        • tooltips.custom was renamed to plugins.tooltip.external

        # Defaults

        • global namespace was removed from defaults. So Chart.defaults.global is now Chart.defaults
        • Dataset controller defaults were relocate to overrides. For example Chart.defaults.line is now Chart.overrides.line
        • default prefix was removed from defaults. For example Chart.defaults.global.defaultColor is now Chart.defaults.color
        • defaultColor was split to color, borderColor and backgroundColor
        • defaultFontColor was renamed to color
        • defaultFontFamily was renamed to font.family
        • defaultFontSize was renamed to font.size
        • defaultFontStyle was renamed to font.style
        • defaultLineHeight was renamed to font.lineHeight
        • Horizontal Bar default tooltip mode was changed from 'index' to 'nearest' to match vertical bar charts
        • legend, title and tooltip namespaces were moved from Chart.defaults to Chart.defaults.plugins.
        • elements.line.fill default changed from true to false.
        • Line charts no longer override the default interaction mode. Default is changed from 'index' to 'nearest'.

        # Scales

        The configuration options for scales is the largest change in v3. The xAxes and yAxes arrays were removed and axis options are individual scales now keyed by scale ID.

        The v2 configuration below is shown with it's new v3 configuration

        options: {
        +  scales: {
        +    xAxes: [{
        +      id: 'x',
        +      type: 'time',
        +      display: true,
        +      title: {
        +        display: true,
        +        text: 'Date'
        +      },
        +      ticks: {
        +        major: {
        +          enabled: true
        +        },
        +        font: function(context) {
        +          if (context.tick && context.tick.major) {
        +            return {
        +              weight: 'bold',
        +              color: '#FF0000'
        +            };
        +          }
        +        }
        +      }
        +    }],
        +    yAxes: [{
        +      id: 'y',
        +      display: true,
        +      title: {
        +        display: true,
        +        text: 'value'
        +      }
        +    }]
        +  }
        +}
        +

        And now, in v3:

        options: {
        +  scales: {
        +    x: {
        +      type: 'time',
        +      display: true,
        +      title: {
        +        display: true,
        +        text: 'Date'
        +      },
        +      ticks: {
        +        major: {
        +          enabled: true
        +        },
        +        color: (context) => context.tick && context.tick.major && '#FF0000',
        +        font: function(context) {
        +          if (context.tick && context.tick.major) {
        +            return {
        +              weight: 'bold'
        +            };
        +          }
        +        }
        +      }
        +    },
        +    y: {
        +      display: true,
        +      title: {
        +        display: true,
        +        text: 'value'
        +      }
        +    }
        +  }
        +}
        +
        • The time scale option distribution: 'series' was removed and a new scale type timeseries was introduced in its place
        • In the time scale, autoSkip is now enabled by default for consistency with the other scales

        # Animations

        Animation system was completely rewritten in Chart.js v3. Each property can now be animated separately. Please see animations docs for details.

        # Customizability

        • custom attribute of elements was removed. Please use scriptable options
        • The hover property of scriptable options context object was renamed to active to align it with the datalabels plugin.

        # Interactions

        • To allow DRY configuration, a root options scope for common interaction options was added. options.hover and options.plugins.tooltip now both extend from options.interaction. Defaults are defined at defaults.interaction level, so by default hover and tooltip interactions share the same mode etc.
        • interactions are now limited to the chart area + allowed overflow
        • {mode: 'label'} was replaced with {mode: 'index'}
        • {mode: 'single'} was replaced with {mode: 'nearest', intersect: true}
        • modes['X-axis'] was replaced with {mode: 'index', intersect: false}
        • options.onClick is now limited to the chart area
        • options.onClick and options.onHover now receive the chart instance as a 3rd argument
        • options.onHover now receives a wrapped event as the first parameter. The previous first parameter value is accessible via event.native.
        • options.hover.onHover was removed, use options.onHover.

        # Ticks

        • options.gridLines was renamed to options.grid
        • options.gridLines.offsetGridLines was renamed to options.grid.offset.
        • options.gridLines.tickMarkLength was renamed to options.grid.tickLength.
        • options.ticks.fixedStepSize is no longer used. Use options.ticks.stepSize.
        • options.ticks.major and options.ticks.minor were replaced with scriptable options for tick fonts.
        • Chart.Ticks.formatters.linear was renamed to Chart.Ticks.formatters.numeric.
        • options.ticks.backdropPaddingX and options.ticks.backdropPaddingY were replaced with options.ticks.backdropPadding in the radial linear scale.

        # Tooltip

        • xLabel and yLabel were removed. Please use label and formattedValue
        • The filter option will now be passed additional parameters when called and should have the method signature function(tooltipItem, index, tooltipItems, data)
        • The custom callback now takes a context object that has tooltip and chart properties
        • All properties of tooltip model related to the tooltip options have been moved to reside within the options property.
        • The callbacks no longer are given a data parameter. The tooltip item parameter contains the chart and dataset instead
        • The tooltip item's index parameter was renamed to dataIndex and value was renamed to formattedValue
        • The xPadding and yPadding options were merged into a single padding object

        # Developer migration

        While the end-user migration for Chart.js 3 is fairly straight-forward, the developer migration can be more complicated. Please reach out for help in the #dev Slack (opens new window) channel if tips on migrating would be helpful.

        Some of the biggest things that have changed:

        • There is a completely rewritten and more performant animation system. +
          • Element._model and Element._view are no longer used and properties are now set directly on the elements. You will have to use the method getProps to access these properties inside most methods such as inXRange/inYRange and getCenterPoint. Please take a look at the Chart.js-provided elements (opens new window) for examples.
          • When building the elements in a controller, it's now suggested to call updateElement to provide the element properties. There are also methods such as getSharedOptions and includeOptions that have been added to skip redundant computation. Please take a look at the Chart.js-provided controllers (opens new window) for examples.
        • Scales introduced a new parsing API. This API takes user data and converts it into a more standard format. E.g. it allows users to provide numeric data as a string and converts it to a number where necessary. Previously this was done on the fly as charts were rendered. Now it's done up front with the ability to skip it for better performance if users provide data in the correct format. If you're using standard data format like x/y you may not need to do anything. If you're using a custom data format you will have to override some of the parse methods in core.datasetController.js. An example can be found in chartjs-chart-financial (opens new window), which uses an {o, h, l, c} data format.

        A few changes were made to controllers that are more straight-forward, but will affect all controllers:

        • Options: +
          • global was removed from the defaults namespace as it was unnecessary and sometimes inconsistent
          • Dataset defaults are now under the chart type options instead of vice-versa. This was not able to be done when introduced in 2.x for backwards compatibility. Fixing it removes the biggest stumbling block that new chart developers encountered
          • Scale default options need to be updated as described in the end user migration section (e.g. x instead of xAxes and y instead of yAxes)
        • updateElement was changed to updateElements and has a new method signature as described below. This provides performance enhancements such as allowing easier reuse of computations that are common to all elements and reducing the number of function calls

        # Removed

        The following properties and methods were removed:

        # Removed from Chart

        • Chart.animationService
        • Chart.active
        • Chart.borderWidth
        • Chart.chart.chart
        • Chart.Bar. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.Bubble. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.Chart
        • Chart.Controller
        • Chart.Doughnut. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.innerRadius now lives on doughnut, pie, and polarArea controllers
        • Chart.lastActive
        • Chart.Legend was moved to Chart.plugins.legend._element and made private
        • Chart.Line. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.LinearScaleBase now must be imported and cannot be accessed off the Chart object
        • Chart.offsetX
        • Chart.offsetY
        • Chart.outerRadius now lives on doughnut, pie, and polarArea controllers
        • Chart.plugins was replaced with Chart.registry. Plugin defaults are now in Chart.defaults.plugins[id].
        • Chart.plugins.register was replaced by Chart.register.
        • Chart.PolarArea. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.prototype.generateLegend
        • Chart.platform. It only contained disableCSSInjection. CSS is never injected in v3.
        • Chart.PluginBase
        • Chart.Radar. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.radiusLength
        • Chart.scaleService was replaced with Chart.registry. Scale defaults are now in Chart.defaults.scales[type].
        • Chart.Scatter. New charts are created via new Chart and providing the appropriate type parameter
        • Chart.types
        • Chart.Title was moved to Chart.plugins.title._element and made private
        • Chart.Tooltip is now provided by the tooltip plugin. The positioners can be accessed from tooltipPlugin.positioners
        • ILayoutItem.minSize

        # Removed from Dataset Controllers

        • BarController.getDatasetMeta().bar
        • DatasetController.addElementAndReset
        • DatasetController.createMetaData
        • DatasetController.createMetaDataset
        • DoughnutController.getRingIndex

        # Removed from Elements

        • Element.getArea
        • Element.height
        • Element.hidden was replaced by chart level status, usable with getDataVisibility(index) / toggleDataVisibility(index)
        • Element.initialize
        • Element.inLabelRange
        • Line.calculatePointY

        # Removed from Helpers

        • helpers.addEvent
        • helpers.aliasPixel
        • helpers.arrayEquals
        • helpers.configMerge
        • helpers.findIndex
        • helpers.findNextWhere
        • helpers.findPreviousWhere
        • helpers.extend. Use Object.assign instead
        • helpers.getValueAtIndexOrDefault. Use helpers.resolve instead.
        • helpers.indexOf
        • helpers.lineTo
        • helpers.longestText was made private
        • helpers.max
        • helpers.measureText was made private
        • helpers.min
        • helpers.nextItem
        • helpers.niceNum
        • helpers.numberOfLabelLines
        • helpers.previousItem
        • helpers.removeEvent
        • helpers.roundedRect
        • helpers.scaleMerge
        • helpers.where

        # Removed from Layout

        • Layout.defaults

        # Removed from Scales

        • LinearScaleBase.handleDirectionalChanges
        • LogarithmicScale.minNotZero
        • Scale.getRightValue
        • Scale.longestLabelWidth
        • Scale.longestTextCache is now private
        • Scale.margins is now private
        • Scale.mergeTicksOptions
        • Scale.ticksAsNumbers
        • Scale.tickValues is now private
        • TimeScale.getLabelCapacity is now private
        • TimeScale.tickFormatFunction is now private

        # Removed from Plugins (Legend, Title, and Tooltip)

        • IPlugin.afterScaleUpdate. Use afterLayout instead
        • Legend.margins is now private
        • Legend onClick, onHover, and onLeave options now receive the legend as the 3rd argument in addition to implicitly via this
        • Legend onClick, onHover, and onLeave options now receive a wrapped event as the first parameter. The previous first parameter value is accessible via event.native.
        • Title.margins is now private
        • The tooltip item's x and y attributes were replaced by element. You can use element.x and element.y or element.tooltipPosition() instead.

        # Removal of Public APIs

        The following public APIs were removed.

        • getElementAtEvent is replaced with chart.getElementsAtEventForMode(e, 'nearest', { intersect: true }, false)
        • getElementsAtEvent is replaced with chart.getElementsAtEventForMode(e, 'index', { intersect: true }, false)
        • getElementsAtXAxis is replaced with chart.getElementsAtEventForMode(e, 'index', { intersect: false }, false)
        • getDatasetAtEvent is replaced with chart.getElementsAtEventForMode(e, 'dataset', { intersect: true }, false)

        # Removal of private APIs

        The following private APIs were removed.

        • Chart._bufferedRender
        • Chart._updating
        • Chart.data.datasets[datasetIndex]._meta
        • DatasetController._getIndexScaleId
        • DatasetController._getIndexScale
        • DatasetController._getValueScaleId
        • DatasetController._getValueScale
        • Element._ctx
        • Element._model
        • Element._view
        • LogarithmicScale._valueOffset
        • TimeScale.getPixelForOffset
        • TimeScale.getLabelWidth
        • Tooltip._lastActive

        # Renamed

        The following properties were renamed during v3 development:

        • Chart.Animation.animationObject was renamed to Chart.Animation
        • Chart.Animation.chartInstance was renamed to Chart.Animation.chart
        • Chart.canvasHelpers was merged with Chart.helpers
        • Chart.elements.Arc was renamed to Chart.elements.ArcElement
        • Chart.elements.Line was renamed to Chart.elements.LineElement
        • Chart.elements.Point was renamed to Chart.elements.PointElement
        • Chart.elements.Rectangle was renamed to Chart.elements.BarElement
        • Chart.layoutService was renamed to Chart.layouts
        • Chart.pluginService was renamed to Chart.plugins
        • helpers.callCallback was renamed to helpers.callback
        • helpers.drawRoundedRectangle was renamed to helpers.roundedRect
        • helpers.getValueOrDefault was renamed to helpers.valueOrDefault
        • LayoutItem.fullWidth was renamed to LayoutItem.fullSize
        • Point.controlPointPreviousX was renamed to Point.cp1x
        • Point.controlPointPreviousY was renamed to Point.cp1y
        • Point.controlPointNextX was renamed to Point.cp2x
        • Point.controlPointNextY was renamed to Point.cp2y
        • Scale.calculateTickRotation was renamed to Scale.calculateLabelRotation
        • Tooltip.options.legendColorBackgroupd was renamed to Tooltip.options.multiKeyBackground

        # Renamed private APIs

        The private APIs listed below were renamed:

        • BarController.calculateBarIndexPixels was renamed to BarController._calculateBarIndexPixels
        • BarController.calculateBarValuePixels was renamed to BarController._calculateBarValuePixels
        • BarController.getStackCount was renamed to BarController._getStackCount
        • BarController.getStackIndex was renamed to BarController._getStackIndex
        • BarController.getRuler was renamed to BarController._getRuler
        • Chart.destroyDatasetMeta was renamed to Chart._destroyDatasetMeta
        • Chart.drawDataset was renamed to Chart._drawDataset
        • Chart.drawDatasets was renamed to Chart._drawDatasets
        • Chart.eventHandler was renamed to Chart._eventHandler
        • Chart.handleEvent was renamed to Chart._handleEvent
        • Chart.initialize was renamed to Chart._initialize
        • Chart.resetElements was renamed to Chart._resetElements
        • Chart.unbindEvents was renamed to Chart._unbindEvents
        • Chart.updateDataset was renamed to Chart._updateDataset
        • Chart.updateDatasets was renamed to Chart._updateDatasets
        • Chart.updateLayout was renamed to Chart._updateLayout
        • DatasetController.destroy was renamed to DatasetController._destroy
        • DatasetController.insertElements was renamed to DatasetController._insertElements
        • DatasetController.onDataPop was renamed to DatasetController._onDataPop
        • DatasetController.onDataPush was renamed to DatasetController._onDataPush
        • DatasetController.onDataShift was renamed to DatasetController._onDataShift
        • DatasetController.onDataSplice was renamed to DatasetController._onDataSplice
        • DatasetController.onDataUnshift was renamed to DatasetController._onDataUnshift
        • DatasetController.removeElements was renamed to DatasetController._removeElements
        • DatasetController.resyncElements was renamed to DatasetController._resyncElements
        • LayoutItem.isFullWidth was renamed to LayoutItem.isFullSize
        • RadialLinearScale.setReductions was renamed to RadialLinearScale._setReductions
        • RadialLinearScale.pointLabels was renamed to RadialLinearScale._pointLabels
        • Scale.handleMargins was renamed to Scale._handleMargins

        # Changed

        The APIs listed in this section have changed in signature or behaviour from version 2.

        # Changed in Scales

        • Scale.getLabelForIndex was replaced by scale.getLabelForValue
        • Scale.getPixelForValue now only requires one parameter. For the TimeScale that parameter must be millis since the epoch. As a performance optimization, it may take an optional second parameter, giving the index of the data point.
        # Changed in Ticks
        • Scale.afterBuildTicks now has no parameters like the other callbacks
        • Scale.buildTicks is now expected to return tick objects
        • Scale.convertTicksToLabels was renamed to generateTickLabels. It is now expected to set the label property on the ticks given as input
        • Scale.ticks now contains objects instead of strings
        • When the autoSkip option is enabled, Scale.ticks now contains only the non-skipped ticks instead of all ticks.
        • Ticks are now always generated in monotonically increasing order
        # Changed in Time Scale
        • getValueForPixel now returns milliseconds since the epoch

        # Changed in Controllers

        # Core Controller
        • The first parameter to updateHoverStyle is now an array of objects containing the element, datasetIndex, and index
        • The signature or resize changed, the first silent parameter was removed.
        # Dataset Controllers
        • updateElement was replaced with updateElements now taking the elements to update, the start index, count, and mode
        • setHoverStyle and removeHoverStyle now additionally take the datasetIndex and index

        # Changed in Interactions

        • Interaction mode methods now return an array of objects containing the element, datasetIndex, and index

        # Changed in Layout

        • ILayoutItem.update no longer has a return value

        # Changed in Helpers

        All helpers are now exposed in a flat hierarchy, e.g., Chart.helpers.canvas.clipArea -> Chart.helpers.clipArea

        # Canvas Helper
        • The second parameter to drawPoint is now the full options object, so style, rotation, and radius are no longer passed explicitly
        • helpers.getMaximumHeight was replaced by helpers.dom.getMaximumSize
        • helpers.getMaximumWidth was replaced by helpers.dom.getMaximumSize
        • helpers.clear was renamed to helpers.clearCanvas and now takes canvas and optionally ctx as parameter(s).
        • helpers.retinaScale accepts optional third parameter forceStyle, which forces overriding current canvas style. forceRatio no longer falls back to window.devicePixelRatio, instead it defaults to 1.

        # Changed in Platform

        • Chart.platform is no longer the platform object used by charts. Every chart instance now has a separate platform instance.
        • Chart.platforms is an object that contains two usable platform classes, BasicPlatform and DomPlatform. It also contains BasePlatform, a class that all platforms must extend from.
        • If the canvas passed in is an instance of OffscreenCanvas, the BasicPlatform is automatically used.
        • isAttached method was added to platform.

        # Changed in IPlugin interface

        • All plugin hooks have unified signature with 3 arguments: chart, args and options. This means change in signature for these hooks: beforeInit, afterInit, reset, beforeLayout, afterLayout, beforeRender, afterRender, beforeDraw, afterDraw, beforeDatasetsDraw, afterDatasetsDraw, beforeEvent, afterEvent, resize, destroy.
        • afterDatasetsUpdate, afterUpdate, beforeDatasetsUpdate, and beforeUpdate now receive args object as second argument. options argument is always the last and thus was moved from 2nd to 3rd place.
        • afterEvent and beforeEvent now receive a wrapped event as the event property of the second argument. The native event is available via args.event.native.
        • Initial resize is no longer silent. Meaning that resize event can fire between beforeInit and afterInit
        • New hooks: install, start, stop, and uninstall
        • afterEvent should notify about changes that need a render by setting args.changed to true. Because the args are shared with all plugins, it should only be set to true and not false.
        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/index.html b/scriptApl/chart.js/dist/docs/index.html new file mode 100644 index 00000000..c4325426 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/index.html @@ -0,0 +1,87 @@ + + + + + + Chart.js | Chart.js + + + + + + + +

        # Chart.js

        slack (opens new window)

        # Installation

        You can get the latest version of Chart.js from npm (opens new window), the GitHub releases (opens new window), or use a Chart.js CDN (opens new window). Detailed installation instructions can be found on the installation page.

        If you're using a front-end framework (e.g., React, Angular, or Vue), please check available integrations (opens new window).

        # Creating a Chart

        It's easy to get started with Chart.js. All that's required is the script included in your page along with a single <canvas> node to render the chart.

        In this example, we create a bar chart for a single dataset and render that in our page. You can see all the ways to use Chart.js in the usage documentation.

        <canvas id="myChart" width="400" height="400"></canvas>
        +<script>
        +const ctx = document.getElementById('myChart').getContext('2d');
        +const myChart = new Chart(ctx, {
        +    type: 'bar',
        +    data: {
        +        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        +        datasets: [{
        +            label: '# of Votes',
        +            data: [12, 19, 3, 5, 2, 3],
        +            backgroundColor: [
        +                'rgba(255, 99, 132, 0.2)',
        +                'rgba(54, 162, 235, 0.2)',
        +                'rgba(255, 206, 86, 0.2)',
        +                'rgba(75, 192, 192, 0.2)',
        +                'rgba(153, 102, 255, 0.2)',
        +                'rgba(255, 159, 64, 0.2)'
        +            ],
        +            borderColor: [
        +                'rgba(255, 99, 132, 1)',
        +                'rgba(54, 162, 235, 1)',
        +                'rgba(255, 206, 86, 1)',
        +                'rgba(75, 192, 192, 1)',
        +                'rgba(153, 102, 255, 1)',
        +                'rgba(255, 159, 64, 1)'
        +            ],
        +            borderWidth: 1
        +        }]
        +    },
        +    options: {
        +        scales: {
        +            y: {
        +                beginAtZero: true
        +            }
        +        }
        +    }
        +});
        +</script>
        +

        # Contributing

        Before submitting an issue or a pull request to the project, please take a moment to look over the contributing guidelines first.

        For support using Chart.js, please post questions with the chart.js tag on Stack Overflow (opens new window).

        # License

        Chart.js is available under the MIT license (opens new window).

        Documentation is copyright © 2014-2022 Chart.js contributors.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/logo.png b/scriptApl/chart.js/dist/docs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f6639e13e8c1e2e9b395d771c4a62b6f94995e37 GIT binary patch literal 4895 zcmai&c{tQx`^P`CF=LMjr5Qq&WS5c{dt~g{Wv$4PP@@=QY@uxk@%>69WzCi)O_>>F z&05(rLbfbp%NT>l@A>!l$8%lxIrnw$bFOpF`#OJ|>-A2yw!Fm4b({+T0A4dwBiqAF z{l5n1IP7i5133>9D9rYf0Z`s^V&QNA_0_k~2Y@OPH`@ya0D>K6M*3Ioxi9Ag1ftsR zw)K8>cegDtz53vpoUN?^O({k~&cOM}BPdKV`Z7^N3Dw*QQNbPy0c(g$Ur@A0Cf(H3 z=R)esM`JPR5BE;#^O(vnO7O*+!j8{eH$UydnUtmnmfU&x7Aa^uW4&GVO)Jb-@!3aG z)Yp}sm6zgr8$Ip93!mpO8yMf76(rNB2SO9IqlDng#-rcG)DtQ&Xo zPsKq6AT|&RZ@PF36hT$-3y1o4p`r**a+oBTAn{~+?;JZGuQm2>GU6X`;v^|mQ4NBS zkW?K;QC@&EDS8G;90&<%QRZ)Qw-#TefF=V*y}!ff<^`VJyyEFLbafn4HFsY}8f*ZD z>rYnC;tHOG=yR+z>iC8XZ{YJpI)xDpV%7u!q@W&98AXd3h{Yf4nd>qdggKRMX&3T8 zd0PHwB)kE)*J`Geke3)kLnSn@&yPqRqyTu&rn%jB3)8)e6=ZXpz|{E8x4I`mcl2TV zCSeY@o!|jhx9xGSRK+*1IG*j&Hyf2aUs4!5&D9{5qPWO`$bJI z5k5)}0eQ?kAHq}Y$KojRw#c6ySyy$?!mo{HK`l&P-NU*RK*I!2_-ZEin{)Og$TYuB zxdu$nDE;$tBjU8fm9v-ApT8bf-!ZpyO(^ICtNh-u7(-F=6uo&YjXL-rPT;PZf{g04 zMVV?Ua=)ECI}McbH(459Xpr3qWYFC0VEtDF8qbL-pmm{@7pw|KE)NL zzryjQoj+6=ILfpcO}G2I1!)W&f+TA(a{k9Hpe5tvZW zkn?%j5z8A;&w%XE2{{+nge|bjuZ@lLnp66z>yT0y5hrUN)OlYjlpqm)bw|eOCobp> zfZf4YYu{)O8>_VkCk2M9Fckgmdc=lGN_)e4);^s=YR+;xz^UoIh1ECMS$?G{PHEx= zN`TNZxAPgwb=0Z&6E#;0Wq`vwa5@K*E!_YaJOMqLzG31pRxTt&qd9at#CoC zfT|%_f{PbHl+%y~^7~SNB!mA~@UhU=n2=0F#Yc!9-|nceI(I+JmN!fL3^cNo{cg_P z(Wi;4WGL7@J#}bJcvyPuRoF>jdx0X(A$s5B!;4rj^NdcA72`ihO3j_|VJE1>N`Pu; z6#x&%0a@ef_M?zfou}t>M$bUD%rdqq3t&t2`l_rt(H3QK%<1zUH_i-4eOix7Gawq{ znB>OQUwJ1aq_+wiBfj5ZNb$|lTNYE%$EVxZ7yAi?A(k8m)hFtrn~!}(6yDh}R4#uI zU1tfs{UcoYgeymzmWT%P2uGkWlsw;vJJTs;V=JW&rp9N6J>VZuJI+Su&k)|*Tc|ZR z(<62ZrjyjyueW8~QV&(o-C;Z`71>fbqQXp&Q|`(|{Z>unYW3=f+8h4ju#$pOtARYe zD0OheoDuLKL3^Ed?}DHxTP^>M69jYM$6-vYGb8y-yED3ujtdNMb;Iiq+@2eyAVA+= zvI?b2z8*XG7*`+wO>$QOId9{yR#|?=_5aNkKM+oa~jp^{dCWP_R(G20lgako2wvZf}XWv1`#X950Xi zG}!Y;#Wd!sdY$*Q-)ff|*jCQ7=x=tS<$V3ji2os3=>l}mwjbd!(ZM3m)PJ;6X0k?3 z-?VR}Ym|8pa3v2t?Y>OU^=lB^;8`0LN-f2Pc+~>u<9Zh}Z>sS0C1w=9OwTb%FQ`}W zOK@p0z5^Ai+SxC^U3W%FH?_T72pIq)Cc206>*OaEOF;3}LrO$ihhEFarrOX)enme# zTm*GA3@sk?<~&2+x%9#F&CzNHK)zx>d;ZU;*6H(vPK%4B6wX;;aToXGn%D>Kd)HGQ z)rS+AcVR80?YMhepCx)O-d_EK;g4bV6y2LbeD_R82 zZk}hC?|+zT=KuZhpf%DZCRpGU6#2u2GCurjN+X!rxGHt4ObC#n+|1Cm@1yum?*(qR z@|1pmJ7T>jAr^?O{KZ0&RX3~s|3>U3&#igf)yhl`_AaG>AzFUMMRSWJg^T5Vp1oCUAE6*ZzXYDCM7LiRor$Lh)6>MSOt__{OImZ>< zyg)w4rCyw|+gQV!lC|XiT$(xmzB-R~^niNDq^}6|+mNLqe+f4ER2Lj^%e``u%XBvl zyFSLXf71aMx4ft3*y8w)ZTb z9N2I1*xin$lYZZ9t8mfuQ~v;&v}E+B9`vh+G@pJa{YfW(gihGXq><_pV-L`O-I8wz z1vIaX<`&UNlS+NF1wuQS+xud8!m2_9QdzAbh}`5;5k1y=k^MPZ)sjZxjl>Zn)bZ9V znh_%)%ksh4+SiFyg_AA(rA4mF=lW}h#KV=ExArc2l7Qp4@P%=rY=VN0F0~VZ-VF!8 zvzF{wtIKfzIX%|ODiThBn&&t-9S6Y$*4Rp-Y^hrL!MT5H9k1d*(*Mkeu8KI>GyuBK z3zl^n{q7SQtoW0bour7vq9s-w<$sx=Wh0Vs$J*X?Lj4#Q+>U1=}> zoM_DlG4}jkw1^9w8IHfP^g>XGunKpGYG-Y>{F^vk?HcYM*|O+M=K?4XGm4>O02%9;qVe>gkG=kECYP?f%-%2XC4BAtidgA+Gjhc+s75sMpJ;mevQkEjoi#nda6 zkn7KUkpayFkOG~>rL3&s@m>`=HjTxdg|A}8t%?=-2xIM;K;=Yk{3`wF=4j5Sl%VlG z`ln@a@@@wSsGK===`&r{0XmWWdSP?hHwzD!h{hb8{;aq9X~n(Cu}=37ZEfUh-4z zv>w=e%Q?XjVE}z^#4}1WZBt24wlTGRC8HTqfh^Vi>6!g9URd_~oOn(k7a&A`#nRWQ z=CeQYP+KMBN8!KG*Q(_KEFM)kyYnnaKVa&;od)vGqt{2OWr4DtvFFS>sn!`}xJb3` zjrNy7VDZkb-u*kxh$`0Z?Je2IDT*M^sQ~kCy7E1YlJ4V9V6ouXfo=&)R7%@XP>4=z zjYnVSJXR)yHhB}9i}v+0ZW#|!VJzP>DqWF~uWXSDu^ z&NDL(megDlruML|DLF;cRHYt*9lRMagFZ)esimZEfxI`;OImsj5OlsiAWE`Ho|* z1I^T>d(*t4tOYAt!(H=U0nHd1VXj%6kK%-=S^=LKWaWHIG`Tdi6<8*H8kkuhb$LTs zQBnn=F!K!}aUx1o#?D5BQ33C0HfE8^A8;2+y+6A?EhO~Xar26#v=TrnRZviWDyP^* zpWL_7*and!9g~4@n50hM$~cSJX6TCI!HXQ<;B0MEUMMy)vjEUP7N2O*ykbDyTW$vf zi>H@ZH2&}5l3FT^V9dJd5dX*d%UrlZR53R-ZapqgU}VKfkcl3I1H}$QZ{w$xtO=gt zZ}EhG50^L~sE`c^U(Y|4b?|V|IIkQ=#qbUplIeC^B#kv*A#wQY@?U=h2otNUqx7>x zt~74zR2!e9QQHj5`eZ*mAIZTvDFUQJl={kRS!Y7icdfBofjenQM))+%arg90EKhIL zaWr0%ffD6hTQ1Ay&v0gm<%uT!^{fnT|ACGSU!U0^ryc{{b0ari=n{2(Xsc;_#F|i< zadDS@>zXBiw&{BNn|^>cagVBH?0`5fj^_M##sPrW+Q-XQ_h!O53Z2uGWqvk#KErZT zU)yUcnz=$>-IA2EbxoMtsJf|Gy38%pkpNu8*4TU279G@6eyHy>UD<8gk0M(w{PQ(U z0d&vW^^3zra@^TH>uck4;Zm7kJvqz=5vFsXo#n%EF6!%|pdr8T{5pB{p$x>zOE*XO zAz$*>7(b>Zf2zOgGwBoSsx7*1s1X(zK58R+sHL=Aw^z%fubG;s*rYtR9@mcJgm@&0 z_(R^<8N>0UCIq0`@8D%lAkv<8Ea$+j+}rJ()#Vb9#7p1n{?v?}emHul#(KF#bLi^&1c0hlR{(35)fuR!H7WqbVtW$coVF)UxS)IMn-yOxC*si&a!}A0W zO@*mjrPLBW7T({^l21?%j>U989ZmmsXnKGS$@PPRb#`b(3Lxn%iGdqVjHRc=LOqj; zc49mp4!nJVlm?m)IdKI(lH+t}n;0Dm38zt&J+nh?Qvh#ie^*$>+37@R3J^0^eh9~^ zrT}8#ec)wXOo%BU&lns#msvk7d5rn}?F&9>Vmf0Tax?sG`V4B% VAqh#gJ2bffGh<7mas$uU{{X=bEdl@l literal 0 HcmV?d00001 diff --git a/scriptApl/chart.js/dist/docs/logo.svg b/scriptApl/chart.js/dist/docs/logo.svg new file mode 100644 index 00000000..69be2425 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/logo.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/data-decimation.html b/scriptApl/chart.js/dist/docs/samples/advanced/data-decimation.html new file mode 100644 index 00000000..374e3cbc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/data-decimation.html @@ -0,0 +1,227 @@ + + + + + + Data Decimation | Chart.js + + + + + + + +

        # Data Decimation

        This example shows how to use the built-in data decimation to reduce the number of points drawn on the graph for improved performance.

        const decimation = {
        +  enabled: false,
        +  algorithm: 'min-max',
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/derived-axis-type.html b/scriptApl/chart.js/dist/docs/samples/advanced/derived-axis-type.html new file mode 100644 index 00000000..a1631588 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/derived-axis-type.html @@ -0,0 +1,168 @@ + + + + + + Derived Axis Type | Chart.js + + + + + + + +

        # Derived Axis Type

        const config = {
        +  type: 'line',
        +  data,
        +  options: {
        +    responsive: true,
        +    scales: {
        +      x: {
        +        display: true,
        +      },
        +      y: {
        +        display: true,
        +        type: 'log2',
        +      }
        +    }
        +  }
        +};

        # Log2 axis implementation

        import {Scale, LinearScale} from 'chart.js';
        +export default class Log2Axis extends Scale {
        +  constructor(cfg) {
        +    super(cfg);
        +    this._startValue = undefined;
        +    this._valueRange = 0;
        +  }
        +  parse(raw, index) {
        +    const value = LinearScale.prototype.parse.apply(this, [raw, index]);
        +    return isFinite(value) && value > 0 ? value : null;
        +  }
        +  determineDataLimits() {
        +    const {min, max} = this.getMinMax(true);
        +    this.min = isFinite(min) ? Math.max(0, min) : null;
        +    this.max = isFinite(max) ? Math.max(0, max) : null;
        +  }
        +  buildTicks() {
        +    const ticks = [];
        +    let power = Math.floor(Math.log2(this.min || 1));
        +    let maxPower = Math.ceil(Math.log2(this.max || 2));
        +    while (power <= maxPower) {
        +      ticks.push({value: Math.pow(2, power)});
        +      power += 1;
        +    }
        +    this.min = ticks[0].value;
        +    this.max = ticks[ticks.length - 1].value;
        +    return ticks;
        +  }
        +  /**
        +   * @protected
        +   */
        +  configure() {
        +    const start = this.min;
        +    super.configure();
        +    this._startValue = Math.log2(start);
        +    this._valueRange = Math.log2(this.max) - Math.log2(start);
        +  }
        +  getPixelForValue(value) {
        +    if (value === undefined || value === 0) {
        +      value = this.min;
        +    }
        +    return this.getPixelForDecimal(value === this.min ? 0
        +      : (Math.log2(value) - this._startValue) / this._valueRange);
        +  }
        +  getValueForPixel(pixel) {
        +    const decimal = this.getDecimalForPixel(pixel);
        +    return Math.pow(2, this._startValue + decimal * this._valueRange);
        +  }
        +}
        +Log2Axis.id = 'log2';
        +Log2Axis.defaults = {};
        +// The derived axis is registered like this:
        +// Chart.register(Log2Axis);
        +

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/derived-chart-type.html b/scriptApl/chart.js/dist/docs/samples/advanced/derived-chart-type.html new file mode 100644 index 00000000..8b5b2472 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/derived-chart-type.html @@ -0,0 +1,136 @@ + + + + + + Derived Chart Type | Chart.js + + + + + + + +

        # Derived Chart Type

        const config = {
        +  type: 'derivedBubble',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Derived Chart Type'
        +      },
        +    }
        +  }
        +};

        # DerivedBubble Implementation

        import {Chart, BubbleController} from 'chart.js';
        +class Custom extends BubbleController {
        +  draw() {
        +    // Call bubble controller method to draw all the points
        +    super.draw(arguments);
        +    // Now we can do some custom drawing for this dataset.
        +    // Here we'll draw a box around the first point in each dataset,
        +    // using `boxStrokeStyle` dataset option for color
        +    var meta = this.getMeta();
        +    var pt0 = meta.data[0];
        +    const {x, y} = pt0.getProps(['x', 'y']);
        +    const {radius} = pt0.options;
        +    var ctx = this.chart.ctx;
        +    ctx.save();
        +    ctx.strokeStyle = this.options.boxStrokeStyle;
        +    ctx.lineWidth = 1;
        +    ctx.strokeRect(x - radius, y - radius, 2 * radius, 2 * radius);
        +    ctx.restore();
        +  }
        +}
        +Custom.id = 'derivedBubble';
        +Custom.defaults = {
        +  // Custom defaults. Bubble defaults are inherited.
        +  boxStrokeStyle: 'red'
        +};
        +// Overrides are only inherited, but not merged if defined
        +// Custom.overrides = Chart.overrides.bubble;
        +// Stores the controller so that the chart initialization routine can look it up
        +Chart.register(Custom);
        +

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/linear-gradient.html b/scriptApl/chart.js/dist/docs/samples/advanced/linear-gradient.html new file mode 100644 index 00000000..bd53957c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/linear-gradient.html @@ -0,0 +1,219 @@ + + + + + + Linear Gradient | Chart.js + + + + + + + +

        # Linear Gradient

        let width, height, gradient;
        +function getGradient(ctx, chartArea) {
        +  const chartWidth = chartArea.right - chartArea.left;
        +  const chartHeight = chartArea.bottom - chartArea.top;
        +  if (!gradient || width !== chartWidth || height !== chartHeight) {
        +    // Create the gradient because this is either the first render
        +    // or the size of the chart has changed
        +    width = chartWidth;
        +    height = chartHeight;
        +    gradient = ctx.createLinearGradient(0, chartArea.bottom, 0, chartArea.top);
        +    gradient.addColorStop(0, Utils.CHART_COLORS.blue);
        +    gradient.addColorStop(0.5, Utils.CHART_COLORS.yellow);
        +    gradient.addColorStop(1, Utils.CHART_COLORS.red);
        +  }
        +  return gradient;
        +}

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/programmatic-events.html b/scriptApl/chart.js/dist/docs/samples/advanced/programmatic-events.html new file mode 100644 index 00000000..723ae854 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/programmatic-events.html @@ -0,0 +1,209 @@ + + + + + + Programmatic Event Triggers | Chart.js + + + + + + + +

        # Programmatic Event Triggers

        function triggerHover(chart) {
        +  if (chart.getActiveElements().length > 0) {
        +    chart.setActiveElements([]);
        +  } else {
        +    chart.setActiveElements([
        +      {
        +        datasetIndex: 0,
        +        index: 0,
        +      }, {
        +        datasetIndex: 1,
        +        index: 0,
        +      }
        +    ]);
        +  }
        +  chart.update();
        +}

        # API

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/progress-bar.html b/scriptApl/chart.js/dist/docs/samples/advanced/progress-bar.html new file mode 100644 index 00000000..1b166380 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/progress-bar.html @@ -0,0 +1,277 @@ + + + + + + Animation Progress Bar | Chart.js + + + + + + + +

        # Animation Progress Bar

        # Initial animation

        # Other animations

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    animation: {
        +      duration: 2000,
        +      onProgress: function(context) {
        +        if (context.initial) {
        +          initProgress.value = context.currentStep / context.numSteps;
        +        } else {
        +          progress.value = context.currentStep / context.numSteps;
        +        }
        +      },
        +      onComplete: function(context) {
        +        if (context.initial) {
        +          console.log('Initial animation finished');
        +        } else {
        +          console.log('animation finished');
        +        }
        +      }
        +    },
        +    interaction: {
        +      mode: 'nearest',
        +      axis: 'x',
        +      intersect: false
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart - Animation Progress Bar'
        +      }
        +    },
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/advanced/radial-gradient.html b/scriptApl/chart.js/dist/docs/samples/advanced/radial-gradient.html new file mode 100644 index 00000000..08d72502 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/advanced/radial-gradient.html @@ -0,0 +1,233 @@ + + + + + + Radial Gradient | Chart.js + + + + + + + +

        # Radial Gradient

        function createRadialGradient3(context, c1, c2, c3) {
        +  const chartArea = context.chart.chartArea;
        +  if (!chartArea) {
        +    // This case happens on initial chart load
        +    return;
        +  }
        +  const chartWidth = chartArea.right - chartArea.left;
        +  const chartHeight = chartArea.bottom - chartArea.top;
        +  if (width !== chartWidth || height !== chartHeight) {
        +    cache.clear();
        +  }
        +  let gradient = cache.get(c1 + c2 + c3);
        +  if (!gradient) {
        +    // Create the gradient because this is either the first render
        +    // or the size of the chart has changed
        +    width = chartWidth;
        +    height = chartHeight;
        +    const centerX = (chartArea.left + chartArea.right) / 2;
        +    const centerY = (chartArea.top + chartArea.bottom) / 2;
        +    const r = Math.min(
        +      (chartArea.right - chartArea.left) / 2,
        +      (chartArea.bottom - chartArea.top) / 2
        +    );
        +    const ctx = context.chart.ctx;
        +    gradient = ctx.createRadialGradient(centerX, centerY, 0, centerX, centerY, r);
        +    gradient.addColorStop(0, c1);
        +    gradient.addColorStop(0.5, c2);
        +    gradient.addColorStop(1, c3);
        +    cache.set(c1 + c2 + c3, gradient);
        +  }
        +  return gradient;
        +}

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/animations/delay.html b/scriptApl/chart.js/dist/docs/samples/animations/delay.html new file mode 100644 index 00000000..f3cd0bb8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/animations/delay.html @@ -0,0 +1,175 @@ + + + + + + Delay | Chart.js + + + + + + + +

        # Delay

        let delayed;
        +const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    animation: {
        +      onComplete: () => {
        +        delayed = true;
        +      },
        +      delay: (context) => {
        +        let delay = 0;
        +        if (context.type === 'data' && context.mode === 'default' && !delayed) {
        +          delay = context.dataIndex * 300 + context.datasetIndex * 100;
        +        }
        +        return delay;
        +      },
        +    },
        +    scales: {
        +      x: {
        +        stacked: true,
        +      },
        +      y: {
        +        stacked: true
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/animations/drop.html b/scriptApl/chart.js/dist/docs/samples/animations/drop.html new file mode 100644 index 00000000..ae9afa4e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/animations/drop.html @@ -0,0 +1,259 @@ + + + + + + Drop | Chart.js + + + + + + + +

        # Drop

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    animations: {
        +      y: {
        +        easing: 'easeInOutElastic',
        +        from: (ctx) => {
        +          if (ctx.type === 'data') {
        +            if (ctx.mode === 'default' && !ctx.dropped) {
        +              ctx.dropped = true;
        +              return 0;
        +            }
        +          }
        +        }
        +      }
        +    },
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/animations/loop.html b/scriptApl/chart.js/dist/docs/samples/animations/loop.html new file mode 100644 index 00000000..d8d53e90 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/animations/loop.html @@ -0,0 +1,259 @@ + + + + + + Loop | Chart.js + + + + + + + +

        # Loop

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    animations: {
        +      radius: {
        +        duration: 400,
        +        easing: 'linear',
        +        loop: (context) => context.active
        +      }
        +    },
        +    hoverRadius: 12,
        +    hoverBackgroundColor: 'yellow',
        +    interaction: {
        +      mode: 'nearest',
        +      intersect: false,
        +      axis: 'x'
        +    },
        +    plugins: {
        +      tooltip: {
        +        enabled: false
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/animations/progressive-line-easing.html b/scriptApl/chart.js/dist/docs/samples/animations/progressive-line-easing.html new file mode 100644 index 00000000..085b1198 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/animations/progressive-line-easing.html @@ -0,0 +1,351 @@ + + + + + + Progressive Line With Easing | Chart.js + + + + + + + +

        # Progressive Line With Easing

        const config = {
        +  type: 'line',
        +  data: {
        +    datasets: [{
        +      borderColor: Utils.CHART_COLORS.red,
        +      borderWidth: 1,
        +      radius: 0,
        +      data: data,
        +    },
        +    {
        +      borderColor: Utils.CHART_COLORS.blue,
        +      borderWidth: 1,
        +      radius: 0,
        +      data: data2,
        +    }]
        +  },
        +  options: {
        +    animation,
        +    interaction: {
        +      intersect: false
        +    },
        +    plugins: {
        +      legend: false,
        +      title: {
        +        display: true,
        +        text: () => easing.name
        +      }
        +    },
        +    scales: {
        +      x: {
        +        type: 'linear'
        +      }
        +    }
        +  }
        +};

        # Api

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/animations/progressive-line.html b/scriptApl/chart.js/dist/docs/samples/animations/progressive-line.html new file mode 100644 index 00000000..cb6eb69f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/animations/progressive-line.html @@ -0,0 +1,197 @@ + + + + + + Progressive Line | Chart.js + + + + + + + +

        # Progressive Line

        const config = {
        +  type: 'line',
        +  data: {
        +    datasets: [{
        +      borderColor: Utils.CHART_COLORS.red,
        +      borderWidth: 1,
        +      radius: 0,
        +      data: data,
        +    },
        +    {
        +      borderColor: Utils.CHART_COLORS.blue,
        +      borderWidth: 1,
        +      radius: 0,
        +      data: data2,
        +    }]
        +  },
        +  options: {
        +    animation,
        +    interaction: {
        +      intersect: false
        +    },
        +    plugins: {
        +      legend: false
        +    },
        +    scales: {
        +      x: {
        +        type: 'linear'
        +      }
        +    }
        +  }
        +};

        # Api

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/area/line-boundaries.html b/scriptApl/chart.js/dist/docs/samples/area/line-boundaries.html new file mode 100644 index 00000000..f11b4adc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/area/line-boundaries.html @@ -0,0 +1,247 @@ + + + + + + Line Chart Boundaries | Chart.js + + + + + + + +

        # Line Chart Boundaries

        const data = {
        +  labels: generateLabels(),
        +  datasets: [
        +    {
        +      label: 'Dataset',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.red,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),
        +      fill: false
        +    }
        +  ]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/area/line-datasets.html b/scriptApl/chart.js/dist/docs/samples/area/line-datasets.html new file mode 100644 index 00000000..b0249d4b --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/area/line-datasets.html @@ -0,0 +1,333 @@ + + + + + + Line Chart Datasets | Chart.js + + + + + + + +

        # Line Chart Datasets

        const data = {
        +  labels: generateLabels(),
        +  datasets: [
        +    {
        +      label: 'D0',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.red,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),
        +      hidden: true
        +    },
        +    {
        +      label: 'D1',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.orange,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange),
        +      fill: '-1'
        +    },
        +    {
        +      label: 'D2',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.yellow,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.yellow),
        +      hidden: true,
        +      fill: 1
        +    },
        +    {
        +      label: 'D3',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.green,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.green),
        +      fill: '-1'
        +    },
        +    {
        +      label: 'D4',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.blue,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue),
        +      fill: '-1'
        +    },
        +    {
        +      label: 'D5',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.grey,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.grey),
        +      fill: '+2'
        +    },
        +    {
        +      label: 'D6',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.purple,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.purple),
        +      fill: false
        +    },
        +    {
        +      label: 'D7',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.red,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red),
        +      fill: 8
        +    },
        +    {
        +      label: 'D8',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.orange,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.orange),
        +      fill: 'end',
        +      hidden: true
        +    },
        +    {
        +      label: 'D9',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.yellow,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.yellow),
        +      fill: {above: 'blue', below: 'red', target: {value: 350}}
        +    }
        +  ]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/area/line-drawtime.html b/scriptApl/chart.js/dist/docs/samples/area/line-drawtime.html new file mode 100644 index 00000000..3c4da516 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/area/line-drawtime.html @@ -0,0 +1,237 @@ + + + + + + Line Chart drawTime | Chart.js + + + + + + + +

        # Line Chart drawTime

        const data = {
        +  labels: generateLabels(),
        +  datasets: [
        +    {
        +      label: 'Dataset 1',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.red,
        +      backgroundColor: Utils.CHART_COLORS.red,
        +      fill: true
        +    },
        +    {
        +      label: 'Dataset 2',
        +      data: generateData(),
        +      borderColor: Utils.CHART_COLORS.blue,
        +      backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue),
        +      fill: true
        +    }
        +  ]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/area/line-stacked.html b/scriptApl/chart.js/dist/docs/samples/area/line-stacked.html new file mode 100644 index 00000000..3884445e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/area/line-stacked.html @@ -0,0 +1,353 @@ + + + + + + Line Chart Stacked | Chart.js + + + + + + + +

        # Line Chart Stacked

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => 'Chart.js Line Chart - stacked=' + ctx.chart.options.scales.y.stacked
        +      },
        +      tooltip: {
        +        mode: 'index'
        +      },
        +    },
        +    interaction: {
        +      mode: 'nearest',
        +      axis: 'x',
        +      intersect: false
        +    },
        +    scales: {
        +      x: {
        +        title: {
        +          display: true,
        +          text: 'Month'
        +        }
        +      },
        +      y: {
        +        stacked: true,
        +        title: {
        +          display: true,
        +          text: 'Value'
        +        }
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/area/radar.html b/scriptApl/chart.js/dist/docs/samples/area/radar.html new file mode 100644 index 00000000..5c8c9404 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/area/radar.html @@ -0,0 +1,287 @@ + + + + + + Radar Chart Stacked | Chart.js + + + + + + + +

        # Radar Chart Stacked

        const config = {
        +  type: 'radar',
        +  data: data,
        +  options: {
        +    plugins: {
        +      filler: {
        +        propagate: false
        +      },
        +      'samples-filler-analyser': {
        +        target: 'chart-analyser'
        +      }
        +    },
        +    interaction: {
        +      intersect: false
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/border-radius.html b/scriptApl/chart.js/dist/docs/samples/bar/border-radius.html new file mode 100644 index 00000000..c53a07ba --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/border-radius.html @@ -0,0 +1,159 @@ + + + + + + Bar Chart Border Radius | Chart.js + + + + + + + +

        # Bar Chart Border Radius

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Bar Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/floating.html b/scriptApl/chart.js/dist/docs/samples/bar/floating.html new file mode 100644 index 00000000..55582cfe --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/floating.html @@ -0,0 +1,155 @@ + + + + + + Floating Bars | Chart.js + + + + + + + +

        # Floating Bars

        Using [number, number][] as the type for data to define the beginning and end value for each bar. This is instead of having every bar start at 0.

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Floating Bar Chart'
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/horizontal.html b/scriptApl/chart.js/dist/docs/samples/bar/horizontal.html new file mode 100644 index 00000000..c44d131a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/horizontal.html @@ -0,0 +1,255 @@ + + + + + + Horizontal Bar Chart | Chart.js + + + + + + + +

        # Horizontal Bar Chart

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    indexAxis: 'y',
        +    // Elements options apply to all of the options unless overridden in a dataset
        +    // In this case, we are setting the border of each horizontal bar to be 2px wide
        +    elements: {
        +      bar: {
        +        borderWidth: 2,
        +      }
        +    },
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'right',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Horizontal Bar Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/stacked-groups.html b/scriptApl/chart.js/dist/docs/samples/bar/stacked-groups.html new file mode 100644 index 00000000..c86ce224 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/stacked-groups.html @@ -0,0 +1,175 @@ + + + + + + Stacked Bar Chart with Groups | Chart.js + + + + + + + +

        # Stacked Bar Chart with Groups

        Using the stack property to divide datasets into multiple stacks.

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Bar Chart - Stacked'
        +      },
        +    },
        +    responsive: true,
        +    interaction: {
        +      intersect: false,
        +    },
        +    scales: {
        +      x: {
        +        stacked: true,
        +      },
        +      y: {
        +        stacked: true
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/stacked.html b/scriptApl/chart.js/dist/docs/samples/bar/stacked.html new file mode 100644 index 00000000..c670f34e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/stacked.html @@ -0,0 +1,163 @@ + + + + + + Stacked Bar Chart | Chart.js + + + + + + + +

        # Stacked Bar Chart

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Bar Chart - Stacked'
        +      },
        +    },
        +    responsive: true,
        +    scales: {
        +      x: {
        +        stacked: true,
        +      },
        +      y: {
        +        stacked: true
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/bar/vertical.html b/scriptApl/chart.js/dist/docs/samples/bar/vertical.html new file mode 100644 index 00000000..543261d0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/bar/vertical.html @@ -0,0 +1,239 @@ + + + + + + Vertical Bar Chart | Chart.js + + + + + + + +

        # Vertical Bar Chart

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Bar Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/index.html b/scriptApl/chart.js/dist/docs/samples/index.html new file mode 100644 index 00000000..3ea69d1c --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/scriptApl/chart.js/dist/docs/samples/information.html b/scriptApl/chart.js/dist/docs/samples/information.html new file mode 100644 index 00000000..d059e793 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/information.html @@ -0,0 +1,50 @@ + + + + + + Information | Chart.js + + + + + + + +

        # Information

        # Out of the box working samples

        These samples are made for demonstration purposes only. They won't work out of the box if you copy paste them into your own website. This is because of how the docs are getting built. Some boilerplate code gets hidden. +For a sample that can be copied and pasted and used directly you can check the usage page.

        # Autogenerated data

        The data used in the samples is autogenerated using custom functions. These functions do not ship with the library, for more information about this you can check the utils page.

        # Actions block

        The samples have an actions code block. These actions are not part of chart.js. They are internally transformed to separate buttons together with onClick listeners by a plugin we use in the documentation. To implement such actions yourself you can make some buttons and add onClick event listeners to them. Then in these event listeners you can call your variable in which you made the chart and do the logic that the button is supposed to do.

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/legend/events.html b/scriptApl/chart.js/dist/docs/samples/legend/events.html new file mode 100644 index 00000000..e32edac4 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/legend/events.html @@ -0,0 +1,123 @@ + + + + + + Events | Chart.js + + + + + + + +

        # Events

        This sample demonstrates how to use the event hooks to highlight chart elements.

        const config = {
        +  type: 'pie',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: {
        +        onHover: handleHover,
        +        onLeave: handleLeave
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/legend/html.html b/scriptApl/chart.js/dist/docs/samples/legend/html.html new file mode 100644 index 00000000..929c94e8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/legend/html.html @@ -0,0 +1,253 @@ + + + + + + HTML Legend | Chart.js + + + + + + + +

        # HTML Legend

        This example shows how to create a custom HTML legend using a plugin and connect it to the chart in lieu of the default on-canvas legend.

        const getOrCreateLegendList = (chart, id) => {
        +  const legendContainer = document.getElementById(id);
        +  let listContainer = legendContainer.querySelector('ul');
        +  if (!listContainer) {
        +    listContainer = document.createElement('ul');
        +    listContainer.style.display = 'flex';
        +    listContainer.style.flexDirection = 'row';
        +    listContainer.style.margin = 0;
        +    listContainer.style.padding = 0;
        +    legendContainer.appendChild(listContainer);
        +  }
        +  return listContainer;
        +};
        +const htmlLegendPlugin = {
        +  id: 'htmlLegend',
        +  afterUpdate(chart, args, options) {
        +    const ul = getOrCreateLegendList(chart, options.containerID);
        +    // Remove old legend items
        +    while (ul.firstChild) {
        +      ul.firstChild.remove();
        +    }
        +    // Reuse the built-in legendItems generator
        +    const items = chart.options.plugins.legend.labels.generateLabels(chart);
        +    items.forEach(item => {
        +      const li = document.createElement('li');
        +      li.style.alignItems = 'center';
        +      li.style.cursor = 'pointer';
        +      li.style.display = 'flex';
        +      li.style.flexDirection = 'row';
        +      li.style.marginLeft = '10px';
        +      li.onclick = () => {
        +        const {type} = chart.config;
        +        if (type === 'pie' || type === 'doughnut') {
        +          // Pie and doughnut charts only have a single dataset and visibility is per item
        +          chart.toggleDataVisibility(item.index);
        +        } else {
        +          chart.setDatasetVisibility(item.datasetIndex, !chart.isDatasetVisible(item.datasetIndex));
        +        }
        +        chart.update();
        +      };
        +      // Color box
        +      const boxSpan = document.createElement('span');
        +      boxSpan.style.background = item.fillStyle;
        +      boxSpan.style.borderColor = item.strokeStyle;
        +      boxSpan.style.borderWidth = item.lineWidth + 'px';
        +      boxSpan.style.display = 'inline-block';
        +      boxSpan.style.height = '20px';
        +      boxSpan.style.marginRight = '10px';
        +      boxSpan.style.width = '20px';
        +      // Text
        +      const textContainer = document.createElement('p');
        +      textContainer.style.color = item.fontColor;
        +      textContainer.style.margin = 0;
        +      textContainer.style.padding = 0;
        +      textContainer.style.textDecoration = item.hidden ? 'line-through' : '';
        +      const text = document.createTextNode(item.text);
        +      textContainer.appendChild(text);
        +      li.appendChild(boxSpan);
        +      li.appendChild(textContainer);
        +      ul.appendChild(li);
        +    });
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/legend/point-style.html b/scriptApl/chart.js/dist/docs/samples/legend/point-style.html new file mode 100644 index 00000000..79f230a5 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/legend/point-style.html @@ -0,0 +1,133 @@ + + + + + + Point Style | Chart.js + + + + + + + +

        # Point Style

        This sample show how to use the dataset point style in the legend instead of a rectangle to identify each dataset..

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: {
        +        labels: {
        +          usePointStyle: true,
        +        },
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/legend/position.html b/scriptApl/chart.js/dist/docs/samples/legend/position.html new file mode 100644 index 00000000..f7aac885 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/legend/position.html @@ -0,0 +1,149 @@ + + + + + + Position | Chart.js + + + + + + + +

        # Position

        This sample show how to change the position of the chart legend.

        const config = {
        +  type: 'line',
        +  data: data,
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/legend/title.html b/scriptApl/chart.js/dist/docs/samples/legend/title.html new file mode 100644 index 00000000..f36eda38 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/legend/title.html @@ -0,0 +1,161 @@ + + + + + + Alignment and Title Position | Chart.js + + + + + + + +

        # Alignment and Title Position

        This sample show how to configure the alignment and title position of the chart legend.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: {
        +        title: {
        +          display: true,
        +          text: 'Legend Title',
        +        }
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/interpolation.html b/scriptApl/chart.js/dist/docs/samples/line/interpolation.html new file mode 100644 index 00000000..837cf20f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/interpolation.html @@ -0,0 +1,179 @@ + + + + + + Interpolation Modes | Chart.js + + + + + + + +

        # Interpolation Modes

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart - Cubic interpolation mode'
        +      },
        +    },
        +    interaction: {
        +      intersect: false,
        +    },
        +    scales: {
        +      x: {
        +        display: true,
        +        title: {
        +          display: true
        +        }
        +      },
        +      y: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Value'
        +        },
        +        suggestedMin: -10,
        +        suggestedMax: 200
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/line.html b/scriptApl/chart.js/dist/docs/samples/line/line.html new file mode 100644 index 00000000..c654bd28 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/line.html @@ -0,0 +1,237 @@ + + + + + + Line Chart | Chart.js + + + + + + + +

        # Line Chart

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/multi-axis.html b/scriptApl/chart.js/dist/docs/samples/line/multi-axis.html new file mode 100644 index 00000000..7acae4be --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/multi-axis.html @@ -0,0 +1,187 @@ + + + + + + Multi Axis Line Chart | Chart.js + + + + + + + +

        # Multi Axis Line Chart

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    interaction: {
        +      mode: 'index',
        +      intersect: false,
        +    },
        +    stacked: false,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart - Multi Axis'
        +      }
        +    },
        +    scales: {
        +      y: {
        +        type: 'linear',
        +        display: true,
        +        position: 'left',
        +      },
        +      y1: {
        +        type: 'linear',
        +        display: true,
        +        position: 'right',
        +        // grid line settings
        +        grid: {
        +          drawOnChartArea: false, // only want the grid lines for one axis to show up
        +        },
        +      },
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/point-styling.html b/scriptApl/chart.js/dist/docs/samples/line/point-styling.html new file mode 100644 index 00000000..0bf9f1af --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/point-styling.html @@ -0,0 +1,291 @@ + + + + + + Point Styling | Chart.js + + + + + + + +

        # Point Styling

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/segments.html b/scriptApl/chart.js/dist/docs/samples/line/segments.html new file mode 100644 index 00000000..2067ef88 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/segments.html @@ -0,0 +1,105 @@ + + + + + + Line Segment Styling | Chart.js + + + + + + + +

        # Line Segment Styling

        Using helper functions to style each segment. Gaps in the data ('skipped') are set to dashed lines and segments with values going 'down' are set to a different color.

        const config = {
        +  type: 'line',
        +  data: {
        +    labels: Utils.months({count: 7}),
        +    datasets: [{
        +      label: 'My First Dataset',
        +      data: [65, 59, NaN, 48, 56, 57, 40],
        +      borderColor: 'rgb(75, 192, 192)',
        +      segment: {
        +        borderColor: ctx => skipped(ctx, 'rgb(0,0,0,0.2)') || down(ctx, 'rgb(192,75,75)'),
        +        borderDash: ctx => skipped(ctx, [6, 6]),
        +      },
        +      spanGaps: true
        +    }]
        +  },
        +  options: genericOptions
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/stepped.html b/scriptApl/chart.js/dist/docs/samples/line/stepped.html new file mode 100644 index 00000000..2bc8971e --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/stepped.html @@ -0,0 +1,205 @@ + + + + + + Stepped Line Charts | Chart.js + + + + + + + +

        # Stepped Line Charts

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    interaction: {
        +      intersect: false,
        +      axis: 'x'
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => 'Step ' + ctx.chart.data.datasets[0].stepped + ' Interpolation',
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/line/styling.html b/scriptApl/chart.js/dist/docs/samples/line/styling.html new file mode 100644 index 00000000..607421d0 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/line/styling.html @@ -0,0 +1,175 @@ + + + + + + Line Styling | Chart.js + + + + + + + +

        # Line Styling

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart'
        +      },
        +    },
        +    interaction: {
        +      mode: 'index',
        +      intersect: false
        +    },
        +    scales: {
        +      x: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Month'
        +        }
        +      },
        +      y: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Value'
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/bubble.html b/scriptApl/chart.js/dist/docs/samples/other-charts/bubble.html new file mode 100644 index 00000000..c91cd27f --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/bubble.html @@ -0,0 +1,235 @@ + + + + + + Bubble | Chart.js + + + + + + + +

        # Bubble

        const config = {
        +  type: 'bubble',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Bubble Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/combo-bar-line.html b/scriptApl/chart.js/dist/docs/samples/other-charts/combo-bar-line.html new file mode 100644 index 00000000..8961c692 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/combo-bar-line.html @@ -0,0 +1,245 @@ + + + + + + Combo bar/line | Chart.js + + + + + + + +

        # Combo bar/line

        const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Combined Line/Bar Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/doughnut.html b/scriptApl/chart.js/dist/docs/samples/other-charts/doughnut.html new file mode 100644 index 00000000..8f6d28da --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/doughnut.html @@ -0,0 +1,275 @@ + + + + + + Doughnut | Chart.js + + + + + + + +

        # Doughnut

        const config = {
        +  type: 'doughnut',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Doughnut Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/multi-series-pie.html b/scriptApl/chart.js/dist/docs/samples/other-charts/multi-series-pie.html new file mode 100644 index 00000000..78ffe3fb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/multi-series-pie.html @@ -0,0 +1,197 @@ + + + + + + Multi Series Pie | Chart.js + + + + + + + +

        # Multi Series Pie

        const config = {
        +  type: 'pie',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        labels: {
        +          generateLabels: function(chart) {
        +            // Get the default label list
        +            const original = Chart.overrides.pie.plugins.legend.labels.generateLabels;
        +            const labelsOriginal = original.call(this, chart);
        +            // Build an array of colors used in the datasets of the chart
        +            let datasetColors = chart.data.datasets.map(function(e) {
        +              return e.backgroundColor;
        +            });
        +            datasetColors = datasetColors.flat();
        +            // Modify the color and hide state of each label
        +            labelsOriginal.forEach(label => {
        +              // There are twice as many labels as there are datasets. This converts the label index into the corresponding dataset index
        +              label.datasetIndex = (label.index - label.index % 2) / 2;
        +              // The hidden state must match the dataset's hidden state
        +              label.hidden = !chart.isDatasetVisible(label.datasetIndex);
        +              // Change the color to match the dataset
        +              label.fillStyle = datasetColors[label.index];
        +            });
        +            return labelsOriginal;
        +          }
        +        },
        +        onClick: function(mouseEvent, legendItem, legend) {
        +          // toggle the visibility of the dataset from what it currently is
        +          legend.chart.getDatasetMeta(
        +            legendItem.datasetIndex
        +          ).hidden = legend.chart.isDatasetVisible(legendItem.datasetIndex);
        +          legend.chart.update();
        +        }
        +      },
        +      tooltip: {
        +        callbacks: {
        +          label: function(context) {
        +            const labelIndex = (context.datasetIndex * 2) + context.dataIndex;
        +            return context.chart.data.labels[labelIndex] + ': ' + context.formattedValue;
        +          }
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/pie.html b/scriptApl/chart.js/dist/docs/samples/other-charts/pie.html new file mode 100644 index 00000000..329ded05 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/pie.html @@ -0,0 +1,227 @@ + + + + + + Pie | Chart.js + + + + + + + +

        # Pie

        const config = {
        +  type: 'pie',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Pie Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area-center-labels.html b/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area-center-labels.html new file mode 100644 index 00000000..af94f0d9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area-center-labels.html @@ -0,0 +1,213 @@ + + + + + + Polar area centered point labels | Chart.js + + + + + + + +

        # Polar area centered point labels

        const config = {
        +  type: 'polarArea',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    scales: {
        +      r: {
        +        pointLabels: {
        +          display: true,
        +          centerPointLabels: true,
        +          font: {
        +            size: 18
        +          }
        +        }
        +      }
        +    },
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Polar Area Chart With Centered Point Labels'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area.html b/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area.html new file mode 100644 index 00000000..940b65cf --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/polar-area.html @@ -0,0 +1,191 @@ + + + + + + Polar area | Chart.js + + + + + + + +

        # Polar area

        const config = {
        +  type: 'polarArea',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Polar Area Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/radar-skip-points.html b/scriptApl/chart.js/dist/docs/samples/other-charts/radar-skip-points.html new file mode 100644 index 00000000..b6e0d2d2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/radar-skip-points.html @@ -0,0 +1,181 @@ + + + + + + Radar skip points | Chart.js + + + + + + + +

        # Radar skip points

        const config = {
        +  type: 'radar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Radar Skip Points Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/radar.html b/scriptApl/chart.js/dist/docs/samples/other-charts/radar.html new file mode 100644 index 00000000..849d66fc --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/radar.html @@ -0,0 +1,231 @@ + + + + + + Radar | Chart.js + + + + + + + +

        # Radar

        const config = {
        +  type: 'radar',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Radar Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/scatter-multi-axis.html b/scriptApl/chart.js/dist/docs/samples/other-charts/scatter-multi-axis.html new file mode 100644 index 00000000..fbc67827 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/scatter-multi-axis.html @@ -0,0 +1,279 @@ + + + + + + Scatter - Multi axis | Chart.js + + + + + + + +

        # Scatter - Multi axis

        const config = {
        +  type: 'scatter',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Scatter Multi Axis Chart'
        +      }
        +    },
        +    scales: {
        +      y: {
        +        type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
        +        position: 'left',
        +        ticks: {
        +          color: Utils.CHART_COLORS.red
        +        }
        +      },
        +      y2: {
        +        type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
        +        position: 'right',
        +        reverse: true,
        +        ticks: {
        +          color: Utils.CHART_COLORS.blue
        +        },
        +        grid: {
        +          drawOnChartArea: false // only want the grid lines for one axis to show up
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/scatter.html b/scriptApl/chart.js/dist/docs/samples/other-charts/scatter.html new file mode 100644 index 00000000..8c3bf675 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/scatter.html @@ -0,0 +1,235 @@ + + + + + + Scatter | Chart.js + + + + + + + +

        # Scatter

        const config = {
        +  type: 'scatter',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      legend: {
        +        position: 'top',
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Scatter Chart'
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/other-charts/stacked-bar-line.html b/scriptApl/chart.js/dist/docs/samples/other-charts/stacked-bar-line.html new file mode 100644 index 00000000..eab548f9 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/other-charts/stacked-bar-line.html @@ -0,0 +1,249 @@ + + + + + + Stacked bar/line | Chart.js + + + + + + + +

        # Stacked bar/line

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Stacked Line/Bar Chart'
        +      }
        +    },
        +    scales: {
        +      y: {
        +        stacked: true
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/plugins/chart-area-border.html b/scriptApl/chart.js/dist/docs/samples/plugins/chart-area-border.html new file mode 100644 index 00000000..e1517c58 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/plugins/chart-area-border.html @@ -0,0 +1,149 @@ + + + + + + Chart Area Border | Chart.js + + + + + + + +

        # Chart Area Border

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      chartAreaBorder: {
        +        borderColor: 'red',
        +        borderWidth: 2,
        +        borderDash: [5, 5],
        +        borderDashOffset: 2,
        +      }
        +    }
        +  },
        +  plugins: [chartAreaBorder]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/plugins/doughnut-empty-state.html b/scriptApl/chart.js/dist/docs/samples/plugins/doughnut-empty-state.html new file mode 100644 index 00000000..ea149fd2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/plugins/doughnut-empty-state.html @@ -0,0 +1,145 @@ + + + + + + Doughnut Empty State | Chart.js + + + + + + + +

        # Doughnut Empty State

        const config = {
        +  type: 'doughnut',
        +  data: data,
        +  options: {
        +    plugins: {
        +      emptyDoughnut: {
        +        color: 'rgba(255, 128, 0, 0.5)',
        +        width: 2,
        +        radiusDecrease: 20
        +      }
        +    }
        +  },
        +  plugins: [plugin]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/plugins/quadrants.html b/scriptApl/chart.js/dist/docs/samples/plugins/quadrants.html new file mode 100644 index 00000000..bd7f274a --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/plugins/quadrants.html @@ -0,0 +1,155 @@ + + + + + + Quadrants | Chart.js + + + + + + + +

        # Quadrants

        const config = {
        +  type: 'scatter',
        +  data: data,
        +  options: {
        +    plugins: {
        +      quadrants: {
        +        topLeft: Utils.CHART_COLORS.red,
        +        topRight: Utils.CHART_COLORS.blue,
        +        bottomRight: Utils.CHART_COLORS.green,
        +        bottomLeft: Utils.CHART_COLORS.yellow,
        +      }
        +    }
        +  },
        +  plugins: [quadrants]
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scale-options/center.html b/scriptApl/chart.js/dist/docs/samples/scale-options/center.html new file mode 100644 index 00000000..888f2838 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scale-options/center.html @@ -0,0 +1,191 @@ + + + + + + Center Positioning | Chart.js + + + + + + + +

        # Center Positioning

        This sample show how to place the axis in the center of the chart area, instead of at the edges.

        const config = {
        +  type: 'scatter',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Axis Center Positioning'
        +      }
        +    },
        +    scales: {
        +      x: {
        +        min: -100,
        +        max: 100,
        +      },
        +      y: {
        +        min: -100,
        +        max: 100,
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scale-options/grid.html b/scriptApl/chart.js/dist/docs/samples/scale-options/grid.html new file mode 100644 index 00000000..74a5ac75 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scale-options/grid.html @@ -0,0 +1,199 @@ + + + + + + Grid Configuration | Chart.js + + + + + + + +

        # Grid Configuration

        This sample shows how to use scriptable grid options for an axis to control styling. In this case, the Y axis grid lines are colored based on their value. In addition, booleans are provided to toggle different parts of the X axis grid visibility.

        // Change these settings to change the display for different parts of the X axis
        +// grid configuiration
        +const DISPLAY = true;
        +const BORDER = true;
        +const CHART_AREA = true;
        +const TICKS = true;
        +const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Grid Line Settings'
        +      }
        +    },
        +    scales: {
        +      x: {
        +        grid: {
        +          display: DISPLAY,
        +          drawBorder: BORDER,
        +          drawOnChartArea: CHART_AREA,
        +          drawTicks: TICKS,
        +        }
        +      },
        +      y: {
        +        grid: {
        +          drawBorder: false,
        +          color: function(context) {
        +            if (context.tick.value > 0) {
        +              return Utils.CHART_COLORS.green;
        +            } else if (context.tick.value < 0) {
        +              return Utils.CHART_COLORS.red;
        +            }
        +            return '#000000';
        +          },
        +        },
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scale-options/ticks.html b/scriptApl/chart.js/dist/docs/samples/scale-options/ticks.html new file mode 100644 index 00000000..21c1f09d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scale-options/ticks.html @@ -0,0 +1,191 @@ + + + + + + Tick Configuration | Chart.js + + + + + + + +

        # Tick Configuration

        This sample shows how to use different tick features to control how tick labels are shown on the X axis. These features include:

        • Multi-line labels
        • Filtering labels
        • Changing the tick color
        • Changing the tick alignment for the X axis
        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart with Tick Configuration'
        +      }
        +    },
        +    scales: {
        +      x: {
        +        ticks: {
        +          // For a category axis, the val is the index so the lookup via getLabelForValue is needed
        +          callback: function(val, index) {
        +            // Hide every 2nd tick label
        +            return index % 2 === 0 ? this.getLabelForValue(val) : '';
        +          },
        +          color: 'red',
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scale-options/titles.html b/scriptApl/chart.js/dist/docs/samples/scale-options/titles.html new file mode 100644 index 00000000..3bab8031 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scale-options/titles.html @@ -0,0 +1,173 @@ + + + + + + Title Configuration | Chart.js + + + + + + + +

        # Title Configuration

        This sample shows how to configure the title of an axis including alignment, font, and color.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    scales: {
        +      x: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Month',
        +          color: '#911',
        +          font: {
        +            family: 'Comic Sans MS',
        +            size: 20,
        +            weight: 'bold',
        +            lineHeight: 1.2,
        +          },
        +          padding: {top: 20, left: 0, right: 0, bottom: 0}
        +        }
        +      },
        +      y: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Value',
        +          color: '#191',
        +          font: {
        +            family: 'Times',
        +            size: 20,
        +            style: 'normal',
        +            lineHeight: 1.2
        +          },
        +          padding: {top: 30, left: 0, right: 0, bottom: 0}
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max-suggested.html b/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max-suggested.html new file mode 100644 index 00000000..b905ca57 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max-suggested.html @@ -0,0 +1,135 @@ + + + + + + Linear Scale - Suggested Min-Max | Chart.js + + + + + + + +

        # Linear Scale - Suggested Min-Max

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Suggested Min and Max Settings'
        +      }
        +    },
        +    scales: {
        +      y: {
        +        // the data minimum used for determining the ticks is Math.min(dataMin, suggestedMin)
        +        suggestedMin: 30,
        +        // the data maximum used for determining the ticks is Math.max(dataMax, suggestedMax)
        +        suggestedMax: 50,
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max.html b/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max.html new file mode 100644 index 00000000..5b7b7479 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/linear-min-max.html @@ -0,0 +1,131 @@ + + + + + + Linear Scale - Min-Max | Chart.js + + + + + + + +

        # Linear Scale - Min-Max

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Min and Max Settings'
        +      }
        +    },
        +    scales: {
        +      y: {
        +        min: 10,
        +        max: 50,
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/linear-step-size.html b/scriptApl/chart.js/dist/docs/samples/scales/linear-step-size.html new file mode 100644 index 00000000..6f28d952 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/linear-step-size.html @@ -0,0 +1,287 @@ + + + + + + Linear Scale - Step Size | Chart.js + + + + + + + +

        # Linear Scale - Step Size

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      tooltip: {
        +        mode: 'index',
        +        intersect: false
        +      },
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart'
        +      }
        +    },
        +    hover: {
        +      mode: 'index',
        +      intersec: false
        +    },
        +    scales: {
        +      x: {
        +        title: {
        +          display: true,
        +          text: 'Month'
        +        }
        +      },
        +      y: {
        +        title: {
        +          display: true,
        +          text: 'Value'
        +        },
        +        min: 0,
        +        max: 100,
        +        ticks: {
        +          // forces step size to be 50 units
        +          stepSize: 50
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/log.html b/scriptApl/chart.js/dist/docs/samples/scales/log.html new file mode 100644 index 00000000..7db2fd51 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/log.html @@ -0,0 +1,163 @@ + + + + + + Log Scale | Chart.js + + + + + + + +

        # Log Scale

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart - Logarithmic'
        +      }
        +    },
        +    scales: {
        +      x: {
        +        display: true,
        +      },
        +      y: {
        +        display: true,
        +        type: 'logarithmic',
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/stacked.html b/scriptApl/chart.js/dist/docs/samples/scales/stacked.html new file mode 100644 index 00000000..af71d4f2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/stacked.html @@ -0,0 +1,167 @@ + + + + + + Stacked Linear / Category | Chart.js + + + + + + + +

        # Stacked Linear / Category

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    responsive: true,
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Stacked scales',
        +      },
        +    },
        +    scales: {
        +      y: {
        +        type: 'linear',
        +        position: 'left',
        +        stack: 'demo',
        +        stackWeight: 2,
        +        grid: {
        +          borderColor: Utils.CHART_COLORS.red
        +        }
        +      },
        +      y2: {
        +        type: 'category',
        +        labels: ['ON', 'OFF'],
        +        offset: true,
        +        position: 'left',
        +        stack: 'demo',
        +        stackWeight: 1,
        +        grid: {
        +          borderColor: Utils.CHART_COLORS.blue
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/time-combo.html b/scriptApl/chart.js/dist/docs/samples/scales/time-combo.html new file mode 100644 index 00000000..620b80ab --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/time-combo.html @@ -0,0 +1,177 @@ + + + + + + Time Scale - Combo Chart | Chart.js + + + + + + + +

        # Time Scale - Combo Chart

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        text: 'Chart.js Combo Time Scale',
        +        display: true
        +      }
        +    },
        +    scales: {
        +      x: {
        +        type: 'time',
        +        display: true,
        +        offset: true,
        +        time: {
        +          unit: 'day'
        +        }
        +      },
        +    },
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/time-line.html b/scriptApl/chart.js/dist/docs/samples/scales/time-line.html new file mode 100644 index 00000000..6f623990 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/time-line.html @@ -0,0 +1,239 @@ + + + + + + Time Scale | Chart.js + + + + + + + +

        # Time Scale

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        text: 'Chart.js Time Scale',
        +        display: true
        +      }
        +    },
        +    scales: {
        +      x: {
        +        type: 'time',
        +        time: {
        +          // Luxon format string
        +          tooltipFormat: 'DD T'
        +        },
        +        title: {
        +          display: true,
        +          text: 'Date'
        +        }
        +      },
        +      y: {
        +        title: {
        +          display: true,
        +          text: 'value'
        +        }
        +      }
        +    },
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scales/time-max-span.html b/scriptApl/chart.js/dist/docs/samples/scales/time-max-span.html new file mode 100644 index 00000000..e7f5760d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scales/time-max-span.html @@ -0,0 +1,269 @@ + + + + + + Time Scale - Max Span | Chart.js + + + + + + + +

        # Time Scale - Max Span

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    spanGaps: 1000 * 60 * 60 * 24 * 2, // 2 days
        +    responsive: true,
        +    interaction: {
        +      mode: 'nearest',
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Time - spanGaps: 172800000 (2 days in ms)'
        +      },
        +    },
        +    scales: {
        +      x: {
        +        type: 'time',
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'Date'
        +        },
        +        ticks: {
        +          autoSkip: false,
        +          maxRotation: 0,
        +          major: {
        +            enabled: true
        +          },
        +          // color: function(context) {
        +          //   return context.tick && context.tick.major ? '#FF0000' : 'rgba(0,0,0,0.1)';
        +          // },
        +          font: function(context) {
        +            if (context.tick && context.tick.major) {
        +              return {
        +                weight: 'bold',
        +              };
        +            }
        +          }
        +        }
        +      },
        +      y: {
        +        display: true,
        +        title: {
        +          display: true,
        +          text: 'value'
        +        }
        +      }
        +    }
        +  },
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/bar.html b/scriptApl/chart.js/dist/docs/samples/scriptable/bar.html new file mode 100644 index 00000000..f2656f11 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/bar.html @@ -0,0 +1,157 @@ + + + + + + Bar Chart | Chart.js + + + + + + + +

        # Bar Chart

        Demo selecting bar color based on the bar's y value.

        function colorize(opaque) {
        +  return (ctx) => {
        +    const v = ctx.parsed.y;
        +    const c = v < -50 ? '#D60000'
        +      : v < 0 ? '#F46300'
        +      : v < 50 ? '#0358B6'
        +      : '#44DE28';
        +    return opaque ? c : Utils.transparentize(c, 1 - Math.abs(v / 150));
        +  };
        +}
        +const config = {
        +  type: 'bar',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: false,
        +    },
        +    elements: {
        +      bar: {
        +        backgroundColor: colorize(false),
        +        borderColor: colorize(true),
        +        borderWidth: 2
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/bubble.html b/scriptApl/chart.js/dist/docs/samples/scriptable/bubble.html new file mode 100644 index 00000000..154ac2d2 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/bubble.html @@ -0,0 +1,211 @@ + + + + + + Bubble Chart | Chart.js + + + + + + + +

        # Bubble Chart

        function channelValue(x, y, values) {
        +  return x < 0 && y < 0 ? values[0] : x < 0 ? values[1] : y < 0 ? values[2] : values[3];
        +}
        +function colorize(opaque, context) {
        +  const value = context.raw;
        +  const x = value.x / 100;
        +  const y = value.y / 100;
        +  const r = channelValue(x, y, [250, 150, 50, 0]);
        +  const g = channelValue(x, y, [0, 50, 150, 250]);
        +  const b = channelValue(x, y, [0, 150, 150, 250]);
        +  const a = opaque ? 1 : 0.5 * value.v / 1000;
        +  return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
        +}
        +const config = {
        +  type: 'bubble',
        +  data: data,
        +  options: {
        +    aspectRatio: 1,
        +    plugins: {
        +      legend: false,
        +      tooltip: false,
        +    },
        +    elements: {
        +      point: {
        +        backgroundColor: colorize.bind(null, false),
        +        borderColor: colorize.bind(null, true),
        +        borderWidth: function(context) {
        +          return Math.min(Math.max(1, context.datasetIndex + 1), 8);
        +        },
        +        hoverBackgroundColor: 'transparent',
        +        hoverBorderColor: function(context) {
        +          return Utils.color(context.datasetIndex);
        +        },
        +        hoverBorderWidth: function(context) {
        +          return Math.round(8 * context.raw.v / 1000);
        +        },
        +        radius: function(context) {
        +          const size = context.chart.width;
        +          const base = Math.abs(context.raw.v) / 1000;
        +          return (size / 24) * base;
        +        }
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/line.html b/scriptApl/chart.js/dist/docs/samples/scriptable/line.html new file mode 100644 index 00000000..70acc393 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/line.html @@ -0,0 +1,189 @@ + + + + + + Line Chart | Chart.js + + + + + + + +

        # Line Chart

        function getLineColor(ctx) {
        +  return Utils.color(ctx.datasetIndex);
        +}
        +function alternatePointStyles(ctx) {
        +  const index = ctx.dataIndex;
        +  return index % 2 === 0 ? 'circle' : 'rect';
        +}
        +function makeHalfAsOpaque(ctx) {
        +  return Utils.transparentize(getLineColor(ctx));
        +}
        +function adjustRadiusBasedOnData(ctx) {
        +  const v = ctx.parsed.y;
        +  return v < 10 ? 5
        +    : v < 25 ? 7
        +    : v < 50 ? 9
        +    : v < 75 ? 11
        +    : 15;
        +}
        +const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: false,
        +      tooltip: true,
        +    },
        +    elements: {
        +      line: {
        +        fill: false,
        +        backgroundColor: getLineColor,
        +        borderColor: getLineColor,
        +      },
        +      point: {
        +        backgroundColor: getLineColor,
        +        hoverBackgroundColor: makeHalfAsOpaque,
        +        radius: adjustRadiusBasedOnData,
        +        pointStyle: alternatePointStyles,
        +        hoverRadius: 15,
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/pie.html b/scriptApl/chart.js/dist/docs/samples/scriptable/pie.html new file mode 100644 index 00000000..3d10c889 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/pie.html @@ -0,0 +1,181 @@ + + + + + + Pie Chart | Chart.js + + + + + + + +

        # Pie Chart

        function colorize(opaque, hover, ctx) {
        +  const v = ctx.parsed;
        +  const c = v < -50 ? '#D60000'
        +    : v < 0 ? '#F46300'
        +    : v < 50 ? '#0358B6'
        +    : '#44DE28';
        +  const opacity = hover ? 1 - Math.abs(v / 150) - 0.2 : 1 - Math.abs(v / 150);
        +  return opaque ? c : Utils.transparentize(c, opacity);
        +}
        +function hoverColorize(ctx) {
        +  return colorize(false, true, ctx);
        +}
        +const config = {
        +  type: 'pie',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: false,
        +      tooltip: false,
        +    },
        +    elements: {
        +      arc: {
        +        backgroundColor: colorize.bind(null, false, false),
        +        hoverBackgroundColor: hoverColorize
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/polar.html b/scriptApl/chart.js/dist/docs/samples/scriptable/polar.html new file mode 100644 index 00000000..08d5a268 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/polar.html @@ -0,0 +1,161 @@ + + + + + + Polar Area Chart | Chart.js + + + + + + + +

        # Polar Area Chart

        function colorize(opaque, hover, ctx) {
        +  const v = ctx.raw;
        +  const c = v < 35 ? '#D60000'
        +    : v < 55 ? '#F46300'
        +    : v < 75 ? '#0358B6'
        +    : '#44DE28';
        +  const opacity = hover ? 1 - Math.abs(v / 150) - 0.2 : 1 - Math.abs(v / 150);
        +  return opaque ? c : Utils.transparentize(c, opacity);
        +}
        +function hoverColorize(ctx) {
        +  return colorize(false, true, ctx);
        +}
        +const config = {
        +  type: 'polarArea',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: false,
        +      tooltip: false,
        +    },
        +    elements: {
        +      arc: {
        +        backgroundColor: colorize.bind(null, false, false),
        +        hoverBackgroundColor: hoverColorize
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/scriptable/radar.html b/scriptApl/chart.js/dist/docs/samples/scriptable/radar.html new file mode 100644 index 00000000..0045c57d --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/scriptable/radar.html @@ -0,0 +1,193 @@ + + + + + + Radar Chart | Chart.js + + + + + + + +

        # Radar Chart

        function getLineColor(ctx) {
        +  return Utils.color(ctx.datasetIndex);
        +}
        +function alternatePointStyles(ctx) {
        +  const index = ctx.dataIndex;
        +  return index % 2 === 0 ? 'circle' : 'rect';
        +}
        +function makeHalfAsOpaque(ctx) {
        +  return Utils.transparentize(getLineColor(ctx));
        +}
        +function make20PercentOpaque(ctx) {
        +  return Utils.transparentize(getLineColor(ctx), 0.8);
        +}
        +function adjustRadiusBasedOnData(ctx) {
        +  const v = ctx.parsed.y;
        +  return v < 10 ? 5
        +    : v < 25 ? 7
        +    : v < 50 ? 9
        +    : v < 75 ? 11
        +    : 15;
        +}
        +const config = {
        +  type: 'radar',
        +  data: data,
        +  options: {
        +    plugins: {
        +      legend: false,
        +      tooltip: false,
        +    },
        +    elements: {
        +      line: {
        +        backgroundColor: make20PercentOpaque,
        +        borderColor: getLineColor,
        +      },
        +      point: {
        +        backgroundColor: getLineColor,
        +        hoverBackgroundColor: makeHalfAsOpaque,
        +        radius: adjustRadiusBasedOnData,
        +        pointStyle: alternatePointStyles,
        +        hoverRadius: 15,
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/subtitle/basic.html b/scriptApl/chart.js/dist/docs/samples/subtitle/basic.html new file mode 100644 index 00000000..f92d88a8 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/subtitle/basic.html @@ -0,0 +1,133 @@ + + + + + + Basic | Chart.js + + + + + + + +

        # Basic

        This sample shows basic usage of subtitle.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart Title',
        +      },
        +      subtitle: {
        +        display: true,
        +        text: 'Chart Subtitle',
        +        color: 'blue',
        +        font: {
        +          size: 12,
        +          family: 'tahoma',
        +          weight: 'normal',
        +          style: 'italic'
        +        },
        +        padding: {
        +          bottom: 10
        +        }
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/title/alignment.html b/scriptApl/chart.js/dist/docs/samples/title/alignment.html new file mode 100644 index 00000000..8d910c19 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/title/alignment.html @@ -0,0 +1,151 @@ + + + + + + Alignment | Chart.js + + + + + + + +

        # Alignment

        This sample show how to configure the alignment of the chart title

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart Title',
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/tooltip/content.html b/scriptApl/chart.js/dist/docs/samples/tooltip/content.html new file mode 100644 index 00000000..b4dcde95 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/tooltip/content.html @@ -0,0 +1,143 @@ + + + + + + Custom Tooltip Content | Chart.js + + + + + + + +

        # Custom Tooltip Content

        This sample shows how to use the tooltip callbacks to add additional content to the tooltip.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    interaction: {
        +      intersect: false,
        +      mode: 'index',
        +    },
        +    plugins: {
        +      tooltip: {
        +        callbacks: {
        +          footer: footer,
        +        }
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/tooltip/html.html b/scriptApl/chart.js/dist/docs/samples/tooltip/html.html new file mode 100644 index 00000000..b50f4044 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/tooltip/html.html @@ -0,0 +1,301 @@ + + + + + + External HTML Tooltip | Chart.js + + + + + + + +

        # External HTML Tooltip

        This sample shows how to use the external tooltip functionality to generate an HTML tooltip.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    interaction: {
        +      mode: 'index',
        +      intersect: false,
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: 'Chart.js Line Chart - External Tooltips'
        +      },
        +      tooltip: {
        +        enabled: false,
        +        position: 'nearest',
        +        external: externalTooltipHandler
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/tooltip/interactions.html b/scriptApl/chart.js/dist/docs/samples/tooltip/interactions.html new file mode 100644 index 00000000..296199c1 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/tooltip/interactions.html @@ -0,0 +1,275 @@ + + + + + + Interaction Modes | Chart.js + + + + + + + +

        # Interaction Modes

        This sample shows how to use the tooltip position mode setting.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    interaction: {
        +      intersect: false,
        +      mode: 'index',
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => {
        +          const {axis = 'xy', intersect, mode} = ctx.chart.options.interaction;
        +          return 'Mode: ' + mode + ', axis: ' + axis + ', intersect: ' + intersect;
        +        }
        +      },
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/tooltip/point-style.html b/scriptApl/chart.js/dist/docs/samples/tooltip/point-style.html new file mode 100644 index 00000000..ad29efbb --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/tooltip/point-style.html @@ -0,0 +1,175 @@ + + + + + + Point Style | Chart.js + + + + + + + +

        # Point Style

        This sample shows how to use the dataset point style in the tooltip instead of a rectangle to identify each dataset.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    interaction: {
        +      mode: 'index',
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => 'Tooltip point style: ' + ctx.chart.options.plugins.tooltip.usePointStyle,
        +      },
        +      tooltip: {
        +        usePointStyle: true,
        +      }
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/tooltip/position.html b/scriptApl/chart.js/dist/docs/samples/tooltip/position.html new file mode 100644 index 00000000..48972ca7 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/tooltip/position.html @@ -0,0 +1,203 @@ + + + + + + Position | Chart.js + + + + + + + +

        # Position

        This sample shows how to use the tooltip position mode setting.

        const config = {
        +  type: 'line',
        +  data: data,
        +  options: {
        +    interaction: {
        +      intersect: false,
        +      mode: 'index',
        +    },
        +    plugins: {
        +      title: {
        +        display: true,
        +        text: (ctx) => 'Tooltip position mode: ' + ctx.chart.options.plugins.tooltip.position,
        +      },
        +    }
        +  }
        +};

        # Docs

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/docs/samples/utils.html b/scriptApl/chart.js/dist/docs/samples/utils.html new file mode 100644 index 00000000..6d35d291 --- /dev/null +++ b/scriptApl/chart.js/dist/docs/samples/utils.html @@ -0,0 +1,190 @@ + + + + + + Utils | Chart.js + + + + + + + +

        # Utils

        # Disclaimer

        The Utils file contains multiple helper functions that the chart.js sample pages use to generate charts. +These functions are subject to change, including but not limited to breaking changes without prior notice.

        Because of this please don't rely on this file in production environments.

        # Functions

        import colorLib from '@kurkle/color';
        +import {DateTime} from 'luxon';
        +import 'chartjs-adapter-luxon';
        +import {valueOrDefault} from '../../dist/helpers.mjs';
        +// Adapted from http://indiegamr.com/generate-repeatable-random-numbers-in-js/
        +var _seed = Date.now();
        +export function srand(seed) {
        +  _seed = seed;
        +}
        +export function rand(min, max) {
        +  min = valueOrDefault(min, 0);
        +  max = valueOrDefault(max, 0);
        +  _seed = (_seed * 9301 + 49297) % 233280;
        +  return min + (_seed / 233280) * (max - min);
        +}
        +export function numbers(config) {
        +  var cfg = config || {};
        +  var min = valueOrDefault(cfg.min, 0);
        +  var max = valueOrDefault(cfg.max, 100);
        +  var from = valueOrDefault(cfg.from, []);
        +  var count = valueOrDefault(cfg.count, 8);
        +  var decimals = valueOrDefault(cfg.decimals, 8);
        +  var continuity = valueOrDefault(cfg.continuity, 1);
        +  var dfactor = Math.pow(10, decimals) || 0;
        +  var data = [];
        +  var i, value;
        +  for (i = 0; i < count; ++i) {
        +    value = (from[i] || 0) + this.rand(min, max);
        +    if (this.rand() <= continuity) {
        +      data.push(Math.round(dfactor * value) / dfactor);
        +    } else {
        +      data.push(null);
        +    }
        +  }
        +  return data;
        +}
        +export function points(config) {
        +  const xs = this.numbers(config);
        +  const ys = this.numbers(config);
        +  return xs.map((x, i) => ({x, y: ys[i]}));
        +}
        +export function bubbles(config) {
        +  return this.points(config).map(pt => {
        +    pt.r = this.rand(config.rmin, config.rmax);
        +    return pt;
        +  });
        +}
        +export function labels(config) {
        +  var cfg = config || {};
        +  var min = cfg.min || 0;
        +  var max = cfg.max || 100;
        +  var count = cfg.count || 8;
        +  var step = (max - min) / count;
        +  var decimals = cfg.decimals || 8;
        +  var dfactor = Math.pow(10, decimals) || 0;
        +  var prefix = cfg.prefix || '';
        +  var values = [];
        +  var i;
        +  for (i = min; i < max; i += step) {
        +    values.push(prefix + Math.round(dfactor * i) / dfactor);
        +  }
        +  return values;
        +}
        +const MONTHS = [
        +  'January',
        +  'February',
        +  'March',
        +  'April',
        +  'May',
        +  'June',
        +  'July',
        +  'August',
        +  'September',
        +  'October',
        +  'November',
        +  'December'
        +];
        +export function months(config) {
        +  var cfg = config || {};
        +  var count = cfg.count || 12;
        +  var section = cfg.section;
        +  var values = [];
        +  var i, value;
        +  for (i = 0; i < count; ++i) {
        +    value = MONTHS[Math.ceil(i) % 12];
        +    values.push(value.substring(0, section));
        +  }
        +  return values;
        +}
        +const COLORS = [
        +  '#4dc9f6',
        +  '#f67019',
        +  '#f53794',
        +  '#537bc4',
        +  '#acc236',
        +  '#166a8f',
        +  '#00a950',
        +  '#58595b',
        +  '#8549ba'
        +];
        +export function color(index) {
        +  return COLORS[index % COLORS.length];
        +}
        +export function transparentize(value, opacity) {
        +  var alpha = opacity === undefined ? 0.5 : 1 - opacity;
        +  return colorLib(value).alpha(alpha).rgbString();
        +}
        +export const CHART_COLORS = {
        +  red: 'rgb(255, 99, 132)',
        +  orange: 'rgb(255, 159, 64)',
        +  yellow: 'rgb(255, 205, 86)',
        +  green: 'rgb(75, 192, 192)',
        +  blue: 'rgb(54, 162, 235)',
        +  purple: 'rgb(153, 102, 255)',
        +  grey: 'rgb(201, 203, 207)'
        +};
        +const NAMED_COLORS = [
        +  CHART_COLORS.red,
        +  CHART_COLORS.orange,
        +  CHART_COLORS.yellow,
        +  CHART_COLORS.green,
        +  CHART_COLORS.blue,
        +  CHART_COLORS.purple,
        +  CHART_COLORS.grey,
        +];
        +export function namedColor(index) {
        +  return NAMED_COLORS[index % NAMED_COLORS.length];
        +}
        +export function newDate(days) {
        +  return DateTime.now().plus({days}).toJSDate();
        +}
        +export function newDateString(days) {
        +  return DateTime.now().plus({days}).toISO();
        +}
        +export function parseISODate(str) {
        +  return DateTime.fromISO(str);
        +}
        +

        File on github (opens new window)

        # Components

        Some of the samples make reference to a components object. This is an artifact of using a module bundler to build the samples. The creation of that components object is shown below. If chart.js is included as a browser script, these items are accessible via the Chart object, i.e Chart.Tooltip.

        // Add Chart components needed in samples here.
        +// Usable through `components[name]`.
        +export {Tooltip} from '../../dist/chart.mjs';
        +

        File on github (opens new window)

        Last Updated: 8/3/2022, 12:46:38 PM
        + + + diff --git a/scriptApl/chart.js/dist/helpers.esm.js b/scriptApl/chart.js/dist/helpers.esm.js new file mode 100644 index 00000000..508bc93f --- /dev/null +++ b/scriptApl/chart.js/dist/helpers.esm.js @@ -0,0 +1,7 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +export { H as HALF_PI, b1 as INFINITY, P as PI, b0 as PITAU, b3 as QUARTER_PI, b2 as RAD_PER_DEG, T as TAU, b4 as TWO_THIRDS_PI, D as _addGrace, J as _alignPixel, S as _alignStartEnd, p as _angleBetween, b5 as _angleDiff, _ as _arrayUnique, a9 as _attachContext, at as _bezierCurveTo, aq as _bezierInterpolation, ay as _boundSegment, ao as _boundSegments, W as _capitalize, an as _computeSegments, aa as _createResolver, aL as _decimalPlaces, aU as _deprecated, ab as _descriptors, ai as _elementsEqual, A as _factorize, aN as _filterBetween, a2 as _getParentNode, q as _getStartAndCountOfVisiblePoints, I as _int16Range, ak as _isBetween, aj as _isClickEvent, a6 as _isDomSupported, $ as _isPointInArea, E as _limitValue, aM as _longestText, aO as _lookup, Z as _lookupByKey, G as _measureText, aS as _merger, aT as _mergerIf, az as _normalizeAngle, y as _parseObjectDataRadialScale, ar as _pointInLine, al as _readValueToProps, Y as _rlookupByKey, w as _scaleRangesChanged, aH as _setMinAndMaxByKey, aV as _splitKey, ap as _steppedInterpolation, as as _steppedLineTo, aC as _textX, R as _toLeftRightCenter, am as _updateBezierControlPoints, av as addRoundedRectPath, aK as almostEquals, aJ as almostWhole, C as callback, ag as clearCanvas, L as clipArea, aR as clone, c as color, h as createContext, ae as debounce, j as defined, aG as distanceBetweenPoints, au as drawPoint, aE as drawPointLegend, Q as each, e as easingEffects, B as finiteOrDefault, a_ as fontString, o as formatNumber, a0 as getAngleFromPoint, aQ as getHoverColor, a1 as getMaximumSize, X as getRelativePosition, aA as getRtlAdapter, aZ as getStyle, b as isArray, g as isFinite, a8 as isFunction, k as isNullOrUndef, x as isNumber, i as isObject, aP as isPatternOrGradient, l as listenArrayEvents, z as log10, V as merge, ac as mergeIf, aI as niceNum, aF as noop, aB as overrideTextDirection, a3 as readUsedSize, M as renderText, r as requestAnimFrame, a as resolve, f as resolveObjectKey, aD as restoreTextDirection, af as retinaScale, ah as setsEqual, s as sign, aX as splineCurve, aY as splineCurveMonotone, a5 as supportsEventListenerOptions, a4 as throttled, F as toDegrees, n as toDimension, O as toFont, aW as toFontString, a$ as toLineHeight, K as toPadding, m as toPercentage, t as toRadians, aw as toTRBL, ax as toTRBLCorners, ad as uid, N as unclipArea, u as unlistenArrayEvents, v as valueOrDefault } from './chunks/helpers.segment.js'; diff --git a/scriptApl/chart.js/dist/helpers.mjs b/scriptApl/chart.js/dist/helpers.mjs new file mode 100644 index 00000000..5eef9a0b --- /dev/null +++ b/scriptApl/chart.js/dist/helpers.mjs @@ -0,0 +1,7 @@ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ +export { H as HALF_PI, b1 as INFINITY, P as PI, b0 as PITAU, b3 as QUARTER_PI, b2 as RAD_PER_DEG, T as TAU, b4 as TWO_THIRDS_PI, D as _addGrace, J as _alignPixel, S as _alignStartEnd, p as _angleBetween, b5 as _angleDiff, _ as _arrayUnique, a9 as _attachContext, at as _bezierCurveTo, aq as _bezierInterpolation, ay as _boundSegment, ao as _boundSegments, W as _capitalize, an as _computeSegments, aa as _createResolver, aL as _decimalPlaces, aU as _deprecated, ab as _descriptors, ai as _elementsEqual, A as _factorize, aN as _filterBetween, a2 as _getParentNode, q as _getStartAndCountOfVisiblePoints, I as _int16Range, ak as _isBetween, aj as _isClickEvent, a6 as _isDomSupported, $ as _isPointInArea, E as _limitValue, aM as _longestText, aO as _lookup, Z as _lookupByKey, G as _measureText, aS as _merger, aT as _mergerIf, az as _normalizeAngle, y as _parseObjectDataRadialScale, ar as _pointInLine, al as _readValueToProps, Y as _rlookupByKey, w as _scaleRangesChanged, aH as _setMinAndMaxByKey, aV as _splitKey, ap as _steppedInterpolation, as as _steppedLineTo, aC as _textX, R as _toLeftRightCenter, am as _updateBezierControlPoints, av as addRoundedRectPath, aK as almostEquals, aJ as almostWhole, C as callback, ag as clearCanvas, L as clipArea, aR as clone, c as color, h as createContext, ae as debounce, j as defined, aG as distanceBetweenPoints, au as drawPoint, aE as drawPointLegend, Q as each, e as easingEffects, B as finiteOrDefault, a_ as fontString, o as formatNumber, a0 as getAngleFromPoint, aQ as getHoverColor, a1 as getMaximumSize, X as getRelativePosition, aA as getRtlAdapter, aZ as getStyle, b as isArray, g as isFinite, a8 as isFunction, k as isNullOrUndef, x as isNumber, i as isObject, aP as isPatternOrGradient, l as listenArrayEvents, z as log10, V as merge, ac as mergeIf, aI as niceNum, aF as noop, aB as overrideTextDirection, a3 as readUsedSize, M as renderText, r as requestAnimFrame, a as resolve, f as resolveObjectKey, aD as restoreTextDirection, af as retinaScale, ah as setsEqual, s as sign, aX as splineCurve, aY as splineCurveMonotone, a5 as supportsEventListenerOptions, a4 as throttled, F as toDegrees, n as toDimension, O as toFont, aW as toFontString, a$ as toLineHeight, K as toPadding, m as toPercentage, t as toRadians, aw as toTRBL, ax as toTRBLCorners, ad as uid, N as unclipArea, u as unlistenArrayEvents, v as valueOrDefault } from './chunks/helpers.segment.mjs'; diff --git a/scriptApl/chart.js/helpers/helpers.js b/scriptApl/chart.js/helpers/helpers.js new file mode 100644 index 00000000..a762f589 --- /dev/null +++ b/scriptApl/chart.js/helpers/helpers.js @@ -0,0 +1 @@ +module.exports = require('..').helpers; diff --git a/scriptApl/chart.js/helpers/helpers.mjs b/scriptApl/chart.js/helpers/helpers.mjs new file mode 100644 index 00000000..f5eeb074 --- /dev/null +++ b/scriptApl/chart.js/helpers/helpers.mjs @@ -0,0 +1 @@ +export * from '../dist/helpers.mjs'; diff --git a/scriptApl/chart.js/helpers/helpers.mts b/scriptApl/chart.js/helpers/helpers.mts new file mode 100644 index 00000000..2c3468e7 --- /dev/null +++ b/scriptApl/chart.js/helpers/helpers.mts @@ -0,0 +1 @@ +export * from '../types/helpers'; diff --git a/scriptApl/chart.js/helpers/package.json b/scriptApl/chart.js/helpers/package.json new file mode 100644 index 00000000..668b05e7 --- /dev/null +++ b/scriptApl/chart.js/helpers/package.json @@ -0,0 +1,8 @@ +{ + "name": "chart.js-helpers", + "private": true, + "description": "helper package", + "main": "helpers.js", + "module": "helpers.mjs", + "types": "helpers.mts" +} \ No newline at end of file diff --git a/scriptApl/chart.js/package.json b/scriptApl/chart.js/package.json new file mode 100644 index 00000000..b7e0e5ff --- /dev/null +++ b/scriptApl/chart.js/package.json @@ -0,0 +1,108 @@ +{ + "name": "chart.js", + "homepage": "https://www.chartjs.org", + "description": "Simple HTML5 charts using the canvas element.", + "version": "3.9.1", + "license": "MIT", + "jsdelivr": "dist/chart.min.js", + "unpkg": "dist/chart.min.js", + "main": "dist/chart.js", + "module": "dist/chart.mjs", + "types": "types/index.esm.d.ts", + "keywords": [ + "canvas", + "charts", + "data", + "graphs", + "html5", + "responsive" + ], + "repository": { + "type": "git", + "url": "https://github.com/chartjs/Chart.js.git" + }, + "bugs": { + "url": "https://github.com/chartjs/Chart.js/issues" + }, + "files": [ + "auto/**", + "dist/**", + "types/**", + "helpers/**" + ], + "scripts": { + "autobuild": "rollup -c -w", + "build": "rollup -c", + "dev": "karma start --auto-watch --no-single-run --browsers chrome --grep", + "dev:ff": "karma start --auto-watch --no-single-run --browsers firefox --grep", + "docs": "npm run build && vuepress build docs --no-cache", + "docs:dev": "npm run build && vuepress dev docs --no-cache", + "lint-js": "eslint \"src/**/*.js\" \"test/**/*.js\" \"docs/**/*.js\"", + "lint-md": "eslint \"**/*.md\"", + "lint-tsc": "tsc", + "lint-types": "eslint \"types/**/*.ts\" && node -r esm types/tests/autogen.js && tsc -p types/tests/", + "lint": "concurrently \"npm:lint-*\"", + "test": "npm run lint && npm run test-ci", + "test-ci": "cross-env NODE_ENV=test karma start --auto-watch --single-run --coverage --grep" + }, + "devDependencies": { + "@kurkle/color": "^0.2.1", + "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-inject": "^4.0.2", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.0.0", + "@simonbrunel/vuepress-plugin-versions": "^0.2.0", + "@types/offscreencanvas": "^2019.6.4", + "@typescript-eslint/eslint-plugin": "^5.8.0", + "@typescript-eslint/parser": "^5.8.0", + "@vuepress/plugin-google-analytics": "^1.8.3", + "@vuepress/plugin-html-redirect": "^0.1.2", + "chartjs-adapter-luxon": "^1.0.0", + "chartjs-adapter-moment": "^1.0.0", + "chartjs-test-utils": "^0.4.0", + "concurrently": "^6.0.1", + "coveralls": "^3.1.0", + "cross-env": "^7.0.3", + "eslint": "^8.5.0", + "eslint-config-chartjs": "^0.3.0", + "eslint-plugin-es": "^4.1.0", + "eslint-plugin-html": "^6.1.2", + "eslint-plugin-markdown": "^2.2.1", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^3.7.0", + "jasmine-core": "^3.7.1", + "karma": "^6.3.2", + "karma-chrome-launcher": "^3.1.0", + "karma-coverage": "^2.0.3", + "karma-edge-launcher": "^0.4.2", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^4.0.1", + "karma-jasmine-html-reporter": "^1.5.4", + "karma-rollup-preprocessor": "^7.0.7", + "karma-safari-private-launcher": "^1.0.0", + "karma-spec-reporter": "0.0.32", + "luxon": "^2.2.0", + "markdown-it-include": "^2.0.0", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "pixelmatch": "^5.2.1", + "rollup": "^2.44.0", + "rollup-plugin-analyzer": "^4.0.0", + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-istanbul": "^3.0.0", + "rollup-plugin-terser": "^7.0.2", + "typedoc": "^0.22.10", + "typedoc-plugin-markdown": "^3.6.1", + "typescript": "^4.3.5", + "vue-tabs-component": "^1.5.0", + "vuepress": "^1.8.2", + "vuepress-plugin-code-copy": "^1.0.6", + "vuepress-plugin-flexsearch": "^0.3.0", + "vuepress-plugin-redirect": "^1.2.5", + "vuepress-plugin-tabs": "^0.3.0", + "vuepress-plugin-typedoc": "^0.10.0", + "vuepress-theme-chartjs": "^0.2.0", + "yargs": "^17.0.1" + } +} diff --git a/scriptApl/chart.js/types/.eslintrc.yml b/scriptApl/chart.js/types/.eslintrc.yml new file mode 100644 index 00000000..14f736c7 --- /dev/null +++ b/scriptApl/chart.js/types/.eslintrc.yml @@ -0,0 +1,25 @@ +parser: '@typescript-eslint/parser' + +plugins: + - '@typescript-eslint' + +extends: + - chartjs + - plugin:@typescript-eslint/recommended + +rules: + # Replace stock eslint rules with typescript-eslint equivalents for proper + # TypeScript support. + indent: "off" + "@typescript-eslint/indent": ["error", 2] + no-use-before-define: "off" + '@typescript-eslint/no-use-before-define': "error" + no-shadow: "off" + '@typescript-eslint/no-shadow': "error" + + # These rules were set to warning to make the linting pass initially, + # without making any major changes to types. + object-curly-spacing: ["warn", "always"] + '@typescript-eslint/no-empty-interface': "warn" + '@typescript-eslint/ban-types': "warn" + '@typescript-eslint/adjacent-overload-signatures': "warn" diff --git a/scriptApl/chart.js/types/adapters.d.ts b/scriptApl/chart.js/types/adapters.d.ts new file mode 100644 index 00000000..cae40966 --- /dev/null +++ b/scriptApl/chart.js/types/adapters.d.ts @@ -0,0 +1,70 @@ +import type { ChartOptions } from './index.esm'; + +export type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year'; + +export interface DateAdapter { + // Override one or multiple of the methods to adjust to the logic of the current date library. + override(members: Partial): void; + readonly options: unknown; + + /** + * Will called with chart options after adapter creation. + * @param {ChartOptions} chartOptions + */ + init(chartOptions: ChartOptions): void; + /** + * Returns a map of time formats for the supported formatting units defined + * in Unit as well as 'datetime' representing a detailed date/time string. + * @returns {{string: string}} + */ + formats(): { [key: string]: string }; + /** + * Parses the given `value` and return the associated timestamp. + * @param {unknown} value - the value to parse (usually comes from the data) + * @param {string} [format] - the expected data format + */ + parse(value: unknown, format?: TimeUnit): number | null; + /** + * Returns the formatted date in the specified `format` for a given `timestamp`. + * @param {number} timestamp - the timestamp to format + * @param {string} format - the date/time token + * @return {string} + */ + format(timestamp: number, format: TimeUnit): string; + /** + * Adds the specified `amount` of `unit` to the given `timestamp`. + * @param {number} timestamp - the input timestamp + * @param {number} amount - the amount to add + * @param {Unit} unit - the unit as string + * @return {number} + */ + add(timestamp: number, amount: number, unit: TimeUnit): number; + /** + * Returns the number of `unit` between the given timestamps. + * @param {number} a - the input timestamp (reference) + * @param {number} b - the timestamp to subtract + * @param {Unit} unit - the unit as string + * @return {number} + */ + diff(a: number, b: number, unit: TimeUnit): number; + /** + * Returns start of `unit` for the given `timestamp`. + * @param {number} timestamp - the input timestamp + * @param {Unit|'isoWeek'} unit - the unit as string + * @param {number} [weekday] - the ISO day of the week with 1 being Monday + * and 7 being Sunday (only needed if param *unit* is `isoWeek`). + * @return {number} + */ + startOf(timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number): number; + /** + * Returns end of `unit` for the given `timestamp`. + * @param {number} timestamp - the input timestamp + * @param {Unit|'isoWeek'} unit - the unit as string + * @return {number} + */ + endOf(timestamp: number, unit: TimeUnit | 'isoWeek'): number; +} + +export const _adapters: { + _date: DateAdapter; +}; diff --git a/scriptApl/chart.js/types/animation.d.ts b/scriptApl/chart.js/types/animation.d.ts new file mode 100644 index 00000000..b8320412 --- /dev/null +++ b/scriptApl/chart.js/types/animation.d.ts @@ -0,0 +1,33 @@ +import { Chart } from './index.esm'; +import { AnyObject } from './basic'; + +export class Animation { + constructor(cfg: AnyObject, target: AnyObject, prop: string, to?: unknown); + active(): boolean; + update(cfg: AnyObject, to: unknown, date: number): void; + cancel(): void; + tick(date: number): void; +} + +export interface AnimationEvent { + chart: Chart; + numSteps: number; + initial: boolean; + currentStep: number; +} + +export class Animator { + listen(chart: Chart, event: 'complete' | 'progress', cb: (event: AnimationEvent) => void): void; + add(chart: Chart, items: readonly Animation[]): void; + has(chart: Chart): boolean; + start(chart: Chart): void; + running(chart: Chart): boolean; + stop(chart: Chart): void; + remove(chart: Chart): boolean; +} + +export class Animations { + constructor(chart: Chart, animations: AnyObject); + configure(animations: AnyObject): void; + update(target: AnyObject, values: AnyObject): undefined | boolean; +} diff --git a/scriptApl/chart.js/types/basic.d.ts b/scriptApl/chart.js/types/basic.d.ts new file mode 100644 index 00000000..1692c9cb --- /dev/null +++ b/scriptApl/chart.js/types/basic.d.ts @@ -0,0 +1,3 @@ + +export type AnyObject = Record; +export type EmptyObject = Record; diff --git a/scriptApl/chart.js/types/color.d.ts b/scriptApl/chart.js/types/color.d.ts new file mode 100644 index 00000000..4a68f98b --- /dev/null +++ b/scriptApl/chart.js/types/color.d.ts @@ -0,0 +1 @@ +export type Color = string | CanvasGradient | CanvasPattern; diff --git a/scriptApl/chart.js/types/element.d.ts b/scriptApl/chart.js/types/element.d.ts new file mode 100644 index 00000000..3b9359b3 --- /dev/null +++ b/scriptApl/chart.js/types/element.d.ts @@ -0,0 +1,17 @@ +import { AnyObject } from './basic'; +import { Point } from './geometric'; + +export interface Element { + readonly x: number; + readonly y: number; + readonly active: boolean; + readonly options: O; + + tooltipPosition(useFinalPosition?: boolean): Point; + hasValue(): boolean; + getProps

        (props: P, final?: boolean): Pick; +} +export const Element: { + prototype: Element; + new (): Element; +}; diff --git a/scriptApl/chart.js/types/geometric.d.ts b/scriptApl/chart.js/types/geometric.d.ts new file mode 100644 index 00000000..0e1affda --- /dev/null +++ b/scriptApl/chart.js/types/geometric.d.ts @@ -0,0 +1,37 @@ +export interface ChartArea { + top: number; + left: number; + right: number; + bottom: number; + width: number; + height: number; +} + +export interface Point { + x: number; + y: number; +} + +export type TRBL = { + top: number; + right: number; + bottom: number; + left: number; +} + +export type TRBLCorners = { + topLeft: number; + topRight: number; + bottomLeft: number; + bottomRight: number; +}; + +export type CornerRadius = number | Partial; + +export type RoundedRect = { + x: number; + y: number; + w: number; + h: number; + radius?: CornerRadius +} diff --git a/scriptApl/chart.js/types/helpers/helpers.canvas.d.ts b/scriptApl/chart.js/types/helpers/helpers.canvas.d.ts new file mode 100644 index 00000000..e6961af9 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.canvas.d.ts @@ -0,0 +1,103 @@ +import { PointStyle } from '../index.esm'; +import { Color } from '../color'; +import { ChartArea, RoundedRect } from '../geometric'; +import { CanvasFontSpec } from './helpers.options'; + +export function clearCanvas(canvas: HTMLCanvasElement, ctx?: CanvasRenderingContext2D): void; + +export function clipArea(ctx: CanvasRenderingContext2D, area: ChartArea): void; + +export function unclipArea(ctx: CanvasRenderingContext2D): void; + +export interface DrawPointOptions { + pointStyle: PointStyle; + rotation?: number; + radius: number; + borderWidth: number; +} + +export function drawPoint(ctx: CanvasRenderingContext2D, options: DrawPointOptions, x: number, y: number): void; + +export function drawPointLegend(ctx: CanvasRenderingContext2D, options: DrawPointOptions, x: number, y: number, w: number): void; + +/** + * Converts the given font object into a CSS font string. + * @param font a font object + * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font + */ +export function toFontString(font: { size: number; family: string; style?: string; weight?: string }): string | null; + +export interface RenderTextOpts { + /** + * The fill color of the text. If unset, the existing + * fillStyle property of the canvas is unchanged. + */ + color?: Color; + + /** + * The width of the strikethrough / underline + * @default 2 + */ + decorationWidth?: number; + + /** + * The max width of the text in pixels + */ + maxWidth?: number; + + /** + * A rotation to be applied to the canvas + * This is applied after the translation is applied + */ + rotation?: number; + + /** + * Apply a strikethrough effect to the text + */ + strikethrough?: boolean; + + /** + * The color of the text stroke. If unset, the existing + * strokeStyle property of the context is unchanged + */ + strokeColor?: Color; + + /** + * The text stroke width. If unset, the existing + * lineWidth property of the context is unchanged + */ + strokeWidth?: number; + + /** + * The text alignment to use. If unset, the existing + * textAlign property of the context is unchanged + */ + textAlign: CanvasTextAlign; + + /** + * The text baseline to use. If unset, the existing + * textBaseline property of the context is unchanged + */ + textBaseline: CanvasTextBaseline; + + /** + * If specified, a translation to apply to the context + */ + translation?: [number, number]; + + /** + * Underline the text + */ + underline?: boolean; +} + +export function renderText( + ctx: CanvasRenderingContext2D, + text: string | string[], + x: number, + y: number, + font: CanvasFontSpec, + opts?: RenderTextOpts +): void; + +export function addRoundedRectPath(ctx: CanvasRenderingContext2D, rect: RoundedRect): void; diff --git a/scriptApl/chart.js/types/helpers/helpers.collection.d.ts b/scriptApl/chart.js/types/helpers/helpers.collection.d.ts new file mode 100644 index 00000000..6a51597c --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.collection.d.ts @@ -0,0 +1,20 @@ +export interface ArrayListener { + _onDataPush?(...item: T[]): void; + _onDataPop?(): void; + _onDataShift?(): void; + _onDataSplice?(index: number, deleteCount: number, ...items: T[]): void; + _onDataUnshift?(...item: T[]): void; +} + +/** + * 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. + */ +export function listenArrayEvents(array: T[], listener: ArrayListener): void; + +/** + * 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. + */ +export function unlistenArrayEvents(array: T[], listener: ArrayListener): void; diff --git a/scriptApl/chart.js/types/helpers/helpers.color.d.ts b/scriptApl/chart.js/types/helpers/helpers.color.d.ts new file mode 100644 index 00000000..460b8d1f --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.color.d.ts @@ -0,0 +1,37 @@ +import { AnyObject } from '../basic'; + +export function color(value: CanvasGradient): CanvasGradient; +export function color(value: CanvasPattern): CanvasPattern; +export function color( + value: + | string + | { r: number; g: number; b: number; a: number } + | [number, number, number] + | [number, number, number, number] +): ColorModel; + +export function isPatternOrGradient(value: string | AnyObject): boolean; + +export interface ColorModel { + rgbString(): string; + hexString(): string; + hslString(): string; + rgb: { r: number; g: number; b: number; a: number }; + valid: boolean; + mix(color: ColorModel, weight: number): this; + clone(): ColorModel; + alpha(a: number): ColorModel; + clearer(ration: number): ColorModel; + greyscale(): ColorModel; + opaquer(ratio: number): ColorModel; + negate(): ColorModel; + lighten(ratio: number): ColorModel; + darken(ratio: number): ColorModel; + saturate(ratio: number): ColorModel; + desaturate(ratio: number): ColorModel; + rotate(deg: number): this; +} + +export function getHoverColor(value: CanvasGradient): CanvasGradient; +export function getHoverColor(value: CanvasPattern): CanvasPattern; +export function getHoverColor(value: string): string; diff --git a/scriptApl/chart.js/types/helpers/helpers.core.d.ts b/scriptApl/chart.js/types/helpers/helpers.core.d.ts new file mode 100644 index 00000000..bc376da0 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.core.d.ts @@ -0,0 +1,157 @@ +import { AnyObject } from '../basic'; + +/** + * An empty function that can be used, for example, for optional callback. + */ +export function noop(): void; + +/** + * Returns a unique id, sequentially generated from a global variable. + * @returns {number} + * @function + */ +export function uid(): number; +/** + * Returns true if `value` is neither null nor undefined, else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @since 2.7.0 + */ +export function isNullOrUndef(value: unknown): value is null | undefined; +/** + * Returns true if `value` is an array (including typed arrays), else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @function + */ +export function isArray(value: unknown): value is ArrayLike; +/** + * Returns true if `value` is an object (excluding null), else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @since 2.7.0 + */ +export function isObject(value: unknown): value is AnyObject; +/** + * Returns true if `value` is a finite number, else returns false + * @param {*} value - The value to test. + * @returns {boolean} + */ +export function isFinite(value: unknown): value is number; + +/** + * Returns `value` if finite, else returns `defaultValue`. + * @param {*} value - The value to return if defined. + * @param {*} defaultValue - The value to return if `value` is not finite. + * @returns {*} + */ +export function finiteOrDefault(value: unknown, defaultValue: number): number; + +/** + * 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 {*} + */ +export function valueOrDefault(value: T | undefined, defaultValue: T): T; + +export function toPercentage(value: number | string, dimesion: number): number; +export function toDimension(value: number | string, dimension: number): number; + +/** + * 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 fn - The function to call. + * @param args - The arguments with which `fn` should be called. + * @param [thisArg] - The value of `this` provided for the call to `fn`. + * @returns {*} + */ +export function callback R, TA, R>( + fn: T | undefined, + args: unknown[], + thisArg?: TA +): R | undefined; + +/** + * 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 loopable - The object or array to be iterated. + * @param fn - The function to call for each item. + * @param [thisArg] - The value of `this` provided for the call to `fn`. + * @param [reverse] - If true, iterates backward on the loopable. + */ +export function each( + loopable: T[], + fn: (this: TA, v: T, i: number) => void, + thisArg?: TA, + reverse?: boolean +): void; +/** + * 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 loopable - The object or array to be iterated. + * @param fn - The function to call for each item. + * @param [thisArg] - The value of `this` provided for the call to `fn`. + * @param [reverse] - If true, iterates backward on the loopable. + */ +export function each( + loopable: { [key: string]: T }, + fn: (this: TA, v: T, k: string) => void, + thisArg?: TA, + reverse?: boolean +): void; + +/** + * Returns a deep copy of `source` without keeping references on objects and arrays. + * @param source - The value to clone. + */ +export function clone(source: T): T; + +export interface MergeOptions { + merger?: (key: string, target: AnyObject, source: AnyObject, options: AnyObject) => AnyObject; +} +/** + * Recursively deep copies `source` properties into `target` with the given `options`. + * IMPORTANT: `target` is not cloned and will be updated with `source` properties. + * @param target - The target object in which all sources are merged into. + * @param 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. + */ +export function merge(target: T, source: [], options?: MergeOptions): T; +export function merge(target: T, source: S1, options?: MergeOptions): T & S1; +export function merge(target: T, source: [S1], options?: MergeOptions): T & S1; +export function merge(target: T, source: [S1, S2], options?: MergeOptions): T & S1 & S2; +export function merge(target: T, source: [S1, S2, S3], options?: MergeOptions): T & S1 & S2 & S3; +export function merge( + target: T, + source: [S1, S2, S3, S4], + options?: MergeOptions +): T & S1 & S2 & S3 & S4; +export function merge(target: T, source: AnyObject[], options?: MergeOptions): AnyObject; + +/** + * 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 target - The target object in which all sources are merged into. + * @param source - Object(s) to merge into `target`. + * @returns The `target` object. + */ +export function mergeIf(target: T, source: []): T; +export function mergeIf(target: T, source: S1): T & S1; +export function mergeIf(target: T, source: [S1]): T & S1; +export function mergeIf(target: T, source: [S1, S2]): T & S1 & S2; +export function mergeIf(target: T, source: [S1, S2, S3]): T & S1 & S2 & S3; +export function mergeIf(target: T, source: [S1, S2, S3, S4]): T & S1 & S2 & S3 & S4; +export function mergeIf(target: T, source: AnyObject[]): AnyObject; + +export function resolveObjectKey(obj: AnyObject, key: string): AnyObject; + +export function defined(value: unknown): boolean; + +export function isFunction(value: unknown): boolean; + +export function setsEqual(a: Set, b: Set): boolean; diff --git a/scriptApl/chart.js/types/helpers/helpers.curve.d.ts b/scriptApl/chart.js/types/helpers/helpers.curve.d.ts new file mode 100644 index 00000000..28d9ee4a --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.curve.d.ts @@ -0,0 +1,34 @@ +export interface SplinePoint { + x: number; + y: number; +} + +/** + * Props to Rob Spencer at scaled innovation for his post on splining between points + * http://scaledinnovation.com/analytics/splines/aboutSplines.html + */ +export function splineCurve( + firstPoint: SplinePoint & { skip?: boolean }, + middlePoint: SplinePoint, + afterPoint: SplinePoint, + t: number +): { + previous: SplinePoint; + next: SplinePoint; +}; + +export interface MonotoneSplinePoint extends SplinePoint { + skip: boolean; + cp1x?: number; + cp1y?: number; + cp2x?: number; + cp2y?: number; +} + +/** + * This function calculates Bézier control points in a similar way than |splineCurve|, + * but preserves monotonicity of the provided data and ensures no local extremums are added + * between the dataset discrete points due to the interpolation. + * @see https://en.wikipedia.org/wiki/Monotone_cubic_interpolation + */ +export function splineCurveMonotone(points: readonly MonotoneSplinePoint[], indexAxis?: 'x' | 'y'): void; diff --git a/scriptApl/chart.js/types/helpers/helpers.dom.d.ts b/scriptApl/chart.js/types/helpers/helpers.dom.d.ts new file mode 100644 index 00000000..73864314 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.dom.d.ts @@ -0,0 +1,20 @@ +import { ChartEvent } from '../index.esm'; + +export function getMaximumSize(node: HTMLElement, width?: number, height?: number, aspectRatio?: number): { width: number, height: number }; +export function getRelativePosition( + evt: MouseEvent | ChartEvent, + chart: { readonly canvas: HTMLCanvasElement } +): { x: number; y: number }; +export function getStyle(el: HTMLElement, property: string): string; +export function retinaScale( + chart: { + currentDevicePixelRatio: number; + readonly canvas: HTMLCanvasElement; + readonly width: number; + readonly height: number; + readonly ctx: CanvasRenderingContext2D; + }, + forceRatio: number, + forceStyle?: boolean +): void; +export function readUsedSize(element: HTMLElement, property: 'width' | 'height'): number | undefined; diff --git a/scriptApl/chart.js/types/helpers/helpers.easing.d.ts b/scriptApl/chart.js/types/helpers/helpers.easing.d.ts new file mode 100644 index 00000000..b86d6532 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.easing.d.ts @@ -0,0 +1,5 @@ +import { EasingFunction } from '../index.esm'; + +export type EasingFunctionSignature = (t: number) => number; + +export const easingEffects: Record; diff --git a/scriptApl/chart.js/types/helpers/helpers.extras.d.ts b/scriptApl/chart.js/types/helpers/helpers.extras.d.ts new file mode 100644 index 00000000..cb445c32 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.extras.d.ts @@ -0,0 +1,23 @@ +export function fontString(pixelSize: number, fontStyle: string, fontFamily: string): string; + +/** + * Request animation polyfill + */ +export function requestAnimFrame(cb: () => void): void; + +/** + * Throttles calling `fn` once per animation frame + * Latest arguments are used on the actual call + * @param {function} fn + * @param {*} thisArg + * @param {function} [updateFn] + */ +export function throttled(fn: (...args: unknown[]) => void, thisArg: unknown, updateFn?: (...args: unknown[]) => unknown[]): (...args: unknown[]) => void; + +/** + * Debounces calling `fn` for `delay` ms + * @param {function} fn - Function to call. No arguments are passed. + * @param {number} delay - Delay in ms. 0 = immediate invocation. + * @returns {function} + */ +export function debounce(fn: () => void, delay: number): () => number; diff --git a/scriptApl/chart.js/types/helpers/helpers.interpolation.d.ts b/scriptApl/chart.js/types/helpers/helpers.interpolation.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.interpolation.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/scriptApl/chart.js/types/helpers/helpers.intl.d.ts b/scriptApl/chart.js/types/helpers/helpers.intl.d.ts new file mode 100644 index 00000000..3a896f4a --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.intl.d.ts @@ -0,0 +1,7 @@ +/** + * Format a number using a localized number formatter. + * @param num The number to format + * @param locale The locale to pass to the Intl.NumberFormat constructor + * @param options Number format options + */ +export function formatNumber(num: number, locale: string, options: Intl.NumberFormatOptions): string; diff --git a/scriptApl/chart.js/types/helpers/helpers.math.d.ts b/scriptApl/chart.js/types/helpers/helpers.math.d.ts new file mode 100644 index 00000000..cc58b30e --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.math.d.ts @@ -0,0 +1,17 @@ +export function log10(x: number): number; +export function isNumber(v: unknown): boolean; +export function almostEquals(x: number, y: number, epsilon: number): boolean; +export function almostWhole(x: number, epsilon: number): number; +export function sign(x: number): number; +export function niceNum(range: number): number; +export function toRadians(degrees: number): number; +export function toDegrees(radians: number): number; +/** + * Gets the angle from vertical upright to the point about a centre. + */ +export function getAngleFromPoint( + centrePoint: { x: number; y: number }, + anglePoint: { x: number; y: number } +): { angle: number; distance: number }; + +export function distanceBetweenPoints(pt1: { x: number; y: number }, pt2: { x: number; y: number }): number; diff --git a/scriptApl/chart.js/types/helpers/helpers.options.d.ts b/scriptApl/chart.js/types/helpers/helpers.options.d.ts new file mode 100644 index 00000000..0bd783fa --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.options.d.ts @@ -0,0 +1,61 @@ +import { TRBL, TRBLCorners } from '../geometric'; +import { FontSpec } from '../index.esm'; + +export interface CanvasFontSpec extends FontSpec { + string: string; +} +/** + * 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. + */ +export function toFont(options: Partial): CanvasFontSpec; + +/** + * 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 + */ +export function toLineHeight(value: string, size: number): number; + +export function toTRBL(value: number | Partial): TRBL; +export function toTRBLCorners(value: number | Partial): TRBLCorners; + +/** + * 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 an 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 + */ +export function toPadding( + value?: number | { top?: number; left?: number; right?: number; bottom?: number; x?:number, y?: number } +): { top: number; left: number; right: number; bottom: number; width: number; height: number }; + +/** + * Evaluates the given `inputs` sequentially and returns the first defined value. + * @param inputs - An array of values, falling back to the last value. + * @param [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 [index] - If defined and the current value is an array, the value + * at `index` become the new input. + * @param [info] - object to return information about resolution in + * @param [info.cacheable] - Will be set to `false` if option is not cacheable. + * @since 2.7.0 + */ +export function resolve( + inputs: undefined | T | ((c: C) => T) | readonly T[], + context?: C, + index?: number, + info?: { cacheable?: boolean } +): T | undefined; + + +/** + * Create a context inheriting parentContext + * @since 3.6.0 + */ +export function createContext(parentContext: P, context: T): P extends null ? T : P & T; diff --git a/scriptApl/chart.js/types/helpers/helpers.rtl.d.ts b/scriptApl/chart.js/types/helpers/helpers.rtl.d.ts new file mode 100644 index 00000000..ed0b9248 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.rtl.d.ts @@ -0,0 +1,12 @@ +export interface RTLAdapter { + x(x: number): number; + setWidth(w: number): void; + textAlign(align: 'center' | 'left' | 'right'): 'center' | 'left' | 'right'; + xPlus(x: number, value: number): number; + leftForLtr(x: number, itemWidth: number): number; +} +export function getRtlAdapter(rtl: boolean, rectX: number, width: number): RTLAdapter; + +export function overrideTextDirection(ctx: CanvasRenderingContext2D, direction: 'ltr' | 'rtl'): void; + +export function restoreTextDirection(ctx: CanvasRenderingContext2D, original?: [string, string]): void; diff --git a/scriptApl/chart.js/types/helpers/helpers.segment.d.ts b/scriptApl/chart.js/types/helpers/helpers.segment.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/helpers.segment.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/scriptApl/chart.js/types/helpers/index.d.ts b/scriptApl/chart.js/types/helpers/index.d.ts new file mode 100644 index 00000000..01332692 --- /dev/null +++ b/scriptApl/chart.js/types/helpers/index.d.ts @@ -0,0 +1,15 @@ +export * from './helpers.canvas'; +export * from './helpers.collection'; +export * from './helpers.color'; +export * from './helpers.core'; +export * from './helpers.curve'; +export * from './helpers.dom'; +export * from './helpers.easing'; +export * from './helpers.extras'; +export * from './helpers.interpolation'; +export * from './helpers.intl'; +export * from './helpers.math'; +export * from './helpers.options'; +export * from './helpers.canvas'; +export * from './helpers.rtl'; +export * from './helpers.segment'; diff --git a/scriptApl/chart.js/types/index.esm.d.ts b/scriptApl/chart.js/types/index.esm.d.ts new file mode 100644 index 00000000..4284e2d1 --- /dev/null +++ b/scriptApl/chart.js/types/index.esm.d.ts @@ -0,0 +1,3715 @@ +import { DeepPartial, DistributiveArray, UnionToIntersection } from './utils'; + +import { TimeUnit } from './adapters'; +import { AnimationEvent } from './animation'; +import { AnyObject, EmptyObject } from './basic'; +import { Color } from './color'; +import { Element } from './element'; +import { ChartArea, Point } from './geometric'; +import { LayoutItem, LayoutPosition } from './layout'; + +export { DateAdapter, TimeUnit, _adapters } from './adapters'; +export { Animation, Animations, Animator, AnimationEvent } from './animation'; +export { Color } from './color'; +export { Element } from './element'; +export { ChartArea, Point } from './geometric'; +export { LayoutItem, LayoutPosition } from './layout'; + +export interface ScriptableContext { + active: boolean; + chart: Chart; + dataIndex: number; + dataset: UnionToIntersection>; + datasetIndex: number; + type: string; + mode: string; + parsed: UnionToIntersection>; + raw: unknown; +} + +export interface ScriptableLineSegmentContext { + type: 'segment', + p0: PointElement, + p1: PointElement, + p0DataIndex: number, + p1DataIndex: number, + datasetIndex: number +} + +export type Scriptable = T | ((ctx: TContext, options: AnyObject) => T | undefined); +export type ScriptableOptions = { [P in keyof T]: Scriptable }; +export type ScriptableAndScriptableOptions = Scriptable | ScriptableOptions; +export type ScriptableAndArray = readonly T[] | Scriptable; +export type ScriptableAndArrayOptions = { [P in keyof T]: ScriptableAndArray }; + +export interface ParsingOptions { + /** + * How to parse the dataset. The parsing can be disabled by specifying parsing: false at chart options or dataset. If parsing is disabled, data must be sorted and in the formats the associated chart type and scales use internally. + */ + parsing: + { + [key: string]: string; + } + | false; + + /** + * Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the normalized: true option to let Chart.js know that you have done so. + */ + normalized: boolean; +} + +export interface ControllerDatasetOptions extends ParsingOptions { + /** + * The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts. + * @default 'x' + */ + indexAxis: 'x' | 'y'; + /** + * How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0} + */ + clip: number | ChartArea | false; + /** + * The label for the dataset which appears in the legend and tooltips. + */ + label: string; + /** + * The drawing order of dataset. Also affects order for stacking, tooltip and legend. + */ + order: number; + + /** + * The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack). + */ + stack: string; + /** + * Configures the visibility state of the dataset. Set it to true, to hide the dataset from the chart. + * @default false + */ + hidden: boolean; +} + +export interface BarControllerDatasetOptions + extends ControllerDatasetOptions, + ScriptableAndArrayOptions>, + ScriptableAndArrayOptions>, + AnimationOptions<'bar'> { + /** + * The ID of the x axis to plot this dataset on. + */ + xAxisID: string; + /** + * The ID of the y axis to plot this dataset on. + */ + yAxisID: string; + + /** + * Percent (0-1) of the available width each bar should be within the category width. 1.0 will take the whole category width and put the bars right next to each other. + * @default 0.9 + */ + barPercentage: number; + /** + * Percent (0-1) of the available width each category should be within the sample width. + * @default 0.8 + */ + categoryPercentage: number; + + /** + * Manually set width of each bar in pixels. If set to 'flex', it computes "optimal" sample widths that globally arrange bars side by side. If not set (default), bars are equally sized based on the smallest interval. + */ + barThickness: number | 'flex'; + + /** + * Set this to ensure that bars are not sized thicker than this. + */ + maxBarThickness: number; + + /** + * Set this to ensure that bars have a minimum length in pixels. + */ + minBarLength: number; + + /** + * Point style for the legend + * @default 'circle; + */ + pointStyle: PointStyle; +} + +export interface BarControllerChartOptions { + /** + * Should null or undefined values be omitted from drawing + */ + skipNull?: boolean; +} + +export type BarController = DatasetController +export const BarController: ChartComponent & { + prototype: BarController; + new (chart: Chart, datasetIndex: number): BarController; +}; + +export interface BubbleControllerDatasetOptions + extends ControllerDatasetOptions, + ScriptableAndArrayOptions>, + ScriptableAndArrayOptions> {} + +export interface BubbleDataPoint { + /** + * X Value + */ + x: number; + + /** + * Y Value + */ + y: number; + + /** + * Bubble radius in pixels (not scaled). + */ + r: number; +} + +export type BubbleController = DatasetController +export const BubbleController: ChartComponent & { + prototype: BubbleController; + new (chart: Chart, datasetIndex: number): BubbleController; +}; + +export interface LineControllerDatasetOptions + extends ControllerDatasetOptions, + ScriptableAndArrayOptions>, + ScriptableAndArrayOptions>, + ScriptableOptions, ScriptableContext<'line'>>, + ScriptableAndArrayOptions>, + ScriptableOptions, ScriptableContext<'line'>>, + ScriptableAndArrayOptions>, + AnimationOptions<'line'> { + /** + * The ID of the x axis to plot this dataset on. + */ + xAxisID: string; + /** + * The ID of the y axis to plot this dataset on. + */ + yAxisID: string; + + /** + * If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used. + * @default false + */ + spanGaps: boolean | number; + + showLine: boolean; +} + +export interface LineControllerChartOptions { + /** + * If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used. + * @default false + */ + spanGaps: boolean | number; + /** + * If false, the lines between points are not drawn. + * @default true + */ + showLine: boolean; +} + +export type LineController = DatasetController +export const LineController: ChartComponent & { + prototype: LineController; + new (chart: Chart, datasetIndex: number): LineController; +}; + +export type ScatterControllerDatasetOptions = LineControllerDatasetOptions; + +export interface ScatterDataPoint { + x: number; + y: number; +} + +export type ScatterControllerChartOptions = LineControllerChartOptions; + +export type ScatterController = LineController +export const ScatterController: ChartComponent & { + prototype: ScatterController; + new (chart: Chart, datasetIndex: number): ScatterController; +}; + +export interface DoughnutControllerDatasetOptions + extends ControllerDatasetOptions, + ScriptableAndArrayOptions>, + ScriptableAndArrayOptions>, + AnimationOptions<'doughnut'> { + + /** + * Sweep to allow arcs to cover. + * @default 360 + */ + circumference: number; + + /** + * Arc offset (in pixels). + */ + offset: number; + + /** + * Starting angle to draw this dataset from. + * @default 0 + */ + rotation: number; + + /** + * The relative thickness of the dataset. Providing a value for weight will cause the pie or doughnut dataset to be drawn with a thickness relative to the sum of all the dataset weight values. + * @default 1 + */ + weight: number; + + /** + * Similar to the `offset` option, but applies to all arcs. This can be used to to add spaces + * between arcs + * @default 0 + */ + spacing: number; +} + +export interface DoughnutAnimationOptions { + /** + * If true, the chart will animate in with a rotation animation. This property is in the options.animation object. + * @default true + */ + animateRotate: boolean; + + /** + * If true, will animate scaling the chart from the center outwards. + * @default false + */ + animateScale: boolean; +} + +export interface DoughnutControllerChartOptions { + /** + * Sweep to allow arcs to cover. + * @default 360 + */ + circumference: number; + + /** + * The portion of the chart that is cut out of the middle. ('50%' - for doughnut, 0 - for pie) + * String ending with '%' means percentage, number means pixels. + * @default 50 + */ + cutout: Scriptable>; + + /** + * Arc offset (in pixels). + */ + offset: number; + + /** + * The outer radius of the chart. String ending with '%' means percentage of maximum radius, number means pixels. + * @default '100%' + */ + radius: Scriptable>; + + /** + * Starting angle to draw arcs from. + * @default 0 + */ + rotation: number; + + /** + * Spacing between the arcs + * @default 0 + */ + spacing: number; + + animation: false | DoughnutAnimationOptions; +} + +export type DoughnutDataPoint = number; + +export interface DoughnutController extends DatasetController { + readonly innerRadius: number; + readonly outerRadius: number; + readonly offsetX: number; + readonly offsetY: number; + + calculateTotal(): number; + calculateCircumference(value: number): number; +} + +export const DoughnutController: ChartComponent & { + prototype: DoughnutController; + new (chart: Chart, datasetIndex: number): DoughnutController; +}; + +export interface DoughnutMetaExtensions { + total: number; +} + +export type PieControllerDatasetOptions = DoughnutControllerDatasetOptions; +export type PieControllerChartOptions = DoughnutControllerChartOptions; +export type PieAnimationOptions = DoughnutAnimationOptions; + +export type PieDataPoint = DoughnutDataPoint; +export type PieMetaExtensions = DoughnutMetaExtensions; + +export type PieController = DoughnutController +export const PieController: ChartComponent & { + prototype: PieController; + new (chart: Chart, datasetIndex: number): PieController; +}; + +export interface PolarAreaControllerDatasetOptions extends DoughnutControllerDatasetOptions { + /** + * Arc angle to cover. - for polar only + * @default circumference / (arc count) + */ + angle: number; +} + +export type PolarAreaAnimationOptions = DoughnutAnimationOptions; + +export interface PolarAreaControllerChartOptions { + /** + * Starting angle to draw arcs for the first item in a dataset. In degrees, 0 is at top. + * @default 0 + */ + startAngle: number; + + animation: false | PolarAreaAnimationOptions; +} + +export interface PolarAreaController extends DoughnutController { + countVisibleElements(): number; +} +export const PolarAreaController: ChartComponent & { + prototype: PolarAreaController; + new (chart: Chart, datasetIndex: number): PolarAreaController; +}; + +export interface RadarControllerDatasetOptions + extends ControllerDatasetOptions, + ScriptableAndArrayOptions>, + ScriptableAndArrayOptions>, + AnimationOptions<'radar'> { + /** + * The ID of the x axis to plot this dataset on. + */ + xAxisID: string; + /** + * The ID of the y axis to plot this dataset on. + */ + yAxisID: string; + + /** + * If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used. + */ + spanGaps: boolean | number; + + /** + * If false, the line is not drawn for this dataset. + */ + showLine: boolean; +} + +export type RadarControllerChartOptions = LineControllerChartOptions; + +export type RadarController = DatasetController +export const RadarController: ChartComponent & { + prototype: RadarController; + new (chart: Chart, datasetIndex: number): RadarController; +}; +interface ChartMetaCommon { + type: string; + controller: DatasetController; + order: number; + + label: string; + index: number; + visible: boolean; + + stack: number; + + indexAxis: 'x' | 'y'; + + data: TElement[]; + dataset?: TDatasetElement; + + hidden: boolean; + + xAxisID?: string; + yAxisID?: string; + rAxisID?: string; + iAxisID: string; + vAxisID: string; + + xScale?: Scale; + yScale?: Scale; + rScale?: Scale; + iScale?: Scale; + vScale?: Scale; + + _sorted: boolean; + _stacked: boolean | 'single'; + _parsed: unknown[]; +} + +export type ChartMeta< + TElement extends Element = Element, + TDatasetElement extends Element = Element, + // TODO - V4, move this to the first parameter. + // When this was introduced, doing so was a breaking change + TType extends ChartType = ChartType, +> = DeepPartial< +{ [key in ChartType]: ChartTypeRegistry[key]['metaExtensions'] }[TType] +> & ChartMetaCommon; + +export interface ActiveDataPoint { + datasetIndex: number; + index: number; +} + +export interface ActiveElement extends ActiveDataPoint { + element: Element; +} + +export declare class Chart< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown +> { + readonly platform: BasePlatform; + readonly id: string; + readonly canvas: HTMLCanvasElement; + readonly ctx: CanvasRenderingContext2D; + readonly config: ChartConfiguration | ChartConfigurationCustomTypesPerDataset; + readonly width: number; + readonly height: number; + readonly aspectRatio: number; + readonly boxes: LayoutItem[]; + readonly currentDevicePixelRatio: number; + readonly chartArea: ChartArea; + readonly scales: { [key: string]: Scale }; + readonly attached: boolean; + + readonly legend?: LegendElement; // Only available if legend plugin is registered and enabled + readonly tooltip?: TooltipModel; // Only available if tooltip plugin is registered and enabled + + data: ChartData; + options: ChartOptions; + + constructor(item: ChartItem, config: ChartConfiguration | ChartConfigurationCustomTypesPerDataset); + + clear(): this; + stop(): this; + + resize(width?: number, height?: number): void; + ensureScalesHaveIDs(): void; + buildOrUpdateScales(): void; + buildOrUpdateControllers(): void; + reset(): void; + update(mode?: UpdateMode): void; + render(): void; + draw(): void; + + isPointInArea(point: Point): boolean; + getElementsAtEventForMode(e: Event, mode: string, options: InteractionOptions, useFinalPosition: boolean): InteractionItem[]; + + getSortedVisibleDatasetMetas(): ChartMeta[]; + getDatasetMeta(datasetIndex: number): ChartMeta; + getVisibleDatasetCount(): number; + isDatasetVisible(datasetIndex: number): boolean; + setDatasetVisibility(datasetIndex: number, visible: boolean): void; + toggleDataVisibility(index: number): void; + getDataVisibility(index: number): boolean; + hide(datasetIndex: number, dataIndex?: number): void; + show(datasetIndex: number, dataIndex?: number): void; + + getActiveElements(): ActiveElement[]; + setActiveElements(active: ActiveDataPoint[]): void; + + destroy(): void; + toBase64Image(type?: string, quality?: unknown): string; + bindEvents(): void; + unbindEvents(): void; + updateHoverStyle(items: InteractionItem[], mode: 'dataset', enabled: boolean): void; + + notifyPlugins(hook: string, args?: AnyObject): boolean | void; + + static readonly defaults: Defaults; + static readonly overrides: Overrides; + static readonly version: string; + static readonly instances: { [key: string]: Chart }; + static readonly registry: Registry; + static getChart(key: string | CanvasRenderingContext2D | HTMLCanvasElement): Chart | undefined; + static register(...items: ChartComponentLike[]): void; + static unregister(...items: ChartComponentLike[]): void; +} + +export const registerables: readonly ChartComponentLike[]; + +export declare type ChartItem = + | string + | CanvasRenderingContext2D + | HTMLCanvasElement + | { canvas: HTMLCanvasElement } + | ArrayLike; + +export declare enum UpdateModeEnum { + resize = 'resize', + reset = 'reset', + none = 'none', + hide = 'hide', + show = 'show', + normal = 'normal', + active = 'active' +} + +export type UpdateMode = keyof typeof UpdateModeEnum; + +export class DatasetController< + TType extends ChartType = ChartType, + TElement extends Element = Element, + TDatasetElement extends Element = Element, + TParsedData = ParsedDataType, +> { + constructor(chart: Chart, datasetIndex: number); + + readonly chart: Chart; + readonly index: number; + readonly _cachedMeta: ChartMeta; + enableOptionSharing: boolean; + // If true, the controller supports the decimation + // plugin. Defaults to `false` for all controllers + // except the LineController + supportsDecimation: boolean; + + linkScales(): void; + getAllParsedValues(scale: Scale): number[]; + protected getLabelAndValue(index: number): { label: string; value: string }; + updateElements(elements: TElement[], start: number, count: number, mode: UpdateMode): void; + update(mode: UpdateMode): void; + updateIndex(datasetIndex: number): void; + protected getMaxOverflow(): boolean | number; + draw(): void; + reset(): void; + getDataset(): ChartDataset; + getMeta(): ChartMeta; + getScaleForId(scaleID: string): Scale | undefined; + configure(): void; + initialize(): void; + addElements(): void; + buildOrUpdateElements(resetNewElements?: boolean): void; + + getStyle(index: number, active: boolean): AnyObject; + protected resolveDatasetElementOptions(mode: UpdateMode): AnyObject; + protected resolveDataElementOptions(index: number, mode: UpdateMode): AnyObject; + /** + * Utility for checking if the options are shared and should be animated separately. + * @protected + */ + protected getSharedOptions(options: AnyObject): undefined | AnyObject; + /** + * Utility for determining if `options` should be included in the updated properties + * @protected + */ + protected includeOptions(mode: UpdateMode, sharedOptions: AnyObject): boolean; + /** + * Utility for updating an element with new properties, using animations when appropriate. + * @protected + */ + + protected updateElement(element: TElement | TDatasetElement, index: number | undefined, properties: AnyObject, mode: UpdateMode): void; + /** + * Utility to animate the shared options, that are potentially affecting multiple elements. + * @protected + */ + + protected updateSharedOptions(sharedOptions: AnyObject, mode: UpdateMode, newOptions: AnyObject): void; + removeHoverStyle(element: TElement, datasetIndex: number, index: number): void; + setHoverStyle(element: TElement, datasetIndex: number, index: number): void; + + parse(start: number, count: number): void; + protected parsePrimitiveData(meta: ChartMeta, data: AnyObject[], start: number, count: number): AnyObject[]; + protected parseArrayData(meta: ChartMeta, data: AnyObject[], start: number, count: number): AnyObject[]; + protected parseObjectData(meta: ChartMeta, data: AnyObject[], start: number, count: number): AnyObject[]; + protected getParsed(index: number): TParsedData; + protected applyStack(scale: Scale, parsed: unknown[]): number; + protected updateRangeFromParsed( + range: { min: number; max: number }, + scale: Scale, + parsed: unknown[], + stack: boolean | string + ): void; + protected getMinMax(scale: Scale, canStack?: boolean): { min: number; max: number }; +} + +export interface DatasetControllerChartComponent extends ChartComponent { + defaults: { + datasetElementType?: string | null | false; + dataElementType?: string | null | false; + }; +} + +export interface Defaults extends CoreChartOptions, ElementChartOptions, PluginChartOptions { + + scale: ScaleOptionsByType; + scales: { + [key in ScaleType]: ScaleOptionsByType; + }; + + set(values: AnyObject): AnyObject; + set(scope: string, values: AnyObject): AnyObject; + get(scope: string): AnyObject; + + describe(scope: string, values: AnyObject): AnyObject; + override(scope: string, values: AnyObject): AnyObject; + + /** + * Routes the named defaults to fallback to another scope/name. + * This routing is useful when those target values, like defaults.color, are changed runtime. + * If the values would be copied, the runtime change would not take effect. By routing, the + * fallback is evaluated at each access, so its always up to date. + * + * Example: + * + * defaults.route('elements.arc', 'backgroundColor', '', 'color') + * - reads the backgroundColor from defaults.color when undefined locally + * + * @param scope Scope this route applies to. + * @param name Property name that should be routed to different namespace when not defined here. + * @param targetScope The namespace where those properties should be routed to. + * Empty string ('') is the root of defaults. + * @param targetName The target name in the target scope the property should be routed to. + */ + route(scope: string, name: string, targetScope: string, targetName: string): void; +} + +export type Overrides = { + [key in ChartType]: + CoreChartOptions & + ElementChartOptions & + PluginChartOptions & + DatasetChartOptions & + ScaleChartOptions & + ChartTypeRegistry[key]['chartOptions']; +} + +export const defaults: Defaults; +export interface InteractionOptions { + axis?: string; + intersect?: boolean; + includeInvisible?: boolean; +} + +export interface InteractionItem { + element: Element; + datasetIndex: number; + index: number; +} + +export type InteractionModeFunction = ( + chart: Chart, + e: ChartEvent, + options: InteractionOptions, + useFinalPosition?: boolean +) => InteractionItem[]; + +export interface InteractionModeMap { + /** + * 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 + */ + index: InteractionModeFunction; + + /** + * 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 + */ + dataset: InteractionModeFunction; + /** + * Point mode returns all elements that hit test based on the event position + * of the event + */ + point: InteractionModeFunction; + /** + * nearest mode returns the element closest to the point + */ + nearest: InteractionModeFunction; + /** + * x mode returns the elements that hit-test at the current x coordinate + */ + x: InteractionModeFunction; + /** + * y mode returns the elements that hit-test at the current y coordinate + */ + y: InteractionModeFunction; +} + +export type InteractionMode = keyof InteractionModeMap; + +export const Interaction: { + modes: InteractionModeMap; + + /** + * Helper function to select candidate elements for interaction + */ + evaluateInteractionItems( + chart: Chart, + axis: InteractionAxis, + position: Point, + handler: (element: Element & VisualElement, datasetIndex: number, index: number) => void, + intersect?: boolean + ): InteractionItem[]; +}; + +export const layouts: { + /** + * 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 {LayoutItem} item - the item to add to be laid out + */ + addBox(chart: Chart, item: LayoutItem): void; + + /** + * Remove a layoutItem from a chart + * @param {Chart} chart - the chart to remove the box from + * @param {LayoutItem} layoutItem - the item to remove from the layout + */ + removeBox(chart: Chart, layoutItem: LayoutItem): void; + + /** + * Sets (or updates) options on the given `item`. + * @param {Chart} chart - the chart in which the item lives (or will be added to) + * @param {LayoutItem} item - the item to configure with the given options + * @param options - the new item options. + */ + configure( + chart: Chart, + item: LayoutItem, + options: { fullSize?: number; position?: LayoutPosition; weight?: number } + ): void; + + /** + * 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(chart: Chart, width: number, height: number): void; +}; + +export interface Plugin extends ExtendedPlugin { + id: string; + + /** + * @desc Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false). + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @since 3.0.0 + */ + install?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called when a plugin is starting. This happens when chart is created or plugin is enabled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @since 3.0.0 + */ + start?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @since 3.0.0 + */ + stop?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before initializing `chart`. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + beforeInit?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called after `chart` has been initialized and before the first update. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterInit?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before updating `chart`. If any plugin returns `false`, the update + * is cancelled (and thus subsequent render(s)) until another `update` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {UpdateMode} args.mode - The update mode + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart update. + */ + beforeUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): boolean | void; + /** + * @desc Called after `chart` has been updated and before rendering. Note that this + * hook will not be called if the chart update has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {UpdateMode} args.mode - The update mode + * @param {object} options - The plugin options. + */ + afterUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): void; + /** + * @desc Called during the update process, before any chart elements have been created. + * This can be used for data decimation by changing the data array inside a dataset. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + beforeElementsUpdate?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called during chart reset + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @since version 3.0.0 + */ + reset?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before updating the `chart` datasets. If any plugin returns `false`, + * the datasets update is cancelled until another `update` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {UpdateMode} args.mode - The update mode. + * @param {object} options - The plugin options. + * @returns {boolean} false to cancel the datasets update. + * @since version 2.1.5 + */ + beforeDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode }, options: O): boolean | void; + /** + * @desc Called after the `chart` datasets have been updated. Note that this hook + * will not be called if the datasets update has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {UpdateMode} args.mode - The update mode. + * @param {object} options - The plugin options. + * @since version 2.1.5 + */ + afterDatasetsUpdate?(chart: Chart, args: { mode: UpdateMode, cancelable: true }, options: O): void; + /** + * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin + * returns `false`, the datasets update is cancelled until another `update` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {number} args.index - The dataset index. + * @param {object} args.meta - The dataset metadata. + * @param {UpdateMode} args.mode - The update mode. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart datasets drawing. + */ + beforeDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: true }, options: O): boolean | void; + /** + * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note + * that this hook will not be called if the datasets update has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {number} args.index - The dataset index. + * @param {object} args.meta - The dataset metadata. + * @param {UpdateMode} args.mode - The update mode. + * @param {object} options - The plugin options. + */ + afterDatasetUpdate?(chart: Chart, args: { index: number; meta: ChartMeta, mode: UpdateMode, cancelable: false }, options: O): void; + /** + * @desc Called before laying out `chart`. If any plugin returns `false`, + * the layout update is cancelled until another `update` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart layout. + */ + beforeLayout?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + /** + * @desc Called before scale data limits are calculated. This hook is called separately for each scale in the chart. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Scale} args.scale - The scale. + * @param {object} options - The plugin options. + */ + beforeDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; + /** + * @desc Called after scale data limits are calculated. This hook is called separately for each scale in the chart. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Scale} args.scale - The scale. + * @param {object} options - The plugin options. + */ + afterDataLimits?(chart: Chart, args: { scale: Scale }, options: O): void; + /** + * @desc Called before scale builds its ticks. This hook is called separately for each scale in the chart. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Scale} args.scale - The scale. + * @param {object} options - The plugin options. + */ + beforeBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; + /** + * @desc Called after scale has build its ticks. This hook is called separately for each scale in the chart. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Scale} args.scale - The scale. + * @param {object} options - The plugin options. + */ + afterBuildTicks?(chart: Chart, args: { scale: Scale }, options: O): void; + /** + * @desc Called after the `chart` has been laid out. Note that this hook will not + * be called if the layout update has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterLayout?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before rendering `chart`. If any plugin returns `false`, + * the rendering is cancelled until another `render` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart rendering. + */ + beforeRender?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + /** + * @desc Called after the `chart` has been fully rendered (and animation completed). Note + * that this hook will not be called if the rendering has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterRender?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before drawing `chart` at every animation frame. If any plugin returns `false`, + * the frame drawing is cancelled untilanother `render` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart drawing. + */ + beforeDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + /** + * @desc Called after the `chart` has been drawn. Note that this hook will not be called + * if the drawing has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterDraw?(chart: Chart, args: EmptyObject, options: O): void; + /** + * @desc Called before drawing the `chart` datasets. If any plugin returns `false`, + * the datasets drawing is cancelled until another `render` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart datasets drawing. + */ + beforeDatasetsDraw?(chart: Chart, args: { cancelable: true }, options: O): boolean | void; + /** + * @desc Called after the `chart` datasets have been drawn. Note that this hook + * will not be called if the datasets drawing has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterDatasetsDraw?(chart: Chart, args: EmptyObject, options: O, cancelable: false): void; + /** + * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets + * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing + * is cancelled until another `render` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {number} args.index - The dataset index. + * @param {object} args.meta - The dataset metadata. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart datasets drawing. + */ + beforeDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): boolean | void; + /** + * @desc Called after the `chart` datasets at the given `args.index` have been drawn + * (datasets are drawn in the reverse order). Note that this hook will not be called + * if the datasets drawing has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {number} args.index - The dataset index. + * @param {object} args.meta - The dataset metadata. + * @param {object} options - The plugin options. + */ + afterDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }, options: O): void; + /** + * @desc Called before processing the specified `event`. If any plugin returns `false`, + * the event will be discarded. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {ChartEvent} args.event - The event object. + * @param {boolean} args.replay - True if this event is replayed from `Chart.update` + * @param {boolean} args.inChartArea - The event position is inside chartArea + * @param {object} options - The plugin options. + */ + beforeEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, cancelable: true, inChartArea: boolean }, options: O): boolean | void; + /** + * @desc Called after the `event` has been consumed. Note that this hook + * will not be called if the `event` has been previously discarded. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {ChartEvent} args.event - The event object. + * @param {boolean} args.replay - True if this event is replayed from `Chart.update` + * @param {boolean} args.inChartArea - The event position is inside chartArea + * @param {boolean} [args.changed] - Set to true if the plugin needs a render. Should only be changed to true, because this args object is passed through all plugins. + * @param {object} options - The plugin options. + */ + afterEvent?(chart: Chart, args: { event: ChartEvent, replay: boolean, changed?: boolean, cancelable: false, inChartArea: boolean }, options: O): void; + /** + * @desc Called after the chart as been resized. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {number} args.size - The new canvas display size (eq. canvas.style width & height). + * @param {object} options - The plugin options. + */ + resize?(chart: Chart, args: { size: { width: number, height: number } }, options: O): void; + /** + * Called before the chart is being destroyed. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + beforeDestroy?(chart: Chart, args: EmptyObject, options: O): void; + /** + * Called after the chart has been destroyed. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @deprecated since version 3.7.0 in favour of afterDestroy + */ + destroy?(chart: Chart, args: EmptyObject, options: O): void; + /** + * Called after the chart has been destroyed. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + */ + afterDestroy?(chart: Chart, args: EmptyObject, options: O): void; + /** + * Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false). + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {object} options - The plugin options. + * @since 3.0.0 + */ + uninstall?(chart: Chart, args: EmptyObject, options: O): void; +} + +export declare type ChartComponentLike = ChartComponent | ChartComponent[] | { [key: string]: ChartComponent } | Plugin | Plugin[]; + +/** + * Please use the module's default export which provides a singleton instance + * Note: class is exported for typedoc + */ +export interface Registry { + readonly controllers: TypedRegistry; + readonly elements: TypedRegistry; + readonly plugins: TypedRegistry; + readonly scales: TypedRegistry; + + add(...args: ChartComponentLike[]): void; + remove(...args: ChartComponentLike[]): void; + + addControllers(...args: ChartComponentLike[]): void; + addElements(...args: ChartComponentLike[]): void; + addPlugins(...args: ChartComponentLike[]): void; + addScales(...args: ChartComponentLike[]): void; + + getController(id: string): DatasetController | undefined; + getElement(id: string): Element | undefined; + getPlugin(id: string): Plugin | undefined; + getScale(id: string): Scale | undefined; +} + +export const registry: Registry; + +export interface Tick { + value: number; + label?: string | string[]; + major?: boolean; +} + +export interface CoreScaleOptions { + /** + * Controls the axis global visibility (visible when true, hidden when false). When display: 'auto', the axis is visible only if at least one associated dataset is visible. + * @default true + */ + display: boolean | 'auto'; + /** + * Align pixel values to device pixels + */ + alignToPixels: boolean; + /** + * Reverse the scale. + * @default false + */ + reverse: boolean; + /** + * The weight used to sort the axis. Higher weights are further away from the chart area. + * @default true + */ + weight: number; + /** + * Callback called before the update process starts. + */ + beforeUpdate(axis: Scale): void; + /** + * Callback that runs before dimensions are set. + */ + beforeSetDimensions(axis: Scale): void; + /** + * Callback that runs after dimensions are set. + */ + afterSetDimensions(axis: Scale): void; + /** + * Callback that runs before data limits are determined. + */ + beforeDataLimits(axis: Scale): void; + /** + * Callback that runs after data limits are determined. + */ + afterDataLimits(axis: Scale): void; + /** + * Callback that runs before ticks are created. + */ + beforeBuildTicks(axis: Scale): void; + /** + * Callback that runs after ticks are created. Useful for filtering ticks. + */ + afterBuildTicks(axis: Scale): void; + /** + * Callback that runs before ticks are converted into strings. + */ + beforeTickToLabelConversion(axis: Scale): void; + /** + * Callback that runs after ticks are converted into strings. + */ + afterTickToLabelConversion(axis: Scale): void; + /** + * Callback that runs before tick rotation is determined. + */ + beforeCalculateLabelRotation(axis: Scale): void; + /** + * Callback that runs after tick rotation is determined. + */ + afterCalculateLabelRotation(axis: Scale): void; + /** + * Callback that runs before the scale fits to the canvas. + */ + beforeFit(axis: Scale): void; + /** + * Callback that runs after the scale fits to the canvas. + */ + afterFit(axis: Scale): void; + /** + * Callback that runs at the end of the update process. + */ + afterUpdate(axis: Scale): void; +} + +export interface Scale extends Element, LayoutItem { + readonly id: string; + readonly type: string; + readonly ctx: CanvasRenderingContext2D; + readonly chart: Chart; + + maxWidth: number; + maxHeight: number; + + paddingTop: number; + paddingBottom: number; + paddingLeft: number; + paddingRight: number; + + axis: string; + labelRotation: number; + min: number; + max: number; + ticks: Tick[]; + getMatchingVisibleMetas(type?: string): ChartMeta[]; + + drawTitle(chartArea: ChartArea): void; + drawLabels(chartArea: ChartArea): void; + drawGrid(chartArea: ChartArea): void; + + /** + * @param {number} pixel + * @return {number} + */ + getDecimalForPixel(pixel: number): number; + /** + * Utility for getting the pixel location of a percentage of scale + * The coordinate (0, 0) is at the upper-left corner of the canvas + * @param {number} decimal + * @return {number} + */ + getPixelForDecimal(decimal: number): number; + /** + * Returns the location of the tick at the given index + * The coordinate (0, 0) is at the upper-left corner of the canvas + * @param {number} index + * @return {number} + */ + getPixelForTick(index: number): number; + /** + * Used to get the label to display in the tooltip for the given value + * @param {*} value + * @return {string} + */ + getLabelForValue(value: number): string; + + /** + * Returns the grid line width at given value + */ + getLineWidthForValue(value: number): number; + + /** + * Returns the location of the given data point. Value can either be an index or a numerical value + * The coordinate (0, 0) is at the upper-left corner of the canvas + * @param {*} value + * @param {number} [index] + * @return {number} + */ + getPixelForValue(value: number, index?: number): number; + + /** + * Used to get the data value from a given pixel. This is the inverse of getPixelForValue + * The coordinate (0, 0) is at the upper-left corner of the canvas + * @param {number} pixel + * @return {*} + */ + getValueForPixel(pixel: number): number | undefined; + + getBaseValue(): number; + /** + * Returns the pixel for the minimum chart value + * The coordinate (0, 0) is at the upper-left corner of the canvas + * @return {number} + */ + getBasePixel(): number; + + init(options: O): void; + parse(raw: unknown, index: number): unknown; + getUserBounds(): { min: number; max: number; minDefined: boolean; maxDefined: boolean }; + getMinMax(canStack: boolean): { min: number; max: number }; + getTicks(): Tick[]; + getLabels(): string[]; + beforeUpdate(): void; + configure(): void; + afterUpdate(): void; + beforeSetDimensions(): void; + setDimensions(): void; + afterSetDimensions(): void; + beforeDataLimits(): void; + determineDataLimits(): void; + afterDataLimits(): void; + beforeBuildTicks(): void; + buildTicks(): Tick[]; + afterBuildTicks(): void; + beforeTickToLabelConversion(): void; + generateTickLabels(ticks: Tick[]): void; + afterTickToLabelConversion(): void; + beforeCalculateLabelRotation(): void; + calculateLabelRotation(): void; + afterCalculateLabelRotation(): void; + beforeFit(): void; + fit(): void; + afterFit(): void; + + isFullSize(): boolean; +} +export declare class Scale { + constructor(cfg: {id: string, type: string, ctx: CanvasRenderingContext2D, chart: Chart}); +} + +export interface ScriptableScaleContext { + chart: Chart; + scale: Scale; + index: number; + tick: Tick; +} + +export interface ScriptableScalePointLabelContext { + chart: Chart; + scale: Scale; + index: number; + label: string; + type: string; +} + + +export const Ticks: { + formatters: { + /** + * Formatter for value labels + * @param value the value to display + * @return {string|string[]} the label to display + */ + values(value: unknown): string | string[]; + /** + * Formatter for numeric ticks + * @param tickValue the value to be formatted + * @param index the position of the tickValue parameter in the ticks array + * @param ticks the list of ticks being converted + * @return string representation of the tickValue parameter + */ + numeric(tickValue: number, index: number, ticks: { value: number }[]): string; + /** + * Formatter for logarithmic ticks + * @param tickValue the value to be formatted + * @param index the position of the tickValue parameter in the ticks array + * @param ticks the list of ticks being converted + * @return string representation of the tickValue parameter + */ + logarithmic(tickValue: number, index: number, ticks: { value: number }[]): string; + }; +}; + +export interface TypedRegistry { + /** + * @param {ChartComponent} item + * @returns {string} The scope where items defaults were registered to. + */ + register(item: ChartComponent): string; + get(id: string): T | undefined; + unregister(item: ChartComponent): void; +} + +export interface ChartEvent { + type: + | 'contextmenu' + | 'mouseenter' + | 'mousedown' + | 'mousemove' + | 'mouseup' + | 'mouseout' + | 'click' + | 'dblclick' + | 'keydown' + | 'keypress' + | 'keyup' + | 'resize'; + native: Event | null; + x: number | null; + y: number | null; +} +export interface ChartComponent { + id: string; + defaults?: AnyObject; + defaultRoutes?: { [property: string]: string }; + + beforeRegister?(): void; + afterRegister?(): void; + beforeUnregister?(): void; + afterUnregister?(): void; +} + +export type InteractionAxis = 'x' | 'y' | 'xy' | 'r'; + +export interface CoreInteractionOptions { + /** + * Sets which elements appear in the tooltip. See Interaction Modes for details. + * @default 'nearest' + */ + mode: InteractionMode; + /** + * if true, the hover mode only applies when the mouse position intersects an item on the chart. + * @default true + */ + intersect: boolean; + + /** + * Defines which directions are used in calculating distances. Defaults to 'x' for 'index' mode and 'xy' in dataset and 'nearest' modes. + */ + axis: InteractionAxis; + + /** + * if true, the invisible points that are outside of the chart area will also be included when evaluating interactions. + * @default false + */ + includeInvisible: boolean; +} + +export interface CoreChartOptions extends ParsingOptions, AnimationOptions { + + datasets: { + [key in ChartType]: ChartTypeRegistry[key]['datasetOptions'] + } + + /** + * The base axis of the chart. 'x' for vertical charts and 'y' for horizontal charts. + * @default 'x' + */ + indexAxis: 'x' | 'y'; + + /** + * How to clip relative to chartArea. Positive value allows overflow, negative value clips that many pixels inside chartArea. 0 = clip at chartArea. Clipping can also be configured per side: clip: {left: 5, top: false, right: -2, bottom: 0} + */ + clip: number | ChartArea | false; + + /** + * base color + * @see Defaults.color + */ + color: Scriptable>; + /** + * base background color + * @see Defaults.backgroundColor + */ + backgroundColor: Scriptable>; + /** + * base border color + * @see Defaults.borderColor + */ + borderColor: Scriptable>; + /** + * base font + * @see Defaults.font + */ + font: Partial; + /** + * Resizes the chart canvas when its container does (important note...). + * @default true + */ + responsive: boolean; + /** + * Maintain the original canvas aspect ratio (width / height) when resizing. + * @default true + */ + maintainAspectRatio: boolean; + /** + * Delay the resize update by give amount of milliseconds. This can ease the resize process by debouncing update of the elements. + * @default 0 + */ + resizeDelay: number; + + /** + * Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style. + * @default 2 + */ + aspectRatio: number; + + /** + * Locale used for number formatting (using `Intl.NumberFormat`). + * @default user's browser setting + */ + locale: string; + + /** + * Called when a resize occurs. Gets passed two arguments: the chart instance and the new size. + */ + onResize(chart: Chart, size: { width: number; height: number }): void; + + /** + * Override the window's default devicePixelRatio. + * @default window.devicePixelRatio + */ + devicePixelRatio: number; + + interaction: CoreInteractionOptions; + + hover: CoreInteractionOptions; + + /** + * The events option defines the browser events that the chart should listen to for tooltips and hovering. + * @default ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'] + */ + events: (keyof HTMLElementEventMap)[] + + /** + * Called when any of the events fire. Passed the event, an array of active elements (bars, points, etc), and the chart. + */ + onHover(event: ChartEvent, elements: ActiveElement[], chart: Chart): void; + + /** + * Called if the event is of type 'mouseup' or 'click'. Passed the event, an array of active elements, and the chart. + */ + onClick(event: ChartEvent, elements: ActiveElement[], chart: Chart): void; + + layout: Partial<{ + autoPadding: boolean; + padding: Scriptable, ScriptableContext>; + }>; +} + +export type EasingFunction = + | 'linear' + | 'easeInQuad' + | 'easeOutQuad' + | 'easeInOutQuad' + | 'easeInCubic' + | 'easeOutCubic' + | 'easeInOutCubic' + | 'easeInQuart' + | 'easeOutQuart' + | 'easeInOutQuart' + | 'easeInQuint' + | 'easeOutQuint' + | 'easeInOutQuint' + | 'easeInSine' + | 'easeOutSine' + | 'easeInOutSine' + | 'easeInExpo' + | 'easeOutExpo' + | 'easeInOutExpo' + | 'easeInCirc' + | 'easeOutCirc' + | 'easeInOutCirc' + | 'easeInElastic' + | 'easeOutElastic' + | 'easeInOutElastic' + | 'easeInBack' + | 'easeOutBack' + | 'easeInOutBack' + | 'easeInBounce' + | 'easeOutBounce' + | 'easeInOutBounce'; + +export type AnimationSpec = { + /** + * The number of milliseconds an animation takes. + * @default 1000 + */ + duration?: Scriptable>; + /** + * Easing function to use + * @default 'easeOutQuart' + */ + easing?: Scriptable>; + + /** + * Delay before starting the animations. + * @default 0 + */ + delay?: Scriptable>; + + /** + * If set to true, the animations loop endlessly. + * @default false + */ + loop?: Scriptable>; +} + +export type AnimationsSpec = { + [name: string]: false | AnimationSpec & { + properties: string[]; + + /** + * Type of property, determines the interpolator used. Possible values: 'number', 'color' and 'boolean'. Only really needed for 'color', because typeof does not get that right. + */ + type: 'color' | 'number' | 'boolean'; + + fn: (from: T, to: T, factor: number) => T; + + /** + * Start value for the animation. Current value is used when undefined + */ + from: Scriptable>; + /** + * + */ + to: Scriptable>; + } +} + +export type TransitionSpec = { + animation: AnimationSpec; + animations: AnimationsSpec; +} + +export type TransitionsSpec = { + [mode: string]: TransitionSpec +} + +export type AnimationOptions = { + animation: false | AnimationSpec & { + /** + * Callback called on each step of an animation. + */ + onProgress?: (this: Chart, event: AnimationEvent) => void; + /** + * Callback called when all animations are completed. + */ + onComplete?: (this: Chart, event: AnimationEvent) => void; + }; + animations: AnimationsSpec; + transitions: TransitionsSpec; +}; + +export interface FontSpec { + /** + * Default font family for all text, follows CSS font-family options. + * @default "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif" + */ + family: string; + /** + * Default font size (in px) for text. Does not apply to radialLinear scale point labels. + * @default 12 + */ + size: number; + /** + * Default font style. Does not apply to tooltip title or footer. Does not apply to chart title. Follows CSS font-style options (i.e. normal, italic, oblique, initial, inherit) + * @default 'normal' + */ + style: 'normal' | 'italic' | 'oblique' | 'initial' | 'inherit'; + /** + * Default font weight (boldness). (see MDN). + */ + weight: string | null; + /** + * Height of an individual line of text (see MDN). + * @default 1.2 + */ + lineHeight: number | string; +} + +export type TextAlign = 'left' | 'center' | 'right'; +export type Align = 'start' | 'center' | 'end'; + +export interface VisualElement { + draw(ctx: CanvasRenderingContext2D, area?: ChartArea): void; + inRange(mouseX: number, mouseY: number, useFinalPosition?: boolean): boolean; + inXRange(mouseX: number, useFinalPosition?: boolean): boolean; + inYRange(mouseY: number, useFinalPosition?: boolean): boolean; + getCenterPoint(useFinalPosition?: boolean): { x: number; y: number }; + getRange?(axis: 'x' | 'y'): number; +} + +export interface CommonElementOptions { + borderWidth: number; + borderColor: Color; + backgroundColor: Color; +} + +export interface CommonHoverOptions { + hoverBorderWidth: number; + hoverBorderColor: Color; + hoverBackgroundColor: Color; +} + +export interface Segment { + start: number; + end: number; + loop: boolean; +} + +export interface ArcProps { + x: number; + y: number; + startAngle: number; + endAngle: number; + innerRadius: number; + outerRadius: number; + circumference: number; +} + +export interface ArcBorderRadius { + outerStart: number; + outerEnd: number; + innerStart: number; + innerEnd: number; +} + +export interface ArcOptions extends CommonElementOptions { + /** + * Arc stroke alignment. + */ + borderAlign: 'center' | 'inner'; + + /** + * Line join style. See MDN. Default is 'round' when `borderAlign` is 'inner', else 'bevel'. + */ + borderJoinStyle: CanvasLineJoin; + + /** + * Sets the border radius for arcs + * @default 0 + */ + borderRadius: number | ArcBorderRadius; + + /** + * Arc offset (in pixels). + */ + offset: number; + + /** + * If false, Arc will be flat. + * @default true + */ + circular: boolean; +} + +export interface ArcHoverOptions extends CommonHoverOptions { + hoverOffset: number; +} + +export interface ArcElement + extends Element, + VisualElement {} + +export const ArcElement: ChartComponent & { + prototype: ArcElement; + new (cfg: AnyObject): ArcElement; +}; + +export interface LineProps { + points: Point[] +} + +export interface LineOptions extends CommonElementOptions { + /** + * Line cap style. See MDN. + * @default 'butt' + */ + borderCapStyle: CanvasLineCap; + /** + * Line dash. See MDN. + * @default [] + */ + borderDash: number[]; + /** + * Line dash offset. See MDN. + * @default 0.0 + */ + borderDashOffset: number; + /** + * Line join style. See MDN. + * @default 'miter' + */ + borderJoinStyle: CanvasLineJoin; + /** + * true to keep Bézier control inside the chart, false for no restriction. + * @default true + */ + capBezierPoints: boolean; + /** + * Interpolation mode to apply. + * @default 'default' + */ + cubicInterpolationMode: 'default' | 'monotone'; + /** + * Bézier curve tension (0 for no Bézier curves). + * @default 0 + */ + tension: number; + /** + * true to show the line as a stepped line (tension will be ignored). + * @default false + */ + stepped: 'before' | 'after' | 'middle' | boolean; + /** + * Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end + */ + fill: FillTarget | ComplexFillTarget; + /** + * If true, lines will be drawn between points with no or null data. If false, points with NaN data will create a break in the line. Can also be a number specifying the maximum gap length to span. The unit of the value depends on the scale used. + */ + spanGaps: boolean | number; + + segment: { + backgroundColor: Scriptable, + borderColor: Scriptable, + borderCapStyle: Scriptable; + borderDash: Scriptable; + borderDashOffset: Scriptable; + borderJoinStyle: Scriptable; + borderWidth: Scriptable; + }; +} + +export interface LineHoverOptions extends CommonHoverOptions { + hoverBorderCapStyle: CanvasLineCap; + hoverBorderDash: number[]; + hoverBorderDashOffset: number; + hoverBorderJoinStyle: CanvasLineJoin; +} + +export interface LineElement + extends Element, + VisualElement { + updateControlPoints(chartArea: ChartArea, indexAxis?: 'x' | 'y'): void; + points: Point[]; + readonly segments: Segment[]; + first(): Point | false; + last(): Point | false; + interpolate(point: Point, property: 'x' | 'y'): undefined | Point | Point[]; + pathSegment(ctx: CanvasRenderingContext2D, segment: Segment, params: AnyObject): undefined | boolean; + path(ctx: CanvasRenderingContext2D): boolean; +} + +export const LineElement: ChartComponent & { + prototype: LineElement; + new (cfg: AnyObject): LineElement; +}; + +export interface PointProps { + x: number; + y: number; +} + +export type PointStyle = + | 'circle' + | 'cross' + | 'crossRot' + | 'dash' + | 'line' + | 'rect' + | 'rectRounded' + | 'rectRot' + | 'star' + | 'triangle' + | HTMLImageElement + | HTMLCanvasElement; + +export interface PointOptions extends CommonElementOptions { + /** + * Point radius + * @default 3 + */ + radius: number; + /** + * Extra radius added to point radius for hit detection. + * @default 1 + */ + hitRadius: number; + /** + * Point style + * @default 'circle; + */ + pointStyle: PointStyle; + /** + * Point rotation (in degrees). + * @default 0 + */ + rotation: number; + /** + * Draw the active elements over the other elements of the dataset, + * @default true + */ + drawActiveElementsOnTop: boolean; +} + +export interface PointHoverOptions extends CommonHoverOptions { + /** + * Point radius when hovered. + * @default 4 + */ + hoverRadius: number; +} + +export interface PointPrefixedOptions { + /** + * The fill color for points. + */ + pointBackgroundColor: Color; + /** + * The border color for points. + */ + pointBorderColor: Color; + /** + * The width of the point border in pixels. + */ + pointBorderWidth: number; + /** + * The pixel size of the non-displayed point that reacts to mouse events. + */ + pointHitRadius: number; + /** + * The radius of the point shape. If set to 0, the point is not rendered. + */ + pointRadius: number; + /** + * The rotation of the point in degrees. + */ + pointRotation: number; + /** + * Style of the point. + */ + pointStyle: PointStyle; +} + +export interface PointPrefixedHoverOptions { + /** + * Point background color when hovered. + */ + pointHoverBackgroundColor: Color; + /** + * Point border color when hovered. + */ + pointHoverBorderColor: Color; + /** + * Border width of point when hovered. + */ + pointHoverBorderWidth: number; + /** + * The radius of the point when hovered. + */ + pointHoverRadius: number; +} + +export interface PointElement + extends Element, + VisualElement { + readonly skip: boolean; + readonly parsed: CartesianParsedData; +} + +export const PointElement: ChartComponent & { + prototype: PointElement; + new (cfg: AnyObject): PointElement; +}; + +export interface BarProps { + x: number; + y: number; + base: number; + horizontal: boolean; + width: number; + height: number; +} + +export interface BarOptions extends Omit { + /** + * The base value for the bar in data units along the value axis. + */ + base: number; + + /** + * Skipped (excluded) border: 'start', 'end', 'left', 'right', 'bottom', 'top', 'middle', false (none) or true (all). + * @default 'start' + */ + borderSkipped: 'start' | 'end' | 'left' | 'right' | 'bottom' | 'top' | 'middle' | boolean; + + /** + * Border radius + * @default 0 + */ + borderRadius: number | BorderRadius; + + /** + * Amount to inflate the rectangle(s). This can be used to hide artifacts between bars. + * Unit is pixels. 'auto' translates to 0.33 pixels when barPercentage * categoryPercentage is 1, else 0. + * @default 'auto' + */ + inflateAmount: number | 'auto'; + + /** + * Width of the border, number for all sides, object to specify width for each side specifically + * @default 0 + */ + borderWidth: number | { top?: number, right?: number, bottom?: number, left?: number }; +} + +export interface BorderRadius { + topLeft: number; + topRight: number; + bottomLeft: number; + bottomRight: number; +} + +export interface BarHoverOptions extends CommonHoverOptions { + hoverBorderRadius: number | BorderRadius; +} + +export interface BarElement< + T extends BarProps = BarProps, + O extends BarOptions = BarOptions +> extends Element, VisualElement {} + +export const BarElement: ChartComponent & { + prototype: BarElement; + new (cfg: AnyObject): BarElement; +}; + +export interface ElementOptionsByType { + arc: ScriptableAndArrayOptions>; + bar: ScriptableAndArrayOptions>; + line: ScriptableAndArrayOptions>; + point: ScriptableAndArrayOptions>; +} + +export type ElementChartOptions = { + elements: ElementOptionsByType +}; + +export class BasePlatform { + /** + * Called at chart construction time, returns a context2d instance implementing + * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}. + * @param {HTMLCanvasElement} canvas - The canvas from which to acquire context (platform specific) + * @param options - The chart options + */ + acquireContext( + canvas: HTMLCanvasElement, + options?: CanvasRenderingContext2DSettings + ): CanvasRenderingContext2D | null; + /** + * Called at chart destruction time, releases any resources associated to the context + * previously returned by the acquireContext() method. + * @param {CanvasRenderingContext2D} context - The context2d instance + * @returns {boolean} true if the method succeeded, else false + */ + releaseContext(context: CanvasRenderingContext2D): boolean; + /** + * Registers the specified listener on the given chart. + * @param {Chart} chart - Chart from which to listen for event + * @param {string} type - The ({@link ChartEvent}) type to listen for + * @param listener - Receives a notification (an object that implements + * the {@link ChartEvent} interface) when an event of the specified type occurs. + */ + addEventListener(chart: Chart, type: string, listener: (e: ChartEvent) => void): void; + /** + * Removes the specified listener previously registered with addEventListener. + * @param {Chart} chart - Chart from which to remove the listener + * @param {string} type - The ({@link ChartEvent}) type to remove + * @param listener - The listener function to remove from the event target. + */ + removeEventListener(chart: Chart, type: string, listener: (e: ChartEvent) => void): void; + /** + * @returns {number} the current devicePixelRatio of the device this platform is connected to. + */ + getDevicePixelRatio(): number; + /** + * @param {HTMLCanvasElement} canvas - The canvas for which to calculate the maximum size + * @param {number} [width] - Parent element's content width + * @param {number} [height] - Parent element's content height + * @param {number} [aspectRatio] - The aspect ratio to maintain + * @returns { width: number, height: number } the maximum size available. + */ + getMaximumSize(canvas: HTMLCanvasElement, width?: number, height?: number, aspectRatio?: number): { width: number, height: number }; + /** + * @param {HTMLCanvasElement} canvas + * @returns {boolean} true if the canvas is attached to the platform, false if not. + */ + isAttached(canvas: HTMLCanvasElement): boolean; + /** + * Updates config with platform specific requirements + * @param {ChartConfiguration | ChartConfigurationCustomTypes} config + */ + updateConfig(config: ChartConfiguration | ChartConfigurationCustomTypesPerDataset): void; +} + +export class BasicPlatform extends BasePlatform {} +export class DomPlatform extends BasePlatform {} + +export const Decimation: Plugin; + +export const enum DecimationAlgorithm { + lttb = 'lttb', + minmax = 'min-max', +} +interface BaseDecimationOptions { + enabled: boolean; + threshold?: number; +} + +interface LttbDecimationOptions extends BaseDecimationOptions { + algorithm: DecimationAlgorithm.lttb | 'lttb'; + samples?: number; +} + +interface MinMaxDecimationOptions extends BaseDecimationOptions { + algorithm: DecimationAlgorithm.minmax | 'min-max'; +} + +export type DecimationOptions = LttbDecimationOptions | MinMaxDecimationOptions; + +export const Filler: Plugin; +export interface FillerOptions { + drawTime: 'beforeDatasetDraw' | 'beforeDatasetsDraw'; + propagate: boolean; +} + +export type FillTarget = number | string | { value: number } | 'start' | 'end' | 'origin' | 'stack' | 'shape' | boolean; + +export interface ComplexFillTarget { + /** + * The accepted values are the same as the filling mode values, so you may use absolute and relative dataset indexes and/or boundaries. + */ + target: FillTarget; + /** + * If no color is set, the default color will be the background color of the chart. + */ + above: Color; + /** + * Same as the above. + */ + below: Color; +} + +export interface FillerControllerDatasetOptions { + /** + * Both line and radar charts support a fill option on the dataset object which can be used to create area between two datasets or a dataset and a boundary, i.e. the scale origin, start or end + */ + fill: FillTarget | ComplexFillTarget; +} + +export const Legend: Plugin; + +export interface LegendItem { + /** + * Label that will be displayed + */ + text: string; + + /** + * Border radius of the legend box + * @since 3.1.0 + */ + borderRadius?: number | BorderRadius; + + /** + * Index of the associated dataset + */ + datasetIndex?: number; + + /** + * Index the associated label in the labels array + */ + index?: number + + /** + * Fill style of the legend box + */ + fillStyle?: Color; + + /** + * Font color for the text + * Defaults to LegendOptions.labels.color + */ + fontColor?: Color; + + /** + * If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect + */ + hidden?: boolean; + + /** + * For box border. + * @see https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap + */ + lineCap?: CanvasLineCap; + + /** + * For box border. + * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash + */ + lineDash?: number[]; + + /** + * For box border. + * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset + */ + lineDashOffset?: number; + + /** + * For box border. + * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin + */ + lineJoin?: CanvasLineJoin; + + /** + * Width of box border + */ + lineWidth?: number; + + /** + * Stroke style of the legend box + */ + strokeStyle?: Color; + + /** + * Point style of the legend box (only used if usePointStyle is true) + */ + pointStyle?: PointStyle; + + /** + * Rotation of the point in degrees (only used if usePointStyle is true) + */ + rotation?: number; + + /** + * Text alignment + */ + textAlign?: TextAlign; +} + +export interface LegendElement extends Element>, LayoutItem { + chart: Chart; + ctx: CanvasRenderingContext2D; + legendItems?: LegendItem[]; + options: LegendOptions; +} + +export interface LegendOptions { + /** + * Is the legend shown? + * @default true + */ + display: boolean; + /** + * Position of the legend. + * @default 'top' + */ + position: LayoutPosition; + /** + * Alignment of the legend. + * @default 'center' + */ + align: Align; + /** + * Maximum height of the legend, in pixels + */ + maxHeight: number; + /** + * Maximum width of the legend, in pixels + */ + maxWidth: number; + /** + * Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use. + * @default true + */ + fullSize: boolean; + /** + * Legend will show datasets in reverse order. + * @default false + */ + reverse: boolean; + /** + * A callback that is called when a click event is registered on a label item. + */ + onClick(this: LegendElement, e: ChartEvent, legendItem: LegendItem, legend: LegendElement): void; + /** + * A callback that is called when a 'mousemove' event is registered on top of a label item + */ + onHover(this: LegendElement, e: ChartEvent, legendItem: LegendItem, legend: LegendElement): void; + /** + * A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item. + */ + onLeave(this: LegendElement, e: ChartEvent, legendItem: LegendItem, legend: LegendElement): void; + + labels: { + /** + * Width of colored box. + * @default 40 + */ + boxWidth: number; + /** + * Height of the coloured box. + * @default fontSize + */ + boxHeight: number; + /** + * Padding between the color box and the text + * @default 1 + */ + boxPadding: number; + /** + * Color of label + * @see Defaults.color + */ + color: Color; + /** + * Font of label + * @see Defaults.font + */ + font: ScriptableAndScriptableOptions, ScriptableChartContext>; + /** + * Padding between rows of colored boxes. + * @default 10 + */ + padding: number; + /** + * Generates legend items for each thing in the legend. Default implementation returns the text + styling for the color box. See Legend Item for details. + */ + generateLabels(chart: Chart): LegendItem[]; + + /** + * Filters legend items out of the legend. Receives 2 parameters, a Legend Item and the chart data + */ + filter(item: LegendItem, data: ChartData): boolean; + + /** + * Sorts the legend items + */ + sort(a: LegendItem, b: LegendItem, data: ChartData): number; + + /** + * Override point style for the legend. Only applies if usePointStyle is true + */ + pointStyle: PointStyle; + + /** + * Text alignment + */ + textAlign?: TextAlign; + + /** + * Label style will match corresponding point style (size is based on the minimum value between boxWidth and font.size). + * @default false + */ + usePointStyle: boolean; + }; + /** + * true for rendering the legends from right to left. + */ + rtl: boolean; + /** + * This will force the text direction 'rtl' or 'ltr' on the canvas for rendering the legend, regardless of the css specified on the canvas + * @default canvas' default + */ + textDirection: string; + + title: { + /** + * Is the legend title displayed. + * @default false + */ + display: boolean; + /** + * Color of title + * @see Defaults.color + */ + color: Color; + /** + * see Fonts + */ + font: ScriptableAndScriptableOptions, ScriptableChartContext>; + position: 'center' | 'start' | 'end'; + padding?: number | ChartArea; + /** + * The string title. + */ + text: string; + }; +} + +export const SubTitle: Plugin; +export const Title: Plugin; + +export interface TitleOptions { + /** + * Alignment of the title. + * @default 'center' + */ + align: Align; + /** + * Is the title shown? + * @default false + */ + display: boolean; + /** + * Position of title + * @default 'top' + */ + position: 'top' | 'left' | 'bottom' | 'right'; + /** + * Color of text + * @see Defaults.color + */ + color: Color; + font: ScriptableAndScriptableOptions, ScriptableChartContext>; + + /** + * Marks that this box should take the full width/height of the canvas (moving other boxes). If set to `false`, places the box above/beside the + * chart area + * @default true + */ + fullSize: boolean; + /** + * Adds padding above and below the title text if a single number is specified. It is also possible to change top and bottom padding separately. + */ + padding: number | { top: number; bottom: number }; + /** + * Title text to display. If specified as an array, text is rendered on multiple lines. + */ + text: string | string[]; +} + +export type TooltipXAlignment = 'left' | 'center' | 'right'; +export type TooltipYAlignment = 'top' | 'center' | 'bottom'; +export interface TooltipLabelStyle { + borderColor: Color; + backgroundColor: Color; + + /** + * Width of border line + * @since 3.1.0 + */ + borderWidth?: number; + + /** + * Border dash + * @since 3.1.0 + */ + borderDash?: [number, number]; + + /** + * Border dash offset + * @since 3.1.0 + */ + borderDashOffset?: number; + + /** + * borderRadius + * @since 3.1.0 + */ + borderRadius?: number | BorderRadius; +} +export interface TooltipModel extends Element> { + readonly chart: Chart; + + // The items that we are rendering in the tooltip. See Tooltip Item Interface section + dataPoints: TooltipItem[]; + + // Positioning + xAlign: TooltipXAlignment; + yAlign: TooltipYAlignment; + + // X and Y properties are the top left of the tooltip + x: number; + y: number; + width: number; + height: number; + // Where the tooltip points to + caretX: number; + caretY: number; + + // Body + // The body lines that need to be rendered + // Each object contains 3 parameters + // before: string[] // lines of text before the line with the color square + // lines: string[]; // lines of text to render as the main item with color square + // after: string[]; // lines of text to render after the main lines + body: { before: string[]; lines: string[]; after: string[] }[]; + // lines of text that appear after the title but before the body + beforeBody: string[]; + // line of text that appear after the body and before the footer + afterBody: string[]; + + // Title + // lines of text that form the title + title: string[]; + + // Footer + // lines of text that form the footer + footer: string[]; + + // Styles to render for each item in body[]. This is the styling of the squares in the tooltip + labelColors: TooltipLabelStyle[]; + labelTextColors: Color[]; + labelPointStyles: { pointStyle: PointStyle; rotation: number }[]; + + // 0 opacity is a hidden tooltip + opacity: number; + + // tooltip options + options: TooltipOptions; + + getActiveElements(): ActiveElement[]; + setActiveElements(active: ActiveDataPoint[], eventPosition: Point): void; +} + +export interface TooltipPosition { + x: number; + y: number; + xAlign?: TooltipXAlignment; + yAlign?: TooltipYAlignment; +} + +export type TooltipPositionerFunction = ( + this: TooltipModel, + items: readonly ActiveElement[], + eventPosition: Point +) => TooltipPosition | false; + +export interface TooltipPositionerMap { + average: TooltipPositionerFunction; + nearest: TooltipPositionerFunction; +} + +export type TooltipPositioner = keyof TooltipPositionerMap; + +export interface Tooltip extends Plugin { + readonly positioners: TooltipPositionerMap; +} + +export const Tooltip: Tooltip; + +export interface TooltipCallbacks< + TType extends ChartType, + Model = TooltipModel, + Item = TooltipItem> { + + beforeTitle(this: Model, tooltipItems: Item[]): string | string[]; + title(this: Model, tooltipItems: Item[]): string | string[]; + afterTitle(this: Model, tooltipItems: Item[]): string | string[]; + + beforeBody(this: Model, tooltipItems: Item[]): string | string[]; + afterBody(this: Model, tooltipItems: Item[]): string | string[]; + + beforeLabel(this: Model, tooltipItem: Item): string | string[]; + label(this: Model, tooltipItem: Item): string | string[]; + afterLabel(this: Model, tooltipItem: Item): string | string[]; + + labelColor(this: Model, tooltipItem: Item): TooltipLabelStyle; + labelTextColor(this: Model, tooltipItem: Item): Color; + labelPointStyle(this: Model, tooltipItem: Item): { pointStyle: PointStyle; rotation: number }; + + beforeFooter(this: Model, tooltipItems: Item[]): string | string[]; + footer(this: Model, tooltipItems: Item[]): string | string[]; + afterFooter(this: Model, tooltipItems: Item[]): string | string[]; +} + +export interface ExtendedPlugin< + TType extends ChartType, + O = AnyObject, + Model = TooltipModel> { + /** + * @desc Called before drawing the `tooltip`. If any plugin returns `false`, + * the tooltip drawing is cancelled until another `render` is triggered. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Tooltip} args.tooltip - The tooltip. + * @param {object} options - The plugin options. + * @returns {boolean} `false` to cancel the chart tooltip drawing. + */ + beforeTooltipDraw?(chart: Chart, args: { tooltip: Model }, options: O): boolean | void; + /** + * @desc Called after drawing the `tooltip`. Note that this hook will not + * be called if the tooltip drawing has been previously cancelled. + * @param {Chart} chart - The chart instance. + * @param {object} args - The call arguments. + * @param {Tooltip} args.tooltip - The tooltip. + * @param {object} options - The plugin options. + */ + afterTooltipDraw?(chart: Chart, args: { tooltip: Model }, options: O): void; +} + +export interface ScriptableTooltipContext { + chart: UnionToIntersection>; + tooltip: UnionToIntersection>; + tooltipItems: TooltipItem[]; +} + +export interface TooltipOptions extends CoreInteractionOptions { + /** + * Are on-canvas tooltips enabled? + * @default true + */ + enabled: Scriptable>; + /** + * See external tooltip section. + */ + external(this: TooltipModel, args: { chart: Chart; tooltip: TooltipModel }): void; + /** + * The mode for positioning the tooltip + */ + position: Scriptable> + + /** + * Override the tooltip alignment calculations + */ + xAlign: Scriptable>; + yAlign: Scriptable>; + + /** + * Sort tooltip items. + */ + itemSort: (a: TooltipItem, b: TooltipItem, data: ChartData) => number; + + filter: (e: TooltipItem, index: number, array: TooltipItem[], data: ChartData) => boolean; + + /** + * Background color of the tooltip. + * @default 'rgba(0, 0, 0, 0.8)' + */ + backgroundColor: Scriptable>; + /** + * Padding between the color box and the text. + * @default 1 + */ + boxPadding: number; + /** + * Color of title + * @default '#fff' + */ + titleColor: Scriptable>; + /** + * See Fonts + * @default {weight: 'bold'} + */ + titleFont: ScriptableAndScriptableOptions, ScriptableTooltipContext>; + /** + * Spacing to add to top and bottom of each title line. + * @default 2 + */ + titleSpacing: Scriptable>; + /** + * Margin to add on bottom of title section. + * @default 6 + */ + titleMarginBottom: Scriptable>; + /** + * Horizontal alignment of the title text lines. + * @default 'left' + */ + titleAlign: Scriptable>; + /** + * Spacing to add to top and bottom of each tooltip item. + * @default 2 + */ + bodySpacing: Scriptable>; + /** + * Color of body + * @default '#fff' + */ + bodyColor: Scriptable>; + /** + * See Fonts. + * @default {} + */ + bodyFont: ScriptableAndScriptableOptions, ScriptableTooltipContext>; + /** + * Horizontal alignment of the body text lines. + * @default 'left' + */ + bodyAlign: Scriptable>; + /** + * Spacing to add to top and bottom of each footer line. + * @default 2 + */ + footerSpacing: Scriptable>; + /** + * Margin to add before drawing the footer. + * @default 6 + */ + footerMarginTop: Scriptable>; + /** + * Color of footer + * @default '#fff' + */ + footerColor: Scriptable>; + /** + * See Fonts + * @default {weight: 'bold'} + */ + footerFont: ScriptableAndScriptableOptions, ScriptableTooltipContext>; + /** + * Horizontal alignment of the footer text lines. + * @default 'left' + */ + footerAlign: Scriptable>; + /** + * Padding to add to the tooltip + * @default 6 + */ + padding: Scriptable>; + /** + * Extra distance to move the end of the tooltip arrow away from the tooltip point. + * @default 2 + */ + caretPadding: Scriptable>; + /** + * Size, in px, of the tooltip arrow. + * @default 5 + */ + caretSize: Scriptable>; + /** + * Radius of tooltip corner curves. + * @default 6 + */ + cornerRadius: Scriptable>; + /** + * Color to draw behind the colored boxes when multiple items are in the tooltip. + * @default '#fff' + */ + multiKeyBackground: Scriptable>; + /** + * If true, color boxes are shown in the tooltip. + * @default true + */ + displayColors: Scriptable>; + /** + * Width of the color box if displayColors is true. + * @default bodyFont.size + */ + boxWidth: Scriptable>; + /** + * Height of the color box if displayColors is true. + * @default bodyFont.size + */ + boxHeight: Scriptable>; + /** + * Use the corresponding point style (from dataset options) instead of color boxes, ex: star, triangle etc. (size is based on the minimum value between boxWidth and boxHeight) + * @default false + */ + usePointStyle: Scriptable>; + /** + * Color of the border. + * @default 'rgba(0, 0, 0, 0)' + */ + borderColor: Scriptable>; + /** + * Size of the border. + * @default 0 + */ + borderWidth: Scriptable>; + /** + * true for rendering the legends from right to left. + */ + rtl: Scriptable>; + + /** + * This will force the text direction 'rtl' or 'ltr on the canvas for rendering the tooltips, regardless of the css specified on the canvas + * @default canvas's default + */ + textDirection: Scriptable>; + + animation: AnimationSpec; + animations: AnimationsSpec; + callbacks: TooltipCallbacks; +} + +export interface TooltipItem { + /** + * The chart the tooltip is being shown on + */ + chart: Chart; + + /** + * Label for the tooltip + */ + label: string; + + /** + * Parsed data values for the given `dataIndex` and `datasetIndex` + */ + parsed: UnionToIntersection>; + + /** + * Raw data values for the given `dataIndex` and `datasetIndex` + */ + raw: unknown; + + /** + * Formatted value for the tooltip + */ + formattedValue: string; + + /** + * The dataset the item comes from + */ + dataset: UnionToIntersection>; + + /** + * Index of the dataset the item comes from + */ + datasetIndex: number; + + /** + * Index of this data item in the dataset + */ + dataIndex: number; + + /** + * The chart element (point, arc, bar, etc.) for this tooltip item + */ + element: Element; +} + +export interface PluginOptionsByType { + decimation: DecimationOptions; + filler: FillerOptions; + legend: LegendOptions; + subtitle: TitleOptions; + title: TitleOptions; + tooltip: TooltipOptions; +} +export interface PluginChartOptions { + plugins: PluginOptionsByType; +} + +export interface GridLineOptions { + /** + * @default true + */ + display: boolean; + borderColor: Color; + borderWidth: number; + /** + * @default false + */ + circular: boolean; + /** + * @default 'rgba(0, 0, 0, 0.1)' + */ + color: ScriptableAndArray; + /** + * @default [] + */ + borderDash: Scriptable; + /** + * @default 0 + */ + borderDashOffset: Scriptable; + /** + * @default 1 + */ + lineWidth: ScriptableAndArray; + + /** + * @default true + */ + drawBorder: boolean; + /** + * @default true + */ + drawOnChartArea: boolean; + /** + * @default true + */ + drawTicks: boolean; + /** + * @default [] + */ + tickBorderDash: number[]; + /** + * @default 0 + */ + tickBorderDashOffset: Scriptable; + /** + * @default 'rgba(0, 0, 0, 0.1)' + */ + tickColor: ScriptableAndArray; + /** + * @default 10 + */ + tickLength: number; + /** + * @default 1 + */ + tickWidth: number; + /** + * @default false + */ + offset: boolean; + /** + * @default 0 + */ + z: number; +} + +export interface TickOptions { + /** + * Color of label backdrops. + * @default 'rgba(255, 255, 255, 0.75)' + */ + backdropColor: Scriptable; + /** + * Padding of tick backdrop. + * @default 2 + */ + backdropPadding: number | ChartArea; + + /** + * Returns the string representation of the tick value as it should be displayed on the chart. See callback. + */ + callback: (this: Scale, tickValue: number | string, index: number, ticks: Tick[]) => string | string[] | number | number[] | null | undefined; + /** + * If true, show tick labels. + * @default true + */ + display: boolean; + /** + * Color of tick + * @see Defaults.color + */ + color: ScriptableAndArray; + /** + * see Fonts + */ + font: ScriptableAndScriptableOptions, ScriptableScaleContext>; + /** + * Sets the offset of the tick labels from the axis + */ + padding: number; + /** + * If true, draw a background behind the tick labels. + * @default false + */ + showLabelBackdrop: Scriptable; + /** + * The color of the stroke around the text. + * @default undefined + */ + textStrokeColor: Scriptable; + /** + * Stroke width around the text. + * @default 0 + */ + textStrokeWidth: Scriptable; + /** + * z-index of tick layer. Useful when ticks are drawn on chart area. Values <= 0 are drawn under datasets, > 0 on top. + * @default 0 + */ + z: number; + + major: { + /** + * If true, major ticks are generated. A major tick will affect autoskipping and major will be defined on ticks in the scriptable options context. + * @default false + */ + enabled: boolean; + }; +} + +export type CartesianTickOptions = TickOptions & { + /** + * The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length. + * @default ticks.length + */ + sampleSize: number; + /** + * The label alignment + * @default 'center' + */ + align: Align | 'inner'; + /** + * If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what. + * @default true + */ + autoSkip: boolean; + /** + * Padding between the ticks on the horizontal axis when autoSkip is enabled. + * @default 0 + */ + autoSkipPadding: number; + + /** + * How is the label positioned perpendicular to the axis direction. + * This only applies when the rotation is 0 and the axis position is one of "top", "left", "right", or "bottom" + * @default 'near' + */ + crossAlign: 'near' | 'center' | 'far'; + + /** + * Should the defined `min` and `max` values be presented as ticks even if they are not "nice". + * @default: true + */ + includeBounds: boolean; + + /** + * Distance in pixels to offset the label from the centre point of the tick (in the x direction for the x axis, and the y direction for the y axis). Note: this can cause labels at the edges to be cropped by the edge of the canvas + * @default 0 + */ + labelOffset: number; + + /** + * Minimum rotation for tick labels. Note: Only applicable to horizontal scales. + * @default 0 + */ + minRotation: number; + /** + * Maximum rotation for tick labels when rotating to condense labels. Note: Rotation doesn't occur until necessary. Note: Only applicable to horizontal scales. + * @default 50 + */ + maxRotation: number; + /** + * Flips tick labels around axis, displaying the labels inside the chart instead of outside. Note: Only applicable to vertical scales. + * @default false + */ + mirror: boolean; + /** + * Padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction. + * @default 0 + */ + padding: number; + /** + * Maximum number of ticks and gridlines to show. + * @default 11 + */ + maxTicksLimit: number; +} + +export interface ScriptableCartesianScaleContext { + scale: keyof CartesianScaleTypeRegistry; + type: string; +} + +export interface ScriptableChartContext { + chart: Chart; + type: string; +} + +export interface CartesianScaleOptions extends CoreScaleOptions { + /** + * Scale boundary strategy (bypassed by min/max time options) + * - `data`: make sure data are fully visible, ticks outside are removed + * - `ticks`: make sure ticks are fully visible, data outside are truncated + * @since 2.7.0 + * @default 'ticks' + */ + bounds: 'ticks' | 'data'; + + /** + * Position of the axis. + */ + position: 'left' | 'top' | 'right' | 'bottom' | 'center' | { [scale: string]: number }; + + /** + * Stack group. Axes at the same `position` with same `stack` are stacked. + */ + stack?: string; + + /** + * Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group. + * @default 1 + */ + stackWeight?: number; + + /** + * Which type of axis this is. Possible values are: 'x', 'y'. If not set, this is inferred from the first character of the ID which should be 'x' or 'y'. + */ + axis: 'x' | 'y'; + + /** + * User defined minimum value for the scale, overrides minimum value from data. + */ + min: number; + + /** + * User defined maximum value for the scale, overrides maximum value from data. + */ + max: number; + + /** + * If true, extra space is added to the both edges and the axis is scaled to fit into the chart area. This is set to true for a bar chart by default. + * @default false + */ + offset: boolean; + + grid: GridLineOptions; + + /** Options for the scale title. */ + title: { + /** If true, displays the axis title. */ + display: boolean; + /** Alignment of the axis title. */ + align: Align; + /** The text for the title, e.g. "# of People" or "Response Choices". */ + text: string | string[]; + /** Color of the axis label. */ + color: Color; + /** Information about the axis title font. */ + font: ScriptableAndScriptableOptions, ScriptableCartesianScaleContext>; + /** Padding to apply around scale labels. */ + padding: number | { + /** Padding on the (relative) top side of this axis label. */ + top: number; + /** Padding on the (relative) bottom side of this axis label. */ + bottom: number; + /** This is a shorthand for defining top/bottom to the same values. */ + y: number; + }; + }; + + /** + * If true, data will be comprised between datasets of data + * @default false + */ + stacked?: boolean | 'single'; + + ticks: CartesianTickOptions; +} + +export type CategoryScaleOptions = Omit & { + min: string | number; + max: string | number; + labels: string[] | string[][]; +}; + +export type CategoryScale = Scale +export const CategoryScale: ChartComponent & { + prototype: CategoryScale; + new (cfg: AnyObject): CategoryScale; +}; + +export type LinearScaleOptions = CartesianScaleOptions & { + + /** + * if true, scale will include 0 if it is not already included. + * @default true + */ + beginAtZero: boolean; + /** + * Adjustment used when calculating the maximum data value. + */ + suggestedMin?: number; + /** + * Adjustment used when calculating the minimum data value. + */ + suggestedMax?: number; + /** + * Percentage (string ending with %) or amount (number) for added room in the scale range above and below data. + */ + grace?: string | number; + + ticks: { + /** + * The Intl.NumberFormat options used by the default label formatter + */ + format: Intl.NumberFormatOptions; + + /** + * if defined and stepSize is not specified, the step size will be rounded to this many decimal places. + */ + precision: number; + + /** + * User defined fixed step size for the scale + */ + stepSize: number; + + /** + * User defined count of ticks + */ + count: number; + }; +}; + +export type LinearScale = Scale +export const LinearScale: ChartComponent & { + prototype: LinearScale; + new (cfg: AnyObject): LinearScale; +}; + +export type LogarithmicScaleOptions = CartesianScaleOptions & { + /** + * Adjustment used when calculating the maximum data value. + */ + suggestedMin?: number; + /** + * Adjustment used when calculating the minimum data value. + */ + suggestedMax?: number; + + ticks: { + /** + * The Intl.NumberFormat options used by the default label formatter + */ + format: Intl.NumberFormatOptions; + }; +}; + +export type LogarithmicScale = Scale +export const LogarithmicScale: ChartComponent & { + prototype: LogarithmicScale; + new (cfg: AnyObject): LogarithmicScale; +}; + +export type TimeScaleOptions = Omit & { + min: string | number; + max: string | number; + suggestedMin: string | number; + suggestedMax: string | number; + /** + * Scale boundary strategy (bypassed by min/max time options) + * - `data`: make sure data are fully visible, ticks outside are removed + * - `ticks`: make sure ticks are fully visible, data outside are truncated + * @since 2.7.0 + * @default 'data' + */ + bounds: 'ticks' | 'data'; + + /** + * If true, bar chart offsets are computed with skipped tick sizes + * @since 3.8.0 + * @default false + */ + offsetAfterAutoskip: boolean; + + /** + * options for creating a new adapter instance + */ + adapters: { + date: unknown; + }; + + time: { + /** + * Custom parser for dates. + */ + parser: string | ((v: unknown) => number); + /** + * If defined, dates will be rounded to the start of this unit. See Time Units below for the allowed units. + */ + round: false | TimeUnit; + /** + * If boolean and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. + * If `number`, the index of the first day of the week (0 - Sunday, 6 - Saturday). + * @default false + */ + isoWeekday: boolean | number; + /** + * Sets how different time units are displayed. + */ + displayFormats: { + [key: string]: string; + }; + /** + * The format string to use for the tooltip. + */ + tooltipFormat: string; + /** + * If defined, will force the unit to be a certain type. See Time Units section below for details. + * @default false + */ + unit: false | TimeUnit; + + /** + * The number of units between grid lines. + * @default 1 + */ + stepSize: number; + /** + * The minimum display format to be used for a time unit. + * @default 'millisecond' + */ + minUnit: TimeUnit; + }; + + ticks: { + /** + * Ticks generation input values: + * - 'auto': generates "optimal" ticks based on scale size and time options. + * - 'data': generates ticks from data (including labels from data {t|x|y} objects). + * - 'labels': generates ticks from user given `data.labels` values ONLY. + * @see https://github.com/chartjs/Chart.js/pull/4507 + * @since 2.7.0 + * @default 'auto' + */ + source: 'labels' | 'auto' | 'data'; + }; +}; + +export interface TimeScale extends Scale { + getDataTimestamps(): number[]; + getLabelTimestamps(): string[]; + normalize(values: number[]): number[]; +} + +export const TimeScale: ChartComponent & { + prototype: TimeScale; + new (cfg: AnyObject): TimeScale; +}; + +export type TimeSeriesScale = TimeScale +export const TimeSeriesScale: ChartComponent & { + prototype: TimeSeriesScale; + new (cfg: AnyObject): TimeSeriesScale; +}; + +export type RadialTickOptions = TickOptions & { + /** + * The Intl.NumberFormat options used by the default label formatter + */ + format: Intl.NumberFormatOptions; + + /** + * Maximum number of ticks and gridlines to show. + * @default 11 + */ + maxTicksLimit: number; + + /** + * if defined and stepSize is not specified, the step size will be rounded to this many decimal places. + */ + precision: number; + + /** + * User defined fixed step size for the scale. + */ + stepSize: number; + + /** + * User defined number of ticks + */ + count: number; +} + +export type RadialLinearScaleOptions = CoreScaleOptions & { + animate: boolean; + + startAngle: number; + + angleLines: { + /** + * if true, angle lines are shown. + * @default true + */ + display: boolean; + /** + * Color of angled lines. + * @default 'rgba(0, 0, 0, 0.1)' + */ + color: Scriptable; + /** + * Width of angled lines. + * @default 1 + */ + lineWidth: Scriptable; + /** + * Length and spacing of dashes on angled lines. See MDN. + * @default [] + */ + borderDash: Scriptable; + /** + * Offset for line dashes. See MDN. + * @default 0 + */ + borderDashOffset: Scriptable; + }; + + /** + * if true, scale will include 0 if it is not already included. + * @default false + */ + beginAtZero: boolean; + + grid: GridLineOptions; + + /** + * User defined minimum number for the scale, overrides minimum value from data. + */ + min: number; + /** + * User defined maximum number for the scale, overrides maximum value from data. + */ + max: number; + + pointLabels: { + /** + * Background color of the point label. + * @default undefined + */ + backdropColor: Scriptable; + /** + * Padding of label backdrop. + * @default 2 + */ + backdropPadding: Scriptable; + + /** + * Border radius + * @default 0 + * @since 3.8.0 + */ + borderRadius: Scriptable; + + /** + * if true, point labels are shown. + * @default true + */ + display: boolean; + /** + * Color of label + * @see Defaults.color + */ + color: Scriptable; + /** + */ + font: ScriptableAndScriptableOptions, ScriptableScalePointLabelContext>; + + /** + * Callback function to transform data labels to point labels. The default implementation simply returns the current string. + */ + callback: (label: string, index: number) => string | string[] | number | number[]; + + /** + * Padding around the pointLabels + * @default 5 + */ + padding: Scriptable; + + /** + * if true, point labels are centered. + * @default false + */ + centerPointLabels: boolean; + }; + + /** + * Adjustment used when calculating the maximum data value. + */ + suggestedMax: number; + /** + * Adjustment used when calculating the minimum data value. + */ + suggestedMin: number; + + ticks: RadialTickOptions; +}; + +export interface RadialLinearScale extends Scale { + setCenterPoint(leftMovement: number, rightMovement: number, topMovement: number, bottomMovement: number): void; + getIndexAngle(index: number): number; + getDistanceFromCenterForValue(value: number): number; + getValueForDistanceFromCenter(distance: number): number; + getPointPosition(index: number, distanceFromCenter: number): { x: number; y: number; angle: number }; + getPointPositionForValue(index: number, value: number): { x: number; y: number; angle: number }; + getPointLabelPosition(index: number): ChartArea; + getBasePosition(index: number): { x: number; y: number; angle: number }; +} +export const RadialLinearScale: ChartComponent & { + prototype: RadialLinearScale; + new (cfg: AnyObject): RadialLinearScale; +}; + +export interface CartesianScaleTypeRegistry { + linear: { + options: LinearScaleOptions; + }; + logarithmic: { + options: LogarithmicScaleOptions; + }; + category: { + options: CategoryScaleOptions; + }; + time: { + options: TimeScaleOptions; + }; + timeseries: { + options: TimeScaleOptions; + }; +} + +export interface RadialScaleTypeRegistry { + radialLinear: { + options: RadialLinearScaleOptions; + }; +} + +export interface ScaleTypeRegistry extends CartesianScaleTypeRegistry, RadialScaleTypeRegistry { +} + +export type ScaleType = keyof ScaleTypeRegistry; + +interface CartesianParsedData { + x: number; + y: number; + + // Only specified when stacked bars are enabled + _stacks?: { + // Key is the stack ID which is generally the axis ID + [key: string]: { + // Inner key is the datasetIndex + [key: number]: number; + } + } +} + +interface BarParsedData extends CartesianParsedData { + // Only specified if floating bars are show + _custom?: { + barStart: number; + barEnd: number; + start: number; + end: number; + min: number; + max: number; + } +} + +interface BubbleParsedData extends CartesianParsedData { + // The bubble radius value + _custom: number; +} + +interface RadialParsedData { + r: number; +} + +export interface ChartTypeRegistry { + bar: { + chartOptions: BarControllerChartOptions; + datasetOptions: BarControllerDatasetOptions; + defaultDataPoint: number; + metaExtensions: {}; + parsedDataType: BarParsedData, + scales: keyof CartesianScaleTypeRegistry; + }; + line: { + chartOptions: LineControllerChartOptions; + datasetOptions: LineControllerDatasetOptions & FillerControllerDatasetOptions; + defaultDataPoint: ScatterDataPoint | number | null; + metaExtensions: {}; + parsedDataType: CartesianParsedData; + scales: keyof CartesianScaleTypeRegistry; + }; + scatter: { + chartOptions: ScatterControllerChartOptions; + datasetOptions: ScatterControllerDatasetOptions; + defaultDataPoint: ScatterDataPoint | number | null; + metaExtensions: {}; + parsedDataType: CartesianParsedData; + scales: keyof CartesianScaleTypeRegistry; + }; + bubble: { + chartOptions: unknown; + datasetOptions: BubbleControllerDatasetOptions; + defaultDataPoint: BubbleDataPoint; + metaExtensions: {}; + parsedDataType: BubbleParsedData; + scales: keyof CartesianScaleTypeRegistry; + }; + pie: { + chartOptions: PieControllerChartOptions; + datasetOptions: PieControllerDatasetOptions; + defaultDataPoint: PieDataPoint; + metaExtensions: PieMetaExtensions; + parsedDataType: number; + scales: keyof CartesianScaleTypeRegistry; + }; + doughnut: { + chartOptions: DoughnutControllerChartOptions; + datasetOptions: DoughnutControllerDatasetOptions; + defaultDataPoint: DoughnutDataPoint; + metaExtensions: DoughnutMetaExtensions; + parsedDataType: number; + scales: keyof CartesianScaleTypeRegistry; + }; + polarArea: { + chartOptions: PolarAreaControllerChartOptions; + datasetOptions: PolarAreaControllerDatasetOptions; + defaultDataPoint: number; + metaExtensions: {}; + parsedDataType: RadialParsedData; + scales: keyof RadialScaleTypeRegistry; + }; + radar: { + chartOptions: RadarControllerChartOptions; + datasetOptions: RadarControllerDatasetOptions & FillerControllerDatasetOptions; + defaultDataPoint: number | null; + metaExtensions: {}; + parsedDataType: RadialParsedData; + scales: keyof RadialScaleTypeRegistry; + }; +} + +export type ChartType = keyof ChartTypeRegistry; + +export type ScaleOptionsByType = + { [key in ScaleType]: { type: key } & ScaleTypeRegistry[key]['options'] }[TScale] +; + +// Convenience alias for creating and manipulating scale options in user code +export type ScaleOptions = DeepPartial>; + +export type DatasetChartOptions = { + [key in TType]: { + datasets: ChartTypeRegistry[key]['datasetOptions']; + }; +}; + +export type ScaleChartOptions = { + scales: { + [key: string]: ScaleOptionsByType; + }; +}; + +export type ChartOptions = DeepPartial< +CoreChartOptions & +ElementChartOptions & +PluginChartOptions & +DatasetChartOptions & +ScaleChartOptions & +ChartTypeRegistry[TType]['chartOptions'] +>; + +export type DefaultDataPoint = DistributiveArray; + +export type ParsedDataType = ChartTypeRegistry[TType]['parsedDataType']; + +export interface ChartDatasetProperties { + type?: TType; + data: TData; +} + +export interface ChartDatasetPropertiesCustomTypesPerDataset { + type: TType; + data: TData; +} + +export type ChartDataset< + TType extends ChartType = ChartType, + TData = DefaultDataPoint +> = DeepPartial< +{ [key in ChartType]: { type: key } & ChartTypeRegistry[key]['datasetOptions'] }[TType] +> & ChartDatasetProperties; + +export type ChartDatasetCustomTypesPerDataset< + TType extends ChartType = ChartType, + TData = DefaultDataPoint +> = DeepPartial< +{ [key in ChartType]: { type: key } & ChartTypeRegistry[key]['datasetOptions'] }[TType] +> & ChartDatasetPropertiesCustomTypesPerDataset; + +/** + * TData represents the data point type. If unspecified, a default is provided + * based on the chart type. + * TLabel represents the label type + */ +export interface ChartData< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown +> { + labels?: TLabel[]; + datasets: ChartDataset[]; +} + +export interface ChartDataCustomTypesPerDataset< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown +> { + labels?: TLabel[]; + datasets: ChartDatasetCustomTypesPerDataset[]; +} + +export interface ChartConfiguration< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown +> { + type: TType; + data: ChartData; + options?: ChartOptions; + plugins?: Plugin[]; +} + +export interface ChartConfigurationCustomTypesPerDataset< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown +> { + data: ChartDataCustomTypesPerDataset; + options?: ChartOptions; + plugins?: Plugin[]; +} diff --git a/scriptApl/chart.js/types/layout.d.ts b/scriptApl/chart.js/types/layout.d.ts new file mode 100644 index 00000000..4c770711 --- /dev/null +++ b/scriptApl/chart.js/types/layout.d.ts @@ -0,0 +1,65 @@ +import { ChartArea } from './geometric'; + +export type LayoutPosition = 'left' | 'top' | 'right' | 'bottom' | 'center' | 'chartArea' | {[scaleId: string]: number}; + +export interface LayoutItem { + /** + * The position of the item in the chart layout. Possible values are + */ + position: LayoutPosition; + /** + * The weight used to sort the item. Higher weights are further away from the chart area + */ + weight: number; + /** + * if true, and the item is horizontal, then push vertical boxes down + */ + fullSize: boolean; + /** + * Width of item. Must be valid after update() + */ + width: number; + /** + * Height of item. Must be valid after update() + */ + height: number; + /** + * Left edge of the item. Set by layout system and cannot be used in update + */ + left: number; + /** + * Top edge of the item. Set by layout system and cannot be used in update + */ + top: number; + /** + * Right edge of the item. Set by layout system and cannot be used in update + */ + right: number; + /** + * Bottom edge of the item. Set by layout system and cannot be used in update + */ + bottom: number; + + /** + * Called before the layout process starts + */ + beforeLayout?(): void; + /** + * Draws the element + */ + draw(chartArea: ChartArea): void; + /** + * Returns an object with padding on the edges + */ + getPadding?(): ChartArea; + /** + * returns true if the layout item is horizontal (ie. top or bottom) + */ + isHorizontal(): boolean; + /** + * Takes two parameters: width and height. + * @param width + * @param height + */ + update(width: number, height: number, margins?: ChartArea): void; +} diff --git a/scriptApl/chart.js/types/tests/.eslintrc.yml b/scriptApl/chart.js/types/tests/.eslintrc.yml new file mode 100644 index 00000000..d5b7cf09 --- /dev/null +++ b/scriptApl/chart.js/types/tests/.eslintrc.yml @@ -0,0 +1,2 @@ +rules: + '@typescript-eslint/no-unused-vars': 'off' diff --git a/scriptApl/chart.js/types/tests/animation.ts b/scriptApl/chart.js/types/tests/animation.ts new file mode 100644 index 00000000..bc9ff433 --- /dev/null +++ b/scriptApl/chart.js/types/tests/animation.ts @@ -0,0 +1,70 @@ +import { Chart } from '../index.esm'; + +const chart = new Chart('id', { + type: 'bar', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + animation: false, + animations: { + colors: false, + numbers: { + properties: ['a', 'b'], + type: 'number', + from: 0, + to: 10, + delay: (ctx) => ctx.dataIndex * 100, + duration: (ctx) => ctx.datasetIndex * 1000, + loop: true, + easing: 'linear' + } + }, + transitions: { + show: { + animation: { + duration: 10 + }, + animations: { + numbers: false + } + }, + custom: { + animation: { + duration: 10 + } + } + } + }, +}); + + +const pie = new Chart('id', { + type: 'pie', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + animation: false, + } +}); + + +const polarArea = new Chart('id', { + type: 'polarArea', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + animation: false, + } +}); diff --git a/scriptApl/chart.js/types/tests/autogen.js b/scriptApl/chart.js/types/tests/autogen.js new file mode 100644 index 00000000..6b377044 --- /dev/null +++ b/scriptApl/chart.js/types/tests/autogen.js @@ -0,0 +1,22 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import * as helpers from '../../src/helpers/index.js'; + +let fd; + +try { + const fn = path.resolve(__dirname, 'autogen_helpers.ts'); + fd = fs.openSync(fn, 'w+'); + fs.writeSync(fd, 'import * as helpers from \'../helpers\';\n\n'); + + fs.writeSync(fd, 'const testKeys = [];\n'); + for (const key of Object.keys(helpers)) { + if (key[0] !== '_' && typeof helpers[key] === 'function') { + fs.writeSync(fd, `testKeys.push(helpers.${key});\n`); + } + } +} finally { + if (fd !== undefined) { + fs.closeSync(fd); + } +} diff --git a/scriptApl/chart.js/types/tests/chart_types.ts b/scriptApl/chart.js/types/tests/chart_types.ts new file mode 100644 index 00000000..f05bda4d --- /dev/null +++ b/scriptApl/chart.js/types/tests/chart_types.ts @@ -0,0 +1,69 @@ +import { Chart } from '../index.esm'; + +const chart = new Chart('chart', { + type: 'bar', + data: { + labels: ['1', '2', '3'], + datasets: [{ + data: [1, 2, 3] + }, + { + data: [1, 2, 3], + categoryPercentage: 10 + }], + } +}); + +const chart2 = new Chart('chart', { + type: 'bar', + data: { + labels: ['1', '2', '3'], + datasets: [{ + type: 'line', + data: [1, 2, 3], + // @ts-expect-error should not allow bar properties to be defined in a line dataset + categoryPercentage: 10 + }, + { + type: 'line', + pointBackgroundColor: 'red', + data: [1, 2, 3] + }, + { + data: [1, 2, 3], + categoryPercentage: 10 + }], + } +}); + +const chart3 = new Chart('chart', { + data: { + labels: ['1', '2', '3'], + datasets: [{ + type: 'bar', + data: [1, 2, 3], + categoryPercentage: 10 + }, + { + type: 'bar', + data: [1, 2, 3], + // @ts-expect-error should not allow line properties to be defined in a bar dataset + pointBackgroundColor: 'red', + }], + } +}); + +// @ts-expect-error all datasets should have a type property or a default fallback type should be set +const chart4 = new Chart('chart', { + data: { + labels: ['1', '2', '3'], + datasets: [{ + type: 'bar', + data: [1, 2, 3], + categoryPercentage: 10 + }, + { + data: [1, 2, 3] + }], + } +}); diff --git a/scriptApl/chart.js/types/tests/controllers/bubble_chart_options.ts b/scriptApl/chart.js/types/tests/controllers/bubble_chart_options.ts new file mode 100644 index 00000000..e036037e --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/bubble_chart_options.ts @@ -0,0 +1,22 @@ +import { Chart, ChartOptions } from '../../index.esm'; + +const chart = new Chart('test', { + type: 'bubble', + data: { + datasets: [] + }, + options: { + scales: { + x: { + min: 0, + max: 30, + ticks: {} + }, + y: { + min: 0, + max: 30, + ticks: {}, + }, + } + } +}); diff --git a/scriptApl/chart.js/types/tests/controllers/doughnut_meta_total.ts b/scriptApl/chart.js/types/tests/controllers/doughnut_meta_total.ts new file mode 100644 index 00000000..5a57295c --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/doughnut_meta_total.ts @@ -0,0 +1,16 @@ +import { Chart, ChartMeta, Element } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'doughnut', + data: { + labels: [], + datasets: [{ + data: [], + }] + }, +}); + +// A cast is required because the exact type of ChartMeta will vary with +// mixed charts +const meta = >chart.getDatasetMeta(0); +const total = meta.total; diff --git a/scriptApl/chart.js/types/tests/controllers/doughnut_offset.ts b/scriptApl/chart.js/types/tests/controllers/doughnut_offset.ts new file mode 100644 index 00000000..58f7546b --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/doughnut_offset.ts @@ -0,0 +1,15 @@ +import { Chart, ChartMeta, Element } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'doughnut', + data: { + labels: [], + datasets: [{ + data: [], + offset: 40, + }] + }, + options: { + offset: 20, + } +}); diff --git a/scriptApl/chart.js/types/tests/controllers/doughnut_outer_radius.ts b/scriptApl/chart.js/types/tests/controllers/doughnut_outer_radius.ts new file mode 100644 index 00000000..e1074f39 --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/doughnut_outer_radius.ts @@ -0,0 +1,14 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'doughnut', + data: { + labels: [], + datasets: [{ + data: [], + }] + }, + options: { + radius: () => Math.random() > 0.5 ? 50 : '50%', + } +}); diff --git a/scriptApl/chart.js/types/tests/controllers/line_scriptable_parsed_data.ts b/scriptApl/chart.js/types/tests/controllers/line_scriptable_parsed_data.ts new file mode 100644 index 00000000..da88d0ec --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/line_scriptable_parsed_data.ts @@ -0,0 +1,14 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + backgroundColor: (context) => { + return context.parsed.y > 10 ? 'green' : 'red'; + } + }] + }, +}); diff --git a/scriptApl/chart.js/types/tests/controllers/line_segments.ts b/scriptApl/chart.js/types/tests/controllers/line_segments.ts new file mode 100644 index 00000000..9e99e3d2 --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/line_segments.ts @@ -0,0 +1,16 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + segment: { + backgroundColor: ctx => ctx.p0.skip ? 'transparent' : undefined, + borderColor: ctx => ctx.p0.skip ? 'gray' : undefined, + borderWidth: ctx => ctx.p1.parsed.y > 10 ? 5 : undefined, + } + }] + }, +}); diff --git a/scriptApl/chart.js/types/tests/controllers/line_span_gaps.ts b/scriptApl/chart.js/types/tests/controllers/line_span_gaps.ts new file mode 100644 index 00000000..040c9a99 --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/line_span_gaps.ts @@ -0,0 +1,32 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + datasets: [ + { + label: 'Cats', + data: [], + } + ] + }, + options: { + elements: { + line: { + spanGaps: true + } + }, + scales: { + x: { + type: 'linear', + min: 1, + max: 10 + }, + y: { + type: 'linear', + min: 0, + max: 50 + } + } + } +}); diff --git a/scriptApl/chart.js/types/tests/controllers/line_styling_array.ts b/scriptApl/chart.js/types/tests/controllers/line_styling_array.ts new file mode 100644 index 00000000..3b6c6733 --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/line_styling_array.ts @@ -0,0 +1,13 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [], + backgroundColor: ['red', 'blue'], + hoverBackgroundColor: ['red', 'blue'], + }] + }, +}); diff --git a/scriptApl/chart.js/types/tests/controllers/radar_dataset_indexable_options.ts b/scriptApl/chart.js/types/tests/controllers/radar_dataset_indexable_options.ts new file mode 100644 index 00000000..0c66f23f --- /dev/null +++ b/scriptApl/chart.js/types/tests/controllers/radar_dataset_indexable_options.ts @@ -0,0 +1,26 @@ +import { Chart, ChartOptions } from '../../index.esm'; + +const chart = new Chart('test', { + type: 'radar', + data: { + labels: ['a', 'b', 'c'], + datasets: [{ + data: [1, 2, 3], + backgroundColor: ['red', 'green', 'blue'], + borderColor: ['red', 'green', 'blue'], + hoverRadius: [1, 2, 3], + pointBackgroundColor: ['red', 'green', 'blue'], + pointBorderColor: ['red', 'green', 'blue'], + pointBorderWidth: [1, 2, 3], + pointHitRadius: [1, 2, 3], + pointHoverBackgroundColor: ['red', 'green', 'blue'], + pointHoverBorderColor: ['red', 'green', 'blue'], + pointHoverBorderWidth: [1, 2, 3], + pointHoverRadius: [1, 2, 3], + pointRadius: [1, 2, 3], + pointRotation: [1, 2, 3], + pointStyle: ['circle', 'cross', 'crossRot'], + radius: [1, 2, 3], + }] + }, +}); diff --git a/scriptApl/chart.js/types/tests/data_types.ts b/scriptApl/chart.js/types/tests/data_types.ts new file mode 100644 index 00000000..1740d8e6 --- /dev/null +++ b/scriptApl/chart.js/types/tests/data_types.ts @@ -0,0 +1,20 @@ +import { Chart } from '../index.esm'; + +const chart = new Chart('chart', { + type: 'bar', + data: { + labels: ['1', '2', '3'], + datasets: [{ data: [[1, 2], [1, 2], [1, 2]] }], + } +}); + +const chart2 = new Chart('chart2', { + type: 'bar', + data: { + datasets: [{ + data: [{ id: 'Sales', nested: { value: 1500 } }, { id: 'Purchases', nested: { value: 500 } }], + }], + }, + options: { parsing: { xAxisKey: 'id', yAxisKey: 'nested.value' }, + }, +}); diff --git a/scriptApl/chart.js/types/tests/dataset_null_data.ts b/scriptApl/chart.js/types/tests/dataset_null_data.ts new file mode 100644 index 00000000..ae13c6a2 --- /dev/null +++ b/scriptApl/chart.js/types/tests/dataset_null_data.ts @@ -0,0 +1,16 @@ +import { ChartDataset } from '../index.esm'; + +const dataset: ChartDataset = { + data: [10, null, 20], +}; + +const lineDataset: ChartDataset<'line'> = { + data: [10, null, 20], +}; +const scatterDataset: ChartDataset<'scatter'> = { + data: [10, null, 20], +}; +const radarDataset: ChartDataset<'radar'> = { + data: [10, null, 20], +}; + diff --git a/scriptApl/chart.js/types/tests/defaults.ts b/scriptApl/chart.js/types/tests/defaults.ts new file mode 100644 index 00000000..a3e8e96f --- /dev/null +++ b/scriptApl/chart.js/types/tests/defaults.ts @@ -0,0 +1,30 @@ +import { Chart } from '../index.esm'; + +Chart.defaults.scales.time.time.minUnit = 'day'; + +Chart.defaults.plugins.title.display = false; + +Chart.defaults.datasets.bar.backgroundColor = 'red'; + +Chart.defaults.animation = { duration: 500 }; + +Chart.defaults.font.size = 8; + +// @ts-expect-error should be number +Chart.defaults.font.size = '8'; + +// @ts-expect-error should be number +Chart.defaults.font.size = () => '10'; + +Chart.defaults.font = { + family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + size: 10 +}; + +Chart.defaults.layout = { + padding: { + bottom: 10, + }, +}; + +Chart.defaults.plugins.tooltip.boxPadding = 3; diff --git a/scriptApl/chart.js/types/tests/elements/scriptable_element_options.ts b/scriptApl/chart.js/types/tests/elements/scriptable_element_options.ts new file mode 100644 index 00000000..c81892d7 --- /dev/null +++ b/scriptApl/chart.js/types/tests/elements/scriptable_element_options.ts @@ -0,0 +1,50 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [] + }, + options: { + elements: { + line: { + borderWidth: () => 2, + }, + point: { + pointStyle: (ctx) => 'star', + } + } + } +}); + +const chart2 = new Chart('id', { + type: 'bar', + data: { + labels: [], + datasets: [] + }, + options: { + elements: { + bar: { + borderWidth: (ctx) => 2, + } + } + } +}); + +const chart3 = new Chart('id', { + type: 'doughnut', + data: { + labels: [], + datasets: [] + }, + options: { + elements: { + arc: { + borderWidth: (ctx) => 3, + borderJoinStyle: (ctx) => 'miter' + } + } + } +}); diff --git a/scriptApl/chart.js/types/tests/extensions/plugin.ts b/scriptApl/chart.js/types/tests/extensions/plugin.ts new file mode 100644 index 00000000..fcb0bd0e --- /dev/null +++ b/scriptApl/chart.js/types/tests/extensions/plugin.ts @@ -0,0 +1,28 @@ +import { Chart } from '../../index.esm'; + +Chart.register({ + id: 'my-plugin', + afterDraw: (chart: Chart) => { + // noop + } +}); + +Chart.register([{ + id: 'my-plugin', + afterDraw: (chart: Chart) => { + // noop + }, +}]); + +// @ts-expect-error not assignable +Chart.register({ + id: 'fail', + noComponentHasThisMethod: () => 'test' +}); + +// @ts-expect-error missing id +Chart.register([{ + afterDraw: (chart: Chart) => { + // noop + }, +}]); diff --git a/scriptApl/chart.js/types/tests/extensions/scale.ts b/scriptApl/chart.js/types/tests/extensions/scale.ts new file mode 100644 index 00000000..fdf1c89e --- /dev/null +++ b/scriptApl/chart.js/types/tests/extensions/scale.ts @@ -0,0 +1,48 @@ +import { AnyObject } from '../../basic'; +import { CartesianScaleOptions, Chart, Scale } from '../../index.esm'; + +export type TestScaleOptions = CartesianScaleOptions & { + testOption?: boolean +} + +export class TestScale extends Scale { + static id: 'test'; + + getBasePixel(): number { + return 0; + } + + testMethod(): void { + // + } +} + +declare module '../../index.esm' { + interface CartesianScaleTypeRegistry { + test: { + options: TestScaleOptions + } + } +} + + +Chart.register(TestScale); + +const chart = new Chart('id', { + type: 'line', + data: { + datasets: [] + }, + options: { + scales: { + x: { + type: 'test', + position: 'bottom', + testOption: true, + min: 0 + } + } + } +}); + +Chart.unregister([TestScale]); diff --git a/scriptApl/chart.js/types/tests/helpers/options.ts b/scriptApl/chart.js/types/tests/helpers/options.ts new file mode 100644 index 00000000..9fa22225 --- /dev/null +++ b/scriptApl/chart.js/types/tests/helpers/options.ts @@ -0,0 +1,10 @@ +import { createContext } from '../../helpers/helpers.options'; + +const context1 = createContext(null, { type: 'test1', parent: true }); +const context2 = createContext(context1, { type: 'test2' }); + +const sSest: string = context1.type + context2.type; +const bTest: boolean = context1.parent && context2.parent; + +// @ts-expect-error Property 'notThere' does not exist on type '{ type: string; parent: boolean; } & { type: string; }' +context2.notThere = ''; diff --git a/scriptApl/chart.js/types/tests/interaction.ts b/scriptApl/chart.js/types/tests/interaction.ts new file mode 100644 index 00000000..e5df1da1 --- /dev/null +++ b/scriptApl/chart.js/types/tests/interaction.ts @@ -0,0 +1,17 @@ +import { + Chart, ChartData, ChartConfiguration, Element +} from '../index.esm'; + +const data: ChartData<'line'> = { datasets: [] }; +const chartItem = 'item'; +const config: ChartConfiguration<'line'> = { type: 'line', data }; +const chart: Chart = new Chart(chartItem, config); + +type Item = { + element: Element, + datasetIndex: number, + index: number +} + +const elements: Item[] = []; +chart.updateHoverStyle(elements, 'dataset', true); diff --git a/scriptApl/chart.js/types/tests/layout/position.ts b/scriptApl/chart.js/types/tests/layout/position.ts new file mode 100644 index 00000000..87f249e2 --- /dev/null +++ b/scriptApl/chart.js/types/tests/layout/position.ts @@ -0,0 +1,11 @@ +import { LayoutPosition } from '../../index.esm'; + +const left: LayoutPosition = 'left'; +const right: LayoutPosition = 'right'; +const top: LayoutPosition = 'top'; +const bottom: LayoutPosition = 'bottom'; +const center: LayoutPosition = 'center'; +const axis: LayoutPosition = { x: 10 }; + +// @ts-expect-error invalid position +const invalid: LayoutPosition = 'none'; diff --git a/scriptApl/chart.js/types/tests/options.ts b/scriptApl/chart.js/types/tests/options.ts new file mode 100644 index 00000000..0aab0f0f --- /dev/null +++ b/scriptApl/chart.js/types/tests/options.ts @@ -0,0 +1,33 @@ +import { Chart } from '../index.esm'; + +const chart = new Chart('test', { + type: 'bar', + data: { + labels: ['a'], + datasets: [{ + data: [1], + }, { + type: 'line', + data: [{ x: 1, y: 1 }] + }] + }, + options: { + animation: { + duration: 500 + }, + backgroundColor: 'red', + datasets: { + line: { + animation: { + duration: 600 + }, + backgroundColor: 'blue', + } + }, + elements: { + point: { + backgroundColor: 'red' + } + } + } +}); diff --git a/scriptApl/chart.js/types/tests/overrides.ts b/scriptApl/chart.js/types/tests/overrides.ts new file mode 100644 index 00000000..8c2e02d6 --- /dev/null +++ b/scriptApl/chart.js/types/tests/overrides.ts @@ -0,0 +1,10 @@ +import { Chart } from '../index.esm'; + +Chart.overrides.bar.scales.x.type = 'time'; + +Chart.overrides.bar.plugins.title.display = false; + +Chart.overrides.line.datasets.bar.backgroundColor = 'red'; + +Chart.overrides.line.animation = false; +Chart.overrides.line.datasets.bar.animation = { duration: 100 }; diff --git a/scriptApl/chart.js/types/tests/parsed.data.type.ts b/scriptApl/chart.js/types/tests/parsed.data.type.ts new file mode 100644 index 00000000..c5476eaa --- /dev/null +++ b/scriptApl/chart.js/types/tests/parsed.data.type.ts @@ -0,0 +1,18 @@ +import { ParsedDataType } from '../index.esm'; + +interface test { + pie: ParsedDataType<'pie'>, + line: ParsedDataType<'line'>, + testA: ParsedDataType<'pie' | 'line' | 'bar'> + testB: ParsedDataType<'pie' | 'line' | 'bar'> + testC: ParsedDataType<'pie' | 'line' | 'bar'> +} + +const testImpl: test = { + pie: 1, + line: { x: 1, y: 2 }, + testA: 1, + testB: { x: 1, y: 2 }, + // @ts-expect-error testC should be limited to pie/line datatypes + testC: 'test' +}; diff --git a/scriptApl/chart.js/types/tests/plugins/defaults.ts b/scriptApl/chart.js/types/tests/plugins/defaults.ts new file mode 100644 index 00000000..ec54b34f --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/defaults.ts @@ -0,0 +1,11 @@ +import { defaults } from '../../index.esm'; + +// https://github.com/chartjs/Chart.js/issues/8711 +const original = defaults.plugins.legend.labels.generateLabels; + +defaults.plugins.legend.labels.generateLabels = function(chart) { + return [{ + datasetIndex: 0, + text: 'test' + }]; +}; diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.decimation/decimation_algorithm.ts b/scriptApl/chart.js/types/tests/plugins/plugin.decimation/decimation_algorithm.ts new file mode 100644 index 00000000..978764bd --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.decimation/decimation_algorithm.ts @@ -0,0 +1,72 @@ +import { Chart, DecimationAlgorithm } from '../../../index.esm'; + +const chart = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + decimation: { + algorithm: DecimationAlgorithm.lttb, + } + } + } +}); + + +const chart2 = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + decimation: { + algorithm: 'lttb', + } + } + } +}); + + +const chart3 = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + decimation: { + algorithm: DecimationAlgorithm.minmax, + } + } + } +}); + + +const chart4 = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + decimation: { + algorithm: 'min-max', + } + } + } +}); diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.filler/fill_target_true.ts b/scriptApl/chart.js/types/tests/plugins/plugin.filler/fill_target_true.ts new file mode 100644 index 00000000..d9dc2106 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.filler/fill_target_true.ts @@ -0,0 +1,6 @@ +import { ChartDataset } from '../../../index.esm'; + +const dataset: ChartDataset = { + data: [], + fill: true, +}; diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/chart.tooltip.ts b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/chart.tooltip.ts new file mode 100644 index 00000000..66c82441 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/chart.tooltip.ts @@ -0,0 +1,15 @@ +import { Chart } from '../../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, +}); + +const tooltip = chart.tooltip; + +const active = tooltip && tooltip.getActiveElements(); diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_dataset_type.ts b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_dataset_type.ts new file mode 100644 index 00000000..989a7cc4 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_dataset_type.ts @@ -0,0 +1,22 @@ +import { Chart } from '../../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + tooltip: { + callbacks: { + label: (item) => { + return `Y Axis ${item.dataset.yAxisID}`; + } + } + } + } + }, +}); diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data.ts b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data.ts new file mode 100644 index 00000000..93b7a900 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data.ts @@ -0,0 +1,22 @@ +import { Chart } from '../../../index.esm'; + +const chart = new Chart('id', { + type: 'bar', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + tooltip: { + callbacks: { + label: (item) => { + return `Foo data ${item.parsed.y}`; + } + } + } + } + }, +}); diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts new file mode 100644 index 00000000..694943e6 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts @@ -0,0 +1,16 @@ +import { Chart } from '../../../index.esm'; + +Chart.overrides.bubble.plugins.tooltip.callbacks.label = (item) => { + const { x, y, _custom: r } = item.parsed; + return `${item.label}: (${x}, ${y}, ${r})`; +}; + +const chart = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, +}); diff --git a/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_scriptable_background_color.ts b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_scriptable_background_color.ts new file mode 100644 index 00000000..a55d4454 --- /dev/null +++ b/scriptApl/chart.js/types/tests/plugins/plugin.tooltip/tooltip_scriptable_background_color.ts @@ -0,0 +1,18 @@ +import { Chart } from '../../../index.esm'; + +const chart = new Chart('id', { + type: 'bar', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + tooltip: { + backgroundColor: (ctx) => 'black', + } + } + }, +}); diff --git a/scriptApl/chart.js/types/tests/register.ts b/scriptApl/chart.js/types/tests/register.ts new file mode 100644 index 00000000..7256ef8b --- /dev/null +++ b/scriptApl/chart.js/types/tests/register.ts @@ -0,0 +1,54 @@ +import { + Chart, + ArcElement, + LineElement, + BarElement, + PointElement, + BarController, + BubbleController, + DoughnutController, + LineController, + PieController, + PolarAreaController, + RadarController, + ScatterController, + CategoryScale, + LinearScale, + LogarithmicScale, + RadialLinearScale, + TimeScale, + TimeSeriesScale, + Decimation, + Filler, + Legend, + Title, + SubTitle, + Tooltip +} from '../index.esm'; + +Chart.register( + ArcElement, + LineElement, + BarElement, + PointElement, + BarController, + BubbleController, + DoughnutController, + LineController, + PieController, + PolarAreaController, + RadarController, + ScatterController, + CategoryScale, + LinearScale, + LogarithmicScale, + RadialLinearScale, + TimeScale, + TimeSeriesScale, + Decimation, + Filler, + Legend, + Title, + SubTitle, + Tooltip +); diff --git a/scriptApl/chart.js/types/tests/scales/chart_options.ts b/scriptApl/chart.js/types/tests/scales/chart_options.ts new file mode 100644 index 00000000..a0b02d79 --- /dev/null +++ b/scriptApl/chart.js/types/tests/scales/chart_options.ts @@ -0,0 +1,12 @@ +import { ChartOptions } from '../../index.esm'; + +const chartOptions: ChartOptions<'line'> = { + scales: { + x: { + type: 'time', + time: { + unit: 'year' + } + }, + } +}; diff --git a/scriptApl/chart.js/types/tests/scales/options.ts b/scriptApl/chart.js/types/tests/scales/options.ts new file mode 100644 index 00000000..cc1dc901 --- /dev/null +++ b/scriptApl/chart.js/types/tests/scales/options.ts @@ -0,0 +1,66 @@ +import { Chart, ScaleOptions } from '../../index.esm'; + +const chart = new Chart('test', { + type: 'bar', + data: { + labels: ['a'], + datasets: [{ + data: [1], + }, { + type: 'line', + data: [{ x: 1, y: 1 }] + }] + }, + options: { + scales: { + x: { + type: 'time', + time: { + unit: 'year' + } + }, + x1: { + // @ts-expect-error Type '"linear"' is not assignable to type '"timeseries" | undefined'. + type: 'linear', + time: { + // @ts-expect-error Type 'string' is not assignable to type 'false | "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year" | undefined'. + unit: 'year' + } + }, + y: { + ticks: { + callback(tickValue) { + const value = this.getLabelForValue(tickValue as number); + return '$' + value; + } + } + } + } + } +}); + +function makeChartScale(range: number): ScaleOptions<'linear'> { + return { + type: 'linear', + min: 0, + suggestedMax: range, + }; +} + +const composedChart = new Chart('test2', { + type: 'bar', + data: { + labels: ['a'], + datasets: [{ + data: [1], + }, { + type: 'line', + data: [{ x: 1, y: 1 }] + }] + }, + options: { + scales: { + x: makeChartScale(10) + } + } +}); diff --git a/scriptApl/chart.js/types/tests/scales/time_string_max.ts b/scriptApl/chart.js/types/tests/scales/time_string_max.ts new file mode 100644 index 00000000..530b1c54 --- /dev/null +++ b/scriptApl/chart.js/types/tests/scales/time_string_max.ts @@ -0,0 +1,30 @@ +import { Chart } from '../../index.esm'; + +const chart = new Chart('id', { + type: 'line', + data: { + datasets: [ + { + label: 'Pie', + data: [ + ], + borderColor: '#000000', + backgroundColor: '#00FF00' + } + ] + }, + options: { + scales: { + x: { + type: 'time', + min: '2021-01-01', + max: '2021-12-01' + }, + y: { + type: 'linear', + min: 0, + max: 10 + } + } + } +}); diff --git a/scriptApl/chart.js/types/tests/scriptable.ts b/scriptApl/chart.js/types/tests/scriptable.ts new file mode 100644 index 00000000..db72edb2 --- /dev/null +++ b/scriptApl/chart.js/types/tests/scriptable.ts @@ -0,0 +1,22 @@ +import { ChartType, Scriptable, ScriptableContext } from '../index.esm'; + +interface test { + pie?: Scriptable>, + line?: Scriptable>, + testA?: Scriptable> + testB?: Scriptable> + testC?: Scriptable> + testD?: Scriptable> +} + +const testImpl: test = { + pie: (ctx) => ctx.parsed + ctx.chart.width, + line: (ctx) => ctx.parsed.x + ctx.parsed.y, + testA: (ctx) => ctx.parsed + ctx.dataset.data[0], + testB: (ctx) => ctx.parsed.x + ctx.parsed.y, + // @ts-expect-error combined type should not be any + testC: (ctx) => ctx.fail, + // combined types are intersections and permit invalid usage + testD: (ctx) => ctx.parsed + ctx.parsed.x + ctx.parsed.r + ctx.parsed._custom.barEnd +}; + diff --git a/scriptApl/chart.js/types/tests/scriptable_core_chart_options.ts b/scriptApl/chart.js/types/tests/scriptable_core_chart_options.ts new file mode 100644 index 00000000..2c81f592 --- /dev/null +++ b/scriptApl/chart.js/types/tests/scriptable_core_chart_options.ts @@ -0,0 +1,14 @@ +import { ChartConfiguration } from '../index.esm'; + +const getConfig = (): ChartConfiguration<'bar'> => { + return { + type: 'bar', + data: { + datasets: [] + }, + options: { + backgroundColor: (context) => context.active ? '#fff' : undefined, + } + }; +}; + diff --git a/scriptApl/chart.js/types/tests/test_instance_assignment.ts b/scriptApl/chart.js/types/tests/test_instance_assignment.ts new file mode 100644 index 00000000..044f53f7 --- /dev/null +++ b/scriptApl/chart.js/types/tests/test_instance_assignment.ts @@ -0,0 +1,23 @@ +import { Chart } from '../index.esm'; + +const chart = new Chart('id', { + type: 'scatter', + data: { + labels: [], + datasets: [{ + data: [{ x: 0, y: 1 }], + pointRadius: (ctx) => ctx.parsed.x, + }] + }, +}); + +interface Context { + chart: Chart; +} + +const ctx: Context = { + chart: chart +}; + +// @ts-expect-error Type '{ x: number; y: number; }[]' is not assignable to type 'number[]'. +const dataArray: number[] = chart.data.datasets[0].data; diff --git a/scriptApl/chart.js/types/tests/tsconfig.json b/scriptApl/chart.js/types/tests/tsconfig.json new file mode 100644 index 00000000..9bbed3c5 --- /dev/null +++ b/scriptApl/chart.js/types/tests/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES6", + "moduleResolution": "Node", + "alwaysStrict": true, + "strict": true, + "noEmit": true + }, + "include": [ + "./**/*.ts", + "../index.esm.d.ts" + ] +} diff --git a/scriptApl/chart.js/types/utils.d.ts b/scriptApl/chart.js/types/utils.d.ts new file mode 100644 index 00000000..8313d9fa --- /dev/null +++ b/scriptApl/chart.js/types/utils.d.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/ban-types */ + +// DeepPartial implementation taken from the utility-types NPM package, which is +// Copyright (c) 2016 Piotr Witek (http://piotrwitek.github.io) +// and used under the terms of the MIT license +export type DeepPartial = T extends Function + ? T + : T extends Array + ? _DeepPartialArray + : T extends object + ? _DeepPartialObject + : T | undefined; + +type _DeepPartialArray = Array> +type _DeepPartialObject = { [P in keyof T]?: DeepPartial }; + +export type DistributiveArray = [T] extends [unknown] ? Array : never + +// https://stackoverflow.com/a/50375286 +export type UnionToIntersection = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never; + diff --git a/scriptApl/dashboard.js b/scriptApl/dashboard.js new file mode 100644 index 00000000..08b32742 --- /dev/null +++ b/scriptApl/dashboard.js @@ -0,0 +1,142 @@ +const request = ({route, method}, handleData) => { + $.ajax({ + type: method, + url: 'index.php?idProg=365&a=1&relatorio=' + route, + headers: { + Accept: "application/json", + "Content-Type": "application/json" + }, + success: handleData, + error: function (err) { + console.log(err); + } + }); +}; + +const pausaAgente = () => { + request({ + method: "GET", route: "pausaAgente" + }, (res) => { + let data = JSON.parse(res) + const config = { + type: "polarArea", + data: data, + options: { + plugins: { + legend: { + display: false + } + } + } + } + new Chart(document.getElementById("pausaAgente"), config); + }); +}; + + +const recebidas = () => { + request({ + method: "GET", route: "recebidas" + }, (res) => { + let data = JSON.parse(res) + $('#recebidas').text(data.datasets[0].data); + }); +}; + +const originadas = () => { + request({ + method: "GET", route: "originadas" + }, (res) => { + let data = JSON.parse(res) + $('#originadas').text(data.datasets[0].data); + }); +}; + +const conectados = () => { + request({ + method: "GET", route: "conectados" + }, (res) => { + let data = JSON.parse(res) + $('#conectados').text(data.datasets[0].data); + }); +}; + +const espera = () => { + request({ + method: "GET", route: "espera" + }, (res) => { + let data = JSON.parse(res) + $('#espera').text(data.datasets[0].data); + }); +}; + +const chamadasGeral = () => { + request({ + method: "GET", route: "chamadasGeral" + }, (res) => { + let data = JSON.parse(res) + const config = { + type: "doughnut", + data: data, + options: { + plugins: { + legend: { + display: false + } + } + } + } + new Chart(document.getElementById("chamadasGeral").getContext("2d"), config); + }) +}; + +const totalmes = () => { + request({ + method: "GET", route: "totalmes" + }, (res) => { + let data = JSON.parse(res) + const config = { + type: "line", + data: data, + options: { + plugins: { + legend: { + display: false, + } + } + } + } + new Chart(document.getElementById("totalmes"), config); + }) +}; + +const indiceAbandonadas = () => { + request({ + method: "GET", route: "indiceAbandonadas" + }, (res) => { + let data = JSON.parse(res) + const config = { + type: "bar", + data: data, + options: { + plugins: { + legend: { + display: false, + } + } + } + } + new Chart(document.getElementById("indiceAbandonadas"), config); + }) +}; + +$(() => { + const relatorios = ['recebidas', 'originadas', 'conectados', 'espera', 'chamadasGeral', 'indiceAbandonadas', 'totalmes', 'pausaAgente'] + + setInterval(() => { + relatorios.forEach((e) => { + let g = new Function(e + "()") + g() + }) + }, 3000) +}) \ No newline at end of file diff --git a/supervisao/dashboard.php b/supervisao/dashboard.php new file mode 100644 index 00000000..4bf4a51e --- /dev/null +++ b/supervisao/dashboard.php @@ -0,0 +1,301 @@ +getMessage(); + } + exit; + } + + /* + * Chamada do template do monitor. + */ + GetTemplate($smarty, 'supervisao/dashboard.tpl'); + + ############################################################################ + ######### FUNCOES IMPORTANTES ######### + ############################################################################ + + /** + * ADICIONA OS RELATORIOS QUE SERAO UTILIZADOS + * + * @param array $relatorio + */ + function relatorios($relatorio) { + if (function_exists($relatorio)) { + $relatorio(); + exit(); + } else { + echo 'Não foi possível encontrar a página!'; + } + } + + /** + * FORMATA DADOS COM O PROPRIO NOME NO VALOR DA TABELA COM MODO ASSOCIATIVO + * + * @param array $data + */ + function formatAssocJS($data) { + $posicao = 0; + $label = []; + $js = []; + $dataset = []; + foreach ($data as $key => $value) { + $posicao++; + $label[] = $key; + $dataset['data'][] = $value; + } + $js['datasets'][] = $dataset; + $js['labels'] = $label; + SetStringJS($js); + } + + /** + * FORMATA DADOS COM O PROPRIO NOME NO VALOR DA TABELA COM MODO MULTIDIMENSIONAL + * + * @param array $data + */ + function formatAllJS($data, $params = []) { + $posicao = 0; + $label = []; + $js = []; + $dataset = []; + + foreach ($data as $value) { + $posicao++; + $label[] = $value['label']; + $dataset['data'][] = $value['data']; + } + $js['labels'] = $label; + if($params['backgroudColor']){ + $dataset['backgroundColor'] = $params['backgroudColor']; + } else { + $dataset['backgroundColor'] = backgroundColor(count($js['labels'])); + } + + $js['datasets'][] = $dataset; + + SetStringJS($js); + } + + /** + * ADICIONA VALORES EM ARRAY PARA UMA VARIARAVEL GLOBAL + * + * @global array $strJS + * @param array $js + */ + function SetStringJS($js) { + global $strJS; + $strJS = $js; + } + + /** + * RETORNA OS DADOS EM JSON DA VARIAVEL GLOBAL PARA SER CONSUMIDA NO RELATORIO EM CHART + * + * @global array $strJS + * @return string + */ + function GetStringJS() { + global $strJS; + return json_encode($strJS); + } + + ############################################################################ + ######### RELATORIOS ######### + ############################################################################ + + function statusAgente(){ + $query = "SELECT + SUM(CASE WHEN(status = 'PAUSA')THEN 1 ELSE 0 END) AS pausa, + SUM(CASE WHEN(status = 'OCUPADO')THEN 1 ELSE 0 END) AS ocupado, + SUM(CASE WHEN(status = 'LIVRE')THEN 1 ELSE 0 END) AS livre + FROM pbx_supervisor_agentes"; + $res = exec_query($query); + + $data = [ + ['label' => 'livre', 'data' => $res['livre']], + ['label' => 'ocupado', 'data' => $res['ocupado']], + ['label' => 'pausa', 'data' => $res['pausa']], + ]; + + formatAllJS($data, ['backgroudColor' => ['rgb(114,193,0)', 'rgb(255,182,15)', 'rgb(255,15,15)']]); + echo GetStringJS(); + } + + function chamadasGeral() { + $query = "SELECT fila as label, count(*) as data + FROM pbx_bilhetes a + LEFT JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + LEFT JOIN pbx_usuarios d ON d.matricula = substr(b.agente, 7,4) + LEFT JOIN pbx_tipo_ligacao f ON f.tplg_codigo = a.tipo_chamada + LEFT JOIN pbx_queues_grupos g ON g.nome = b.fila + WHERE data_bilhete::DATE = 'now' + AND evento NOT IN ('CONNECT', 'ENTERQUEUE','CHAMANDO', 'ATENDIDA', 'ABANDON') + GROUP BY 1"; + + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function pausaAgente() { + $query = "SELECT d.apelido AS label, count(*) AS data + FROM pbx_eventos_agentes a, pbx_motivos_pausas b, pbx_dacs c, pbx_usuarios d + WHERE b.id = a.id_motivo_pausa + AND c.id = a.id_dac + AND d.matricula = a.matricula + AND a.saida_pausa IS NOT NULL + AND entrada_pausa::DATE = 'now' + GROUP BY 1"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function recebidasAgente() { + $query = "SELECT apelido AS label, count(*) AS data + FROM pbx_bilhetes a + INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + INNER JOIN pbx_usuarios c ON c.matricula = substr(b.agente, 7,4) + WHERE data_bilhete = 'now' + AND evento IN('COMPLETEAGENT','COMPLETECALLER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL') + GROUP BY 1"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function totalmes() { + $iniday = sprintf('%s-%s-01', date('Y'), date('m')); + $endday = sprintf('%s-%s-%s', date('Y'), date('m'), GetLastDayofMonth(date('Y'), date('m'))); + + $query = "SELECT date_part('day', data_bilhete) AS label,count(*) AS data + FROM pbx_bilhetes a + INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + WHERE a.lastapp <> 'Transferred Call' + AND b.evento = 'CONNECT' + AND param1::int > 3 + AND a.data_bilhete >= '$iniday' + AND a.data_bilhete <= '$endday' + GROUP BY 1 + ORDER BY 1"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function indiceAbandonadas() { + $query = "SELECT fila AS label, count(*) AS data + FROM pbx_bilhetes a + LEFT JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + LEFT JOIN pbx_usuarios d ON d.matricula = substr(b.agente, 7,4) + LEFT JOIN pbx_tipo_ligacao f ON f.tplg_codigo = a.tipo_chamada + LEFT JOIN pbx_queues_grupos g ON g.nome = b.fila + WHERE data_bilhete = 'now' + AND evento IN ('NOANSWERS') + GROUP BY fila "; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function recebidas(){ + $query = "SELECT count(*) AS data + FROM pbx_bilhetes a + INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + WHERE data_bilhete = 'now' + AND evento IN('COMPLETEAGENT','COMPLETECALLER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL')"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function originadas(){ + $query = "SELECT count(*) AS data + FROM pbx_bilhetes a + INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2 + WHERE data_bilhete = 'now' + AND evento IN('COMPLETACALLERRAMAL','COMPLETAAGENT','COMPLETACALLER')"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function conectados(){ + $query = "SELECT count(*) as data FROM pbx_supervisor_agentes WHERE ramal IS NOT NULL"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + function espera(){ + $query = "SELECT SUM(espera::INT) AS data FROM pbx_supervisor_dacs;"; + formatAllJS(exec_query($query, 'all')); + echo GetStringJS(); + } + + ############################################################################ + ######### BANCO DE DADOS ######### + ############################################################################ + + /** + * FUNCAO PARA REALIZAR CONEXAO COM O BANCO DE DADOS + * + * @return object + * @throws Exception + */ + function connection() { + $connect = pg_connect(GetDefStrDb()); + if (pg_last_error()) { + throw new Exception("Nao foi possivel conectar no banco de dados!"); + } + return $connect; + } + + /** + * EXECUTA QUERYS NO BANCO DE DADOS + * @param string $query + * @param string $type + * @return array + * @throws Exception + */ + function exec_query($query, $type = 'assoc') { + $result = pg_query(connection(), $query); + + switch (strtoupper($type)) { + case "ASSOC": + $resp = pg_fetch_assoc($result); + break; + case "ALL": + $resp = pg_fetch_all($result); + break; + case "ROW": + $resp = pg_fetch_row($result); + break; + case "ARRAY": + $resp = pg_fetch_array($result); + break; + } + + if (!$resp) { + $resp[]['error'] = "Nao foi possivel encontrar os dados!"; + } + return $resp; + } + + function backgroundColor($qtd){ + $bck = []; + $gen = function(){ + return sprintf("rgb(%s,%s,%s)", rand(0, 255), rand(0, 255), rand(0, 255)); + }; + + for($x = 0; $x < $qtd; $x++){ + do{ + $gencolor = $gen(); + } while(in_array($gencolor, $bck)); + $bck[] = $gencolor; + } + return $bck; + } \ No newline at end of file diff --git a/templates/supervisao/dashboard.tpl b/templates/supervisao/dashboard.tpl new file mode 100644 index 00000000..d807bbf0 --- /dev/null +++ b/templates/supervisao/dashboard.tpl @@ -0,0 +1,76 @@ +{capture name="display"} + + + + + + + + + + + + +
        + + + + + + + +
        +

        CONECTADOS

        +

        Operadores conectados

        + +
        +

        ESPERA

        +

        Espera de atendimento

        + +
        +

        ORIGINADAS

        +

        Chamadas Feitas

        + +
        +

        RECEBIDAS

        +

        Chamadas Atendidas

        + +
        +
        + + + + + +
        +

        CHAMADA MÊS

        +

        Todas as ligações atendidas por operador! (Quantidade/Dia)

        + +
        +

        CHAMADAS GERAL

        +

        Todas as chamadas recebidas e oferecidas no periodo de hoje!

        +
        + +
        +
        +
        + + + + + + +
        +

        PAUSAS

        +

        Estimativas de quantidade de pausas dos operadores!

        +
        + +
        +
        +

        CHAMADAS ABANDONADAS

        + +
        +
        + + +{/capture} \ No newline at end of file